多平台软件的架构技巧 / API
Architecture tips for multi-platform software / API
我正在创建一个多平台应用程序,主要用于 Web 界面、移动设备和 windows 应用程序。该应用程序将管理用户任务列表并将它们同步到服务器,但也会将它们存储在本地以便更快地处理数据。
到目前为止,我对建筑的想法是:
- 将大部分处理保留在客户端,最终与服务器同步。
- 开发一个 API 来提供和接收将保存在服务器上的数据(基本上只是一个 json 包装器 Web 服务)
数据流:
用户身份验证 -> 向服务器请求更新的 Json 对象 -> 填充客户端对象 -> 使用客户端对象 -> 将 json 对象发送回服务器 -> 服务器更新数据。
这是一个好方法吗?我从来没有这样做过,你们能给我一些提示吗?
我认为您的方向是正确的。这个想法是将前端与后端分离。后端应公开一组 CRUD(创建、读取、更新、删除)函数作为 RESTful JSON Web 服务。您所有不同口味的 UI(移动、网络、windows)都可以消耗相同的 API。
我建议 Web 前端一起看看 AngularJS 和 bootstrap。
关于后端,您可以使用 Jersey/JAX-RS 将其实现为一个简单的 Java 网络应用程序,或者您可以检查 Node.js + Express。
我正在创建一个多平台应用程序,主要用于 Web 界面、移动设备和 windows 应用程序。该应用程序将管理用户任务列表并将它们同步到服务器,但也会将它们存储在本地以便更快地处理数据。
到目前为止,我对建筑的想法是:
- 将大部分处理保留在客户端,最终与服务器同步。
- 开发一个 API 来提供和接收将保存在服务器上的数据(基本上只是一个 json 包装器 Web 服务)
数据流: 用户身份验证 -> 向服务器请求更新的 Json 对象 -> 填充客户端对象 -> 使用客户端对象 -> 将 json 对象发送回服务器 -> 服务器更新数据。
这是一个好方法吗?我从来没有这样做过,你们能给我一些提示吗?
我认为您的方向是正确的。这个想法是将前端与后端分离。后端应公开一组 CRUD(创建、读取、更新、删除)函数作为 RESTful JSON Web 服务。您所有不同口味的 UI(移动、网络、windows)都可以消耗相同的 API。
我建议 Web 前端一起看看 AngularJS 和 bootstrap。
关于后端,您可以使用 Jersey/JAX-RS 将其实现为一个简单的 Java 网络应用程序,或者您可以检查 Node.js + Express。