构建移动和Web的后端

gal*_*gal 4 architecture design-patterns ruby-on-rails smartphone

我想构建一个可以从Web浏览器访问的应用程序,也可以从智能手机访问.

这样做的最佳方式是什么,这是我想到的2个选项:

  1. 构建将为浏览器提供服务的rails服务器,并且还将成为移动应用程序的rest api.

  2. 构建一个单独的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类型

这样做的第二部分是mime types,如通过表示snarf.Rails通过ActionDispatch::Http::MimeNegotiation中间件允许您处理不同类型的请求,使您能够以api最有效的方式处理

这意味着您只能允许jsonapi控制器发出api请求- 这意味着在开发移动应用程序时,您可以将请求发送到Rails服务器,而不是单独的服务器API.

-

建议

我强烈建议使用单个服务器,运行rails

这有几个原因:

  1. 在Rails中创建API实际上非常简单
  2. 使用一台服务器可以在一个地方处理所有数据
  3. 保持单个服务器还可确保所有平台的用户真实性