Derby with a RESTful API



我对derby非常感兴趣,昨晚我通读了文档。我目前的架构思想主要是构建一个RESTful API,供相应的富客户端应用程序使用,或者供任何访问该API的人使用。

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

我的问题是双重的。
  1. 可以用来与API接口,本质上是编写一个API适配器并将其与蒙古适配器交换。我没有看过适配器,但文档暗示编写适配器并不太难。如果接收头请求json, derby也可以为API调用生成json响应。这样,它就可以在为web应用服务的同时扮演API的角色。

  2. derby应该被视为一个完整的应用程序,而不是用于任何其他应用程序(即移动)。浏览器和手机应用之间的共同点是数据库,而不是API。没有API作为一个共同因素的缺点是功能可能在应用程序之间不一致(不是功能数量,但一个可能有bug,另一个可能没有)。

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

  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,或者你可以很容易地实现基于express路由的api。所以derby对于api, web, phonegap应用来说是完美的,对于移动应用来说也是很好的。

最新更新