手上越来越多的情况需要同时有 pc 版和移动版,甚至应用只需要移动版,pc 上需要个管理功能。
1,最初,是用 Rails,偶尔需要 api 时候直接 render 一个 json,或者单独加一些路由专门 render json。在 api 少的时候方便,效率似乎有待考虑,特别这个 rails 工程本身已经比较臃肿且慢的情况。
2,用 sinatra 只给 api 返回 json,或者其它 (protobuf,thrift),管理后台用 rails 直接再做一个。问题是 model 中这个数据逻辑可能会重复写一次,这个不可接受,大了久了很难保证一致性。
3,我最希望的是只写一个逻辑后端,比如 ruby 写一个 api,pc 和移动都用这个 api。问题,pc 端也用 api 的话需要经过一层网络传输,再传输到客户端这样时间是否太久影响用户体验。如果后端已经有 json 接口,前端 js 也可以直接用了,这个时候用 rails 仅仅为了开发熟悉方便?(说实话写 js 对我实在不是兴趣而是劳动)
关联问题: 1,有用 protobuf 或者 thrift 的同学告知下为什么一定要用这个,比 json 省流量我知道,真的很有这个必要?以前这两个我都用过,都是客户或者公司研究院已定的情况。
2,用 ruby 只写 api 的话,用 grape?没玩过,有经验的可以稍指导下。