gal*_*gal 4 architecture design-patterns ruby-on-rails smartphone
我想构建一个可以从Web浏览器访问的应用程序,也可以从智能手机访问.
这样做的最佳方式是什么,这是我想到的2个选项:
构建将为浏览器提供服务的rails服务器,并且还将成为移动应用程序的rest api.
构建一个单独的rest API服务器,可以从移动应用程序访问,也可以从rails web服务器访问.
你怎么看 ?我相信它应该是相当标准的.你有更多的想法来构建它吗?
Ric*_*eck 10
保持1个应用服务器(运行Rails)
-
API
Rails具有非常强大的结构,您可以使用它非常简单地创建RESTful API:
#config/routes.rb
namespace :api do
resources :posts #-> domain.com/api/posts
end
#app/controllers/api/posts_controller.rb
Class API::PostsController < ApplicationController
respond_to :json
# ... your methods here
end
Run Code Online (Sandbox Code Playgroud)
这将允许您发送所需的请求
-
这样做的第二部分是mime types,如通过表示snarf.Rails通过ActionDispatch::Http::MimeNegotiation中间件允许您处理不同类型的请求,使您能够以api最有效的方式处理
这意味着您只能允许json对api控制器发出api请求- 这意味着在开发移动应用程序时,您可以将请求发送到Rails服务器,而不是单独的服务器API.
-
建议
我强烈建议使用单个服务器,运行rails
这有几个原因:
- 在Rails中创建API实际上非常简单
- 使用一台服务器可以在一个地方处理所有数据
- 保持单个服务器还可确保所有平台的用户真实性