对于前端团队, 可以实现企业受益最大化要点.
一, 技术选型的策略
1, 保证产品质量
(1) 功能稳健: 网页不白屏, 不错位, 不卡死; 操作正常; 数据精准.
(2) 体验优秀: 加载体验, 交互体验, 视觉体验, 无障碍访问.
2, 降低人力成本
(1) 降低前期开发成本;
(2) 降低后期维护成本.
二, 前端开发模式选择
开发模式: 1, 纯前端开发; 2, 前后端分离开发; 3, 后端主导的开发.
1, 纯前端开发
主要是针对静态页面. 没有模板和框架参与, 基本上一个人就可以 hold 住, 比如: 官方网站, 招聘站, 以及设计感强烈且运营活动页面等. 自主权最大, 正常是使用 Node.JS 进行辅助开发, 上线等.
2, 前后端分离开发
现在很多公司的系统都是采用前后端分离的开发模式. 根据项目的性质, 使用 Node.JS 进行模板渲染 (ejs 模板, jade 模板, dot 模板, artTemplate 模板), 要不是框架自带的渲染的方式 (vue,react), 但是实质上一样的, 都是使用 JS 对页面进行构建. 控制权很大.
3, 后端主导开发
由于很多历史遗留问题, 有的产品还是采用后盾渲染的开发模式, 比如一些内部行政系统相关的. 在和他们合作的时候, 交付原型的时候, 需要克制自己:
(1) 不要使用 Sass,Less 产不多的前端预处理器;
(2) 不使用类似于 SeaJS 之类的模块化组件库, 而是采用效率更低的人工模块耦合;
(3) 不追求新技术, 使用更基础代码, 采用更传统首发, 良好的代码设计保证质量 [参数接口暴露在外, 后端可以轻松配置, 而不是耦合在 JS 中] .
这种前端属于支援角色, 后期维护通常都是与后端开发一起维护. 这就是有时候会出现维护很痛苦的问题.
缺点: 增加开发人力成本;
优点: 自我牺牲保证项目正常维护下去, 职业的体现.
三, 前端开发技术选型
对于同一个类型的项目, 采用开发模式, 使用的基本框架都是一致的.
前端技术选型:
(1) 外部用户的 PC 站;
(2) 外部用户的 mobile 站;
(3) 外部用户的 Native App 开发;
(4) 内部员工的管理后台
1, 外部用户的 PC 站
需要有 SEO, 有加载体验, 采用的是前后端分离开发模式, 页面直接渲染, 基于 jQuery.
为什么使用 jQuery?
(1) 主要是为了兼容 IE8;
(2) 是外部用户, 视觉体验高, 权重高. 适合先有行, 再有行. 就是说视觉和行为要尽可能分离, 会牺牲一点开发成本, 但是用户更重要.
(3) 绝大多数页面交互轻量用不上数据驱动.
2, 外部用户的 Mobile 站
这里说的 Mobile 站主要是浏览器访问为主的, 因此, 页面切换都是传统连接跳转, 属于传统 web 应用, 前后端分离开发模式, 页面直接渲染, 采用 react. 大致原因: 使用 react 是为了 和 App 端的 react native 保持同步.
3, 外部用户的 Native App 开发
前端组有直接参与 Native App 开发的项目, 使用的是 React Native 进行开发.
为啥选择 RN, 之前 Hybrid 模式开发有性能优化瓶颈, 采用 React Native 性能可以突破这个瓶颈, 有原生的性能, 且支持热更新, 上手不算太难, 跨平台, iOS 和 Android 代码复用率 90%. 适合交互和动画不太复杂的项目, 最终要根据项目来. 特别适合快速迭代的项目或者前期需要大量试错的项目.
(1) 不要随意使用第三方库, 后期修改维护不方便, 尽量自己写还是自己写;
(2) 前期还是需要客户端帮忙配合, 项目搭建.
4, 内部员工的管理后台
前后端分离开发, 页面侧重异步渲染, 使用 vuejs.
大致内容是: 后台管理系统有大量的增删改查操作, 适合具有双向绑定的类库或者框架进行渲染. 同时没有兼容性的要求 (SEO, 首屏渲染), 因此单页面是合适的. 可以选择 vue,react,angular. 因为 vue 对 API, 文档对开发者更友好. 选用好的 UI 组件, 规范贯彻, 拆分和按需加载, 自动化测试有待加强.
四, 总结
对于比较正式的项目, 前端技术选型策略一定是产品收益最大化, 用户在首位. 考虑到亿级的用户量, 自然技术选型更为谨慎, 于是优先选成熟, 经典的解决方案.
但是不是说, 排斥热门技术. 相反, 就算还是很不成熟的新技术, 只要对产品带来收益的, 一定要鼓励应用的, 比如 AMP 和 PWA 的实践.
其实这时候也会带来一个问题, 技术人员对新技术有着天然的学习和实践需求, 因为这有助于降低内心的焦虑和不安全感.
尤其是对技术有着狂热的爱好的小伙伴, 这些成熟项目由于规范约束, 不能随便乱来, 很容易让开发人员报国无门的感觉, 这该如何达到心理的平衡?
通过边缘项目, 实践性的项目, 以及团队会自发发起一些有价值的内部项目来满足这样的需求, 同时积累宝贵的经验. 相当于嵌入了新的平台, 让产品, 团队和个人都达到非常好的平衡.
产品驱动的文化下, 心中想的更多是把用户和产品做更好, 让技术服务产品, 因产品而技术, 而非因技术而技术.
运营驱动的文化下, 本质上是吆喝做买卖, 成为前言技术的弄潮儿就是和企业文化的契合.
来源: https://www.cnblogs.com/chengxs/p/10910004.html