时间:2021-07-01 10:21:17 帮助过:8人阅读
使用json么?求教,真心求教
最近要做一个项目,要既有客户端又有web前端。使用的是YII框架,web前端还好说,直接在html代码中echo,有时候甚至直接echo出html语句,但是这样做又不能兼容到 Android客户端。请问我该如何做才能做到web端与客户端使用同一套服务器代码呢?
使用json么?求教,真心求教
使用 API
机制,无论 web
端还是 mobile
端,都走 API
来取数据。
既然用的是 YII
,就可以通过 behavior
机制来 handle
很多 stuff
。
例如,定义一个 APIBehavior
来做数据格式化处理之类的事情。
但是,既然题主希望使用一套机制来处理的话,就需要保证需求一致,否则你在 web
端需求改动,需要改动 API
,那么就会对 mobile
造成影响。
当然你可以把大部分的逻辑放在一个 BaseAPI
中,然后将异化代码分别放在 MoblieAPI
和 WebAPI
内。
如何设计一个 RESTful API
可以参考:
《Best Practices for Designing a Pragmatic RESTful API》
StephenLee
说的很清楚了,使用接口传输数据(josn),移动端和web端在前端js进行数据在页面的渲染,唯一不同的只是css布局。移动端的时候可能砍掉一些功能或者单独设计功能。json只是数据的传输格式,rest是你接口的数据的传输协议。可以采用boostrap3.0之类的css框架,但是对于低版本ie的支持很一般。
我喜欢angularjs, 基本就是跟echo一样,比如数据是object.item.name, 只要在web上{{object.item.name}}就行,封装了handlebarjs的模板,什么foreach、ifesle都可以很简单实现。当然还有很多js框架,甚至直接用jquery都可以。
我估计题主开发队伍也不雄厚,前段后端就一两个人,我个人觉得backbone有点重,我对比ember和angular还有backbone以后觉得开发代码量最重的好像backbone了,最简单的是angular :)
单独恢复这么多,不敢要采纳,给个赞吧
web、安卓客户端都是浏览器么?可以试试bootstrap,一个CSS/HTML框架,应该可以解决你的兼容性问题
web前端可以试下 mvc,比如ember.js, angular.js 一类的框架
布局最好用响应式前端框架如bootstrap.然后可以看下phonegap
web端用angular.js,移动端用bootstrap就行了。