前端框架不断推新,众多IT企业都面临着“如何选择框架”,“是否需要再造轮子”的抉择。去哪儿网前端架构师司徒正美分析了各主流行框架优劣点、适用场景,并针对不同规模的公司、项目给出了相应的前端技术选择方案。
最近几年,前端技术迅猛发展,差不多每年都会冒出一款主流的框架。 每次新开业务线或启动新项目时,首先之一件事就是纠结:使用什么框架,重造什么轮子?
Require *** ,前端技术发展分水岭
在五六年前,移动端还没有兴起,我们没有什么选择,就是jQuery。有人会说,jQuery只是类库,不是框架;但那时前端业务还没有像今天这么繁重,原本是后端干的事,全部挪到前端来,因为光是jQuery就可以包打天下。jQuery不够用,还有成千上万的jQuery的插件呢。于是问题就是这样一一衍生出来了,一个页面太多jQuery插件了,请求数太多了,于是我们得打包。打包需要我们对插件有规划。于是这一需求在社区上逐渐形成了某些规则,其中最出名的是AMD规范,体现上Require *** 这个加载库上。
Require *** 是前端技术发展上的一个分水岭。JavaScript在ES6之前一直没有自己的加载机制,Require *** 的出现意味着前端可以向更大规模发展。以后我说的技术选型,一个非常重要的甄选点, 即是否存在加载器机制或符合某个模块规范。
选择前端框架应综合考虑框架本身与团队情况
回到原来的话题,选择框架要从两面看,一是看该框架的本领,二是看你们团队的能耐。
从框架的角度来看, 它的功能丰富不丰富、社区活跃度如何、国内社区活跃度如何(有的在国外流行,但国内只有初创公司或一些大公司的边缘项目在试水)、文档齐全与否、是否及时更新、测试覆盖率如何、上手难易度如何,都是我们考量点。不过能进我们视野内的外国框架,基本是身经百战,在造轮子兴盛的世界闯出来的领头羊。jQuery、Angular、KnockOut、Emberjs、Polymer、React、Backbone、Zepto,我们基本是围绕在这几个上面转了。当然还有更大型的东西,如EXT、 YUI、Dojo、EasyUI、Bootstrap,这是UI库层面的。
下面是2012年外国对当时流行12个JavasScript MVC框架的纯技术评估:
显然,我们之一步就是圈定时下更流行的框架与库作为评估对象,然后再根据自家公司的情况进行筛选。贵公司是建站公司,还是有自己产品的公司呢?如果是建站公司,页面不会复杂到哪里去,基本上jQuery+Bootstrap搞定,不要想得太多,就是它们。如果有自己产品, 要维护一大堆客户数据,要与客户打交道,不难想象存在非常复杂的CRM系统,按照中国人的特性,这东西只会越来越复杂,这就要慎重考虑了。这往往是持续十年的维护升级,我们需要看一下某框架是否有你们的产品那么长寿,这框架的升级更新是否频繁平缓。
大工程应尽量避开谷歌产品
如果你的项目是一个跨度三年以上的大工程,用《人月神话》的术语来说,90%就是个焦油坑。我们需要使用更稳健成熟的技术方案,我们需要重点避开谷歌的产品,它的许多产品都是玩票性质,GWT、Closure、Darty就是前车之鉴。Polymer基于许多新技术构建,其中Object.observe()、 Custom Elements、HTML Imports、Shadow DOM、Model-Driven Views还远远没被标准化, 许多还是独家的,变数太大,因此才出现下图所示的悲剧。 Angular不是我黑它,这东西也喜欢断崖式升级,它在1.08时兼容IE6-8,1.2时需要打补丁兼容旧式IE,1.3摒弃了对旧式IE的兼容,直接在源码中删除了所有兼容代码,因此所有补丁方案都无力回天,并且不支持全局Ctrl函数,许多模块需要独立引
月经这种东西都跟随女性很长时间,有些身体健康的女性,来月经没有任何不适的症状,但是生活中大部分女性朋友每次来月经的时候,都会出现各种各样的问题,其中疼痛感是最为常见的,那么今天我们就来和大家共同探讨一...
车展活动流程,宝安体育馆车展地点以及时间。 参展的品牌不仅会有国际品牌奔驰宝马奥迪参展,而且还有自主品牌一汽长安吉利比亚迪等等,燃油?新能源?随你挑,车型种类也近乎齐全,满足你的需...
运用周线和月线趋势选股的目的是通过长期趋势来选股票,以期能获得中长线的好股票或中长线的股票买卖点。 在我看来用周线和月线选股的最大好处是 1 可以知道长期以来持有该股的人的历史成本。 比如一...
“共建万物和谐的美丽家园”—— 9月30日,习近平在联合国生物多样性峰会上通过视频发表重要讲话,首次提出这一重大倡议。 △9月30日,国家主席习近平在联合国生物多样性峰会上通过视频发表...
星盘分析在占星学中起着很重要的要素,由于许多 基本信息都必须它的提醒,大家常说的十二星座,实际上是太阳星座,但太阳星座并不可以意味着一个人的个性,它是自身和真实身份的认可,意味着着总体目标、用意和...
如何辨别方向(八种方式 教你迅速辨别方向绝境逢生)常常室外旅游的盆友了解,户外探险旅游最担忧的通常并不是自然环境多极端,干食和水是否足够,只是不经意间迷路,迷了路是十分恐怖的,离预订到达站越走越远...