乐趣区

方案设计如何看待前端框架选型

对于前端团队,可以实现企业受益最大化要点。

一、技术选型的策略

1、保证产品质量

(1)功能稳健:网页不白屏,不错位,不卡死;操作正常;数据精准。

(2)体验优秀:加载体验,交互体验,视觉体验,无障碍访问。

2、降低人力成本

(1)降低前期开发成本;

(2)降低后期维护成本。

二、前端开发模式选择

开发模式:1、纯前端开发;2、前后端分离开发;3、后端主导的开发。

1、纯前端开发

主要是针对静态页面。没有模板和框架参与,基本上一个人就可以 hold 住,比如:官方网站,招聘站,以及设计感强烈且运营活动页面等。自主权最大,正常是使用 nodejs 进行辅助开发,上线等。

2、前后端分离开发

现在很多公司的系统都是采用前后端分离的开发模式。根据项目的性质,使用 nodejs 进行模板渲染(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 的实践。

其实这时候也会带来一个问题,技术人员对新技术有着天然的学习和实践需求,因为这有助于降低内心的焦虑和不安全感。

尤其是对技术有着狂热的爱好的小伙伴,这些成熟项目由于规范约束,不能随便乱来,很容易让开发人员报国无门的感觉,这该如何达到心理的平衡?

通过边缘项目,实践性的项目,以及团队会自发发起一些有价值的内部项目来满足这样的需求,同时积累宝贵的经验。相当于嵌入了新的平台,让产品,团队和个人都达到非常好的平衡。

产品驱动的文化下,心中想的更多是把用户和产品做更好,让技术服务产品,因产品而技术,而非因技术而技术。

运营驱动的文化下,本质上是吆喝做买卖,成为前言技术的弄潮儿就是和企业文化的契合。

【注:我是 saucxs,也叫 songEagle,松宝写代码,文章首发于 sau 交流学习社区 https://www.mwcxs.top),关注我们每天阅读更多精彩内容】

退出移动版