PC与移动端高效开发解决方案

4,549 阅读3分钟

疑问


前端开发不可避免会遇到一个问题:PC与移动端开发是共用一套代码?还是两套独立开发?

这个问题到目前都没有一个明确的结论,或者说它本来就不会有唯一的答案,毕竟所属需求不同。

对于一些简单的系统:一套代码就能搞定,那何须花费两倍的时间来做双份。

对于复杂性的或是UI展示差异较大的系统:若是一套代码的话,光是样式调整就足以耗费掉开发者所有的热情,那还不如分开做来得更方便。

但是很多时候,对于这种情况,我们还是会不自觉的会提出疑问,难道就必须要花费双倍的时间吗???不能等于1,还不能小于2???

疑问

方案


这个方案分两方面来讨论说明:数据及UI。看看能不能对PC与移动各端前端开发进行复用与融合,从而进一步来释放人力。

考虑方向

当然,如果大家之前已经做了足够的方案测试,并且已经确认不想融合的,那看到此就可以了。毕竟有句话已经说的很直白了:

强扭的瓜不甜。

奈何臣妾不死心呐!!!

数据上的融合

目的:一步式的同步各端数据。

包含模块:后端数据+静态数据

后端数据的统一

对于接口的问题:不管是接口变更,还是多个接口的合并等,前后端真的已经相爱相杀了太久,但永远都无法完全避免。毕竟对于接口的变更有时候连前端人员都赞成更改;对于接口是否合并,各方也有充足的理由。

但这并不意味着前端人员乐意重复更改,所以我们要提效->做统一->做中间件。

静态数据的统一

在这里静态数据,指的是那些在前端页面中写死的数据或文案值等,当然也可以统称为配置项。

包括属性值、操作项等等,一般输出JSON数据,用JS文件、JSON文件等存储;当然如果熟悉数据库表的话,完全也可以把这些数据整理成表的形式来存储。

属性值:如一些自定义列数据集合等;

筛选项:如下拉菜单筛选项集合等(比方说列表查询会有很多筛选项,可以把这些数据进行整合,适配各端)。

中间件层架构

中间件

UI上的融合

UI上的融合,可以先看下各自对应的PC和移动端系统,估算下到底有多少差异及差异度等。

不说话

UI上的复用,可以从两方面来处理:

以数据为驱导的UI独立

如数据融合内提到的筛选项部分。筛选项的展示JSON数据共用,UI分开。 如下拉菜单,PC用PC端组件Select下拉框的模板,移动用移动端组件的单选模板等等。

以独立功能为单元的UI共用

如果细致来看的话,并非所有的功能或是UI不可复用,那么可以把这部分单独提业务组件,以业务组件微服务的模式共用。

总之,实践出真理。

就先到这儿吧,不想多说了,详细的说明也就不画了。留一分钟我要用来静静的思考下人生。