5

我对 derby 非常感兴趣,并在昨晚阅读了文档。我目前的架构思想非常倾向于构建一个 RESTful API,供相应的富客户端应用程序使用,或者任何其他有权访问该 API 的人使用。

Derby 给我留下深刻印象不仅是因为它对速度的关注,而且因为它的工作方式非常像网络应该做的(URL 匹配页面)。然而,如今随着移动应用程序融入产品的趋势,如果想要同时为移动和浏览器领域开发,似乎有必要拥有一个 API。

我的问题是双重的。

  1. 可以使用 derby 与 API 进行交互,本质上是编写 API 适配器并将其与 mongoadapter 交换。我没有看过适配器,但文档暗示编写适配器并不太难。或者,如果接受标头要求 json,则 derby 可以生成对 API 调用的 json 响应。这样,它就可以在为 webapp 提供服务的同时扮演 API 的角色。

  2. derby 应该被视为一个整体的应用程序,并且根本不用于任何其他应用程序(即移动应用程序)。即浏览器和移动应用程序之间的共同因素将是数据库,而不是 API。不将 API 作为一个共同因素的不利之处在于,应用程序之间的功能可能不一致(与功能数量不同,但一个可能有问题,另一个没有)。

我非常想在我们的下一个项目中使用 derby,但需要弄清楚它是否是这项工作的工具。(顺便说一下,该项目将是一个大型 Web 应用程序,但需要进行移动集成。拥有 API 也可能是个好主意,但我不确定它的用处)

4

1 回答 1

1
  1. 我认为您可以为 derby 编写适配器以与您的 api-app(实际存储数据的位置)进行通信,但是此适配器将具有预定义的方法并且不会反映您的 api。所以业务逻辑可能会重复(derby 应用程序和 api 应用程序),并且您不会从该解决方案中获得很多收益。

  2. 我建议使用 derby 作为 api-app。从版本 0.6(即将推出)开始,您可以在没有服务器端的情况下使用客户端 derby 应用程序,这意味着您可以在 phonegap 中使用它。derby 还具有基于 share.js 的内置客户端同步和冲突解决。您可以将它用于“盒子”的 web 和 phonegap 应用程序,但对于本机移动应用程序,您应该编写 share.js 客户端来使用它。share.js 中还有内置的 rest api,或者您可以轻松地基于快速路由实现您的 api。所以 derby 非常适合 api、web、phonegap 应用程序和移动应用程序。

于 2013-11-16T10:14:17.800 回答