我即将从头开始创建一堆Web应用程序.(请参阅http://50pop.com/code获取概述.)我希望能够从许多不同的客户端访问它们:前端网站,智能手机应用程序,后端网络服务等.所以我真的想要一个每个JSON REST API.
此外,我更喜欢在后端工作,所以我梦想着我完全专注于API,并雇用其他人来制作前端用户界面,无论是网站,iPhone,Android还是其他应用.
请帮我决定采取哪种方法:
一起在铁路上
制作一个非常标准的Rails网络应用程序.在控制器中,执行respond_with开关,以提供JSON或HTML.然后JSON响应是我的API.
亲:很多先例.伟大的标准和许多以这种方式做事的例子.
Con:不一定要API与Web应用程序相同.不喜欢if/then respond_with切换方法.混合两个非常不同的东西(UI + API).
REST SERVER + JAVASCRIPT-HEAVY CLIENT
制作仅限JSON的REST API服务器.使用Backbone或Ember.js直接访问客户端JavaScript,在浏览器中显示模板.
亲:我喜欢API和客户端的分离.聪明的人说这是要走的路.理论上很棒.似乎前沿和令人兴奋.
骗局:没有多少先例.这方面的例子并不多.公共示例(twitter.com)感觉迟钝,甚至转向远离这种方法.
REST服务器+服务器端HTML客户端
制作仅限JSON的REST API服务器.创建一个基本的HTML网站客户端,仅访问REST API.减少客户端JavaScript.
亲:我喜欢API和客户端的分离.但是提供纯HTML5非常简单,而且不是客户密集型的.
骗局:没有多少先例.这方面的例子并不多.框架也不支持这一点.不知道如何处理它.
特别是从经验中寻求建议,而不仅仅是在理论上.