如何为您的公司选择正确的前端框架

如何为您的公司选择正确的前端框架

期间,在新加坡的员工福利我们的核心网络平台的评估初创CXA集团 ,我们决定转移方向老化现有的架构路程,从头开始重新构建前端。 一项的平台所面临的挑战是创建一个Web应用程序,在整个亚洲地跨CXA集团的12个目标国家工作得很好。

考虑到我们已经交付项目设置硬盘的最后期限,我领导了一系列前端JavaScript框架的评估。 的机会,使这个水平变化并不经常出现在自己公司的主要项目,所以我们试图像在评估过程中彻底越好。

有很多在该决定中的行:与我们的业务的指数级增长,我们买不起前进的道路上的任何失误。 我们还必须考虑到这样的事实没有一个队有任何我们所期待的框架,任何显著的经验。

缩小现场

新的前端框架似乎每天公布,所以我们进行了荟萃分析,以减少框架我们考虑的范围内。 包括我们听说过,或曾建议给我们的框架,我们留下了2角(听说),奥里利亚(听说),Vue.js(推荐)和响应(推荐)。

我们测量每个入围框架反对的关键要求列表,看看他们是如何排名。 一些要求是基于什么,我们知道我们需要的项目,而其他人向前投射到我们想做些什么。

灵活性

我们选择的框架就必须提出的范围的配置选项和相对简单定制。 这在很大程度上似乎回落建筑理念:以您的名义做出的架构决策或让他们完全开放。

2角处存在这跟你做的每个选择(状态服务器,路由器,处理程序)单片结束。 这样做的好处是它很容易得到快速启动和运行,而潜在的成本模块不能正常工作,你如何需要他们具有无处可去。

反应,Vue公司,和奥里利亚是在标尺的另一端,根据需要提供在组件的能力来交换。 Aurelia大街和Vue公司有一个关键优势在他们的初始设置配置boilerplates反应。

Vue公司一样,阵营本身只呈现你需要建立什么样的东西一小部分。 从那里,许多决定必须做这当然令人望而生畏。 在时间,因为阵营的首次推出,各种boilerplates(包括阵营的样板 ,并创建应用程序做出反应 )已创建缓解介绍。

对于我们的测试项目做出反应,我们决定放弃任何特定的样板和潜水直入它。 我们还安装了几个,如果仅作参考代码。 这种做法肯定是困难的,但我们在我们的阵营堆栈学到了很多关于每个组件,并认为对最终结果更有信心。

Vue公司和奥里利亚赢得了这一轮他们降低学习曲线和模块化结构。 反应获得的部分信贷的灵活性,即使初始设置是更值得注意的是困难的。

离线支持

有了这样的API 服务人员 ,为Web应用程序的功能没有活的或稳定的互联网连接的能力已经成为了一种可能。 在我们的团队,我们尚未有太多的经验在这方面并没有太多潜水深入到它的其他比对,确认所有框架评估提供离线支持的一些品种。

重量轻

发送到客户端的代码的字节大小使得浏览器的性能有很大的区别,无论是带宽和处理器时间。 作为自定义代码和第三方库添加,字节大小只能变得更糟使其关键从小做起。 CXA集团的目标市场延伸到国家,带宽成本都非常昂贵,让我们为我们能够提供尽可能少的代码为我们的客户是至关重要的。

代替硬数据反映生产的配置中,我们看到核心库的大小至少给了我们会在一些指示。 实际生产中尺寸比这里显示更大。

Vue公司的开发人员已经竭尽全力缩小自己的核心库下降到令人印象深刻的23 KB。 反应并在奥里利亚中间的某个位置坐(约42 KB和分别为64 KB),而角2是仍然是一个重量级推143 KB(包括RxJS状态管理)。

在实际应用中,产品构建的Vue,Aurelia大街和应对是足够接近对方是考虑范围内。 角2,再次以错误的方式伸出。

服务器渲染

早期的单页应用(SPA)框架,随后将所有代码到客户端的模式。 这意味着页面的初始渲染留给客户,并作为一个直接结果是,初始页面加载将是缓慢的。 服务器渲染网页中的SPA将在服务器上的负担,否则最初的渲染让一切的概念是懒加载后渲染。

