前端开发不可避免会遇到一个问题:PC与移动端开发是共用一套代码?仍是两套独立开发?前端
这个问题到目前都没有一个明确的结论,或者说它原本就不会有惟一的答案,毕竟所属需求不一样。数据库
对于一些简单的系统:一套代码就能搞定,那何必花费两倍的时间来作双份。后端
对于复杂性的或是UI展现差别较大的系统:如果一套代码的话,光是样式调整就足以耗费掉开发者全部的热情,那还不如分开作来得更方便。markdown
可是不少时候,对于这种状况,咱们仍是会不自觉的会提出疑问,难道就必需要花费双倍的时间吗???不能等于1,还不能小于2??? 架构
这个方案分两方面来讨论说明:数据及UI。看看能不能对PC与移动各端前端开发进行复用与融合,从而进一步来释放人力。 微服务
固然,若是你们以前已经作了足够的方案测试,而且已经确认不想融合的,那看到此就能够了。毕竟有句话已经说的很直白了:测试
强扭的瓜不甜。spa
奈何臣妾不死心呐!!!3d
目的:一步式的同步各端数据。code
包含模块:后端数据+静态数据
对于接口的问题:无论是接口变动,仍是多个接口的合并等,先后端真的已经相爱相杀了过久,但永远都没法彻底避免。毕竟对于接口的变动有时候连前端人员都同意更改;对于接口是否合并,各方也有充足的理由。
但这并不意味着前端人员乐意重复更改,因此咱们要提效->作统一->作中间件。
在这里静态数据,指的是那些在前端页面中写死的数据或文案值等,固然也能够统称为配置项。
包括属性值、操做项等等,通常输出JSON数据,用JS文件、JSON文件等存储;固然若是熟悉数据库表的话,彻底也能够把这些数据整理成表的形式来存储。
属性值:如一些自定义列数据集合等;
筛选项:以下拉菜单筛选项集合等(比方说列表查询会有不少筛选项,能够把这些数据进行整合,适配各端)。
UI上的融合,能够先看下各自对应的PC和移动端系统,估算下到底有多少差别及差别度等。
UI上的复用,能够从两方面来处理:
如数据融合内提到的筛选项部分。筛选项的展现JSON数据共用,UI分开。 以下拉菜单,PC用PC端组件Select下拉框的模板,移动用移动端组件的单选模板等等。
若是细致来看的话,并不是全部的功能或是UI不可复用,那么能够把这部分单独提业务组件,以业务组件微服务的模式共用。
总之,实践出真理。
就先到这儿吧,不想多说了,详细的说明也就不画了。留一分钟我要用来静静的思考下人生。