现在前端,都往大前端方向发展,pc, wapApp, 小程序,混合开发,桌面开发,node 后台。不光发展方向多,同一个方向的技术选型也同样多,比如wapApp的 vue,react,angular。那么问题来了,在项目中,我们到底应该如何展开我们的技术选型呢,我就结合我的经历讲一讲。
所在项目组的技术原型
为什么会有这个选型
1.pc
pc端我们要做推广,我当时考虑单页应用SEO不好做,而且页面几乎没有数据交互,不要为了单页应用而单页应用
, 但是考虑到静态应用代码不能复用,就想到用 node模板引擎直接渲染。 访问速度应该还快一点(没做考究).
2.h5
h5, 我们已经有两个h5的项目,一个 vue ,一个 react。 但是最终还是选择 vue ,react 的包比较大,不利于前端快速加载,vue 相比于 react(dva 那一套) 的出活率高。而且国内vue确实火,小程序和混合开发相对应的解决方案都有,那么,就是他了。
3.小程序
小程序之前用原生的写过一个,用原生写不利于维护,感觉有点乱,就在两个 star 数高的、大公司维护
的里面选 wepy 和 mpvue,mpvue 能生成对应的 wapAPP,并且合适 vue 的技术栈.在合适不过了。
4.混合开发
我们项目组是有安卓和ios的,但是有些内容ios 审核麻烦,所以要热更新。现在阶段,性能比较好的混合开发,就是 weex、 rn、 flutter。
1.weex: 阿里巴巴使用再生产环境的,国内比较友好,基于 vue ,性能可以,可以热更
2.rn: 脸书出品,近一年热度下降,基于 react, 性能可以,可以热更
3.flutter: 谷歌开源,基于 dart.js,因为实现方式,性能和体验应该比前两者好,不能热更,因为使用 dart.js 学习成本大
最终: flutter 不能热更 pass(解决不了最重要的需求); rn: 相对来说还是倾向于选择国内的技术,文档好理解,和统一客户端的技术栈(vue) pass。
5.node 框架
本人喜欢企业级的框架,特别是公司项目中,约定优于配置,降低维护成本,选择阿里 egg
6.管理后台
管理后台数据太多了,目前应该有100多个接口,vue 维护是个问题,而且阿里 ant design pro 很好用,就它了。
总结:
1.技术都是服务产品的,应该通过产品需求去选择技术
2.选择技术、要考虑社区活跃度,维护团队、文档、招聘相关人员是否容易等
3.尽量用少的技术栈去实现多的业务,降低人工成本
4.在公司项目中,尽量用企业级、大而全的框架(针对这一点,下次另开一篇,为什么我不用 大而全的angular,却用了渐进式的 vue?都有什么利弊?)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。