can*_*boy 9 javascript api android json ios
我只熟悉原生移动开发,而不是网络开发,所以请原谅我的天真.
移动应用程序的API通常涉及通过POST请求或从API请求GET数据.数据将作为JSON返回.为了这个例子,假设API是一个由Sinatra/Ruby驱动的简单API,它将被移动和网站使用.
使用相同范例进行网站开发的选项有哪些 - 网络前端从与移动应用程序相同的JSON端点获取数据?
我听说过AngularJS和Backbone.js的名字,但也许Sinatra就足够了?我宁愿不使用PHP.
我更喜欢轻量级的解决方案.如果可能,我希望它能够在模型更改时更新页面,但我猜这将取决于后端API更改.
如果您的服务和UI层完全分开,您将获得最大的收益.我的意思是,在没有特定UI的情况下设计您的服务,因为这样做可以为您提供最大程度的重用.我建议使用RESTful,基于Web的服务实现,因为它们为UI集成提供了很大的灵活性.现在有大量的图书馆能够从这些服务中消费数据.
我不是Ruby开发人员,但这里是Sinatra中一个简单的Web服务实现:
require 'rubygems'
require 'sinatra'
require 'lib/posts'
post '/posts'
post = Post.create! params
redirect "/posts/#{post.id}"
do
get 'posts/:id' do
@post = Post.find(params[:id])
erb :post
end
Run Code Online (Sandbox Code Playgroud)
归因:使用Sinatra和RESTClient的轻量级Web服务.
请注意,用于服务实现的实际语言/平台是无关紧要的,只要其RESTful,并返回客户端可以轻松使用的数据.完成设置后,设计Web应用程序与移动应用程序就成了选择合适的集成库的问题:
作为一个真实的例子,我当前的项目有大量的RESTFul Web服务,使用在集群JBoss服务器上运行的Java EE/JAX-RS构建.服务默认返回JSON,但也可以生成XML,并从以下位置访问:
多个不同平台/ UI使用完全相同的服务,服务端无需更改.这是我相信你想要完成的.
根据我的经验,当我开发多平台应用程序时,我会尝试使我的代码和算法尽可能可重用。因此,当我准备 API(例如使用 PHP 和 MySQL)时,我对所有平台使用相同的数据检索格式。移动项目和 Web 项目都可以通过 JSON 或 XML 读取和发送数据,所以我认为这没有什么问题。
尽管如果您将所有数据库连接集中在 API 上,您将大大减少连接(和错误)的数量。
您可以在 Foursquare 上看到一个正在运行的示例。
| 归档时间: |
|
| 查看次数: |
2869 次 |
| 最近记录: |