Vue公司和应对添加服务器渲染的插件。 角2目前正在合并他们的普遍特征为核心虽然功能不匹配的Vue公司提供或作出反应真实。 Aurelia路上有标记为开发一个功能服务器的渲染,但缺乏实施时间表,即使它有其他的表现技巧了它的袖子

到期

在选择一个企业级的网站,广泛的社区支持,稳定性和能力聘请框架是非常重要的因素。 这是很难猜测是否有任何框架仍然会在三年内支持,但我们决定看看目前的健康与否每个做出决定。

展望框架的首次公开发行日期给我们的每一个是如何稳健一些想法。 从理论上讲,至少,旧的图书馆应该有更好的功能范围和更少的显著错误。

反应胜容易在这里,在2013年3月首次公开发布Vue公司虽然在2015年10月首次发布,直到第2版在2016年九月发布奥里利亚是新人击中在2016年八月1.0版本,它没有击中它的步幅。

角2有趣的是:它是从版本1显著不同,实际的目的,在2016年9月达到了第一个版本。

评估这方面的部分涉及潜入超出发行日期自身各图书馆的发展历程。 获得长期稳定的发展历史 - 甚至处于测试阶段 - 当然借给信心。

不同的团队成员一直在观察候选框架的发展有一段时间这给我们至少每个的整体稳定性的一些感觉。 所有我们所审查的框架,角2分的困扰发展的历史站了出来,用显著重大更改和不明确的发布日期。 该框架使得它到底最终版本,但它前进的道路上肯定凌乱。

成熟的最后,关键的方面 - 反映在上面 - 是聘请有经验的员工的能力。 鉴于该框架我们团队的经验有限,我们评估我们所面临的时间紧迫,我们希望聘请有经验的开发人员。

特别聘请经验可以限制,但是,它肯定使大型项目的差异,如我们的。 我们消除了角2在这一点上,因为它没有太多的我们以前的要求。

对于剩余的框架,我们首先寻找不同的工作地点,跑到每个框架单独的招聘广告。 我们发现Aurelia路上或VUE没有招聘广告,也没有收到任何申请。 通过比较,我们发现了几个阵营所提供的工作,我们收到了一些高质量的应用。

其它功能

开发工具和单元测试支持 - - 在我们列表中的其余功能在所有我们看了框架提供。 如果没有坚实的开发工具,调试几乎是不可能和单元测试是所有但对于企业级应用必不可少的,例如我们的。

牵手

理论没有量等于实践经验。 考虑到这一点,我们选择了两个能够满足大多数要求的框架 - 奥里利亚并作出反应 - 并开始并行编码。 有没有在这个阶段省略Vue的一个强有力的理由; 我们根本没有足够的时间花在评估。

给出的任务是符合我们现有的应用程序的基本功能构建认证屏幕:登录,呼叫会话的API和建立。 两名队员分别分配框架,并赋予了日历星期,看看它们能建立什么。

Aurelia酒店演示更加齐全,得益于更容易安装过程的一部分。 我们也觉得我们有一个更好的理解什么是我们认为进入选择各部分的工作后作出反应堆内。 奥里利亚仍然赢得倒手为便于初始设置。

我们无法得出基于动手单独编码任何显著的结论。 也许唯一的惊喜是怎样的代码相似的是:多,由于在ECMAScript中6推出了结构性变化,这被两个框架。

结果

我们的选择,到底,是反应; 选择了它的成熟度,社会各界的支持和易于雇用上述所有其他功能。 虽然反应是我们的准则明显的赢家,这是非常高兴看到我们看了竞争框架之间的这种品质。

Vue公司和奥里利亚证明了下一行中接近的竞争对手。 Vue公司出来轻微领先一个更完整的功能列表,但无论是本来可能很好服务给我们的要求。 如果我们没有时间紧迫,招聘会已经不太显著,我们会扩大我们的实践工作,包括Vue公司。

由于未能大多数的我们的选择标准角2失望。 对于所有的优点,这显然是不适合我们。

既然选择了反应,并开始建立我们的项目,我们是不是可能再次很快进行这样的评估。 至于你,你会加入到我们的名单的标准是什么? 那么,我们能错过,我们可以做得更好? 我期待着您的意见和建议。

这篇文章是由同行评审斯图尔特·米切尔拉尔夫·梅森Vildan Softic 感谢所有SitePoint的审稿作出SitePoint内容也可以是最好的!

From: https://www.sitepoint.com//choose-the-right-front-end-framework-for-your-company/