[译] 前端开发框架的实战对比(2018 年更新)

本文是是对 2017 年 12 月发表的 前端开发框架的实战对比 一文的更新。

在对比中,我们将展示不同框架之间去实现几乎相同的 实战示例应用 有怎样的差别。

实战示例应用 为我们提供了:

  1. 实战应用——不只是一个 "todo" 应用。一般来说,"todo" 应用无法充分的传达构建一个真实应用所需要的知识和观点。
  2. 标准化——符合一定开发指南的项目。提供后端 API,静态标记,样式和规格。
  3. 由专家撰写或审核——一个实战项目,理想情况下,由技术专家创建或审核。

上一版本的不足(2017 年 12 月)

? Angular 没有用于生产环境。之前实战应用仓库列出的示例应用使用的是一个开发版本,感谢 Jonathan Faircloth,它现在已经是生产版本!

? Vue 没有包含在实战应用仓库,因此未包括在对比中。正如你可以想象的那样,Vue 在前端引起了很大的热度。怎么可以不考虑 Vue 呢?你到底是怎么想的?这一次我们加入了Vue.js!谢谢 Emmanuel Vilsbol

我们比较哪些库/框架?

和 2017 年 12 月的文章一样,我们包含了实战应用仓库中列出的所有实现方式。不管它有没有大量的拥趸,唯一标准就是它出现在 实战应用仓库 页面上。

前往 https://github.com/gothinkster/realworld (2018 年 4 月)

我们看什么指标?

  1. 性能: 应用需要多长时间能显示出页面内容并可用?
  2. 大小: 应用程序多大?我们只会比较已编译过的的 JavaScript 文件大小。 CSS 对于所有不同实现框架都是通用的,并且从 CDN (内容分发网络)下载。 HTML 也是通用的。所有技术都编译或转换成 JavaScript,因此我们只计算这些文件的大小。
  3. 代码行数: 开发者根据开发指南需要写多少行代码来做一个实战应用?为了公平,虽然有些应用程序有一些花里胡哨的东西,但它不应该对结果产生影响。所以我们唯一量化的目录只用每个 app 中的 src/ 目录。

指标 #1:性能

使用 Chrome 自带的 Lighthouse Audit 工具进行 首次有效绘制 的测试。

绘制速度越快,应用的使用体验就越好。Lighthouse 也测试 First interactive ,但对于大多数应用来说,这几乎是相同的,而它还处于测试阶段。

首次有效绘制(毫秒)——越低越好

在性能方面你可能不会看到很多差异。

指标 #2:大小

传输大小来自 Chrome 的网络标签,包含从服务器传送的压缩的响应头和响应正文。

文件越小,下载速度越快(并且需要解析的数据也越少)。

这取决于你的框架以及你添加的依赖库的大小,还有你的编译工具的好坏也有一定影响。

传输大小(KB)——越低越好

您可以看到 Svelte,Dojo 2 和 AppRun 做得非常好。我不能说 Elm 也表现足够好——特别是当你看下一张图时。我也想看看 Hyperapp 的表现。可能下次吧,Jorge Bucaran

指标 #3:代码行数

通过 cloc 我们计算每个仓库的 src 文件夹中的代码行。空白和注释行不会包含在内。这样做的意义何在?

如果调试是删除软件错误的过程,那么编程就是引入错误的过程 — Edsger Dijkstra

代码行数——越少越好

您拥有的代码行数越少,那么出现错误的概率就越小,而且你也只需要维护较小的代码库。

结论

我想说,非常感谢 Eric Simons 创建了 实战示例应用 ,还有大量的提供不同实现的贡献者们。

更新: 感谢 Jonathan Faircloth 提供生产版本的 Angular。

如果你对这篇文章感兴趣,你可以在 Twitter 和 Medium 上加我。

如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。


掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 AndroidiOS前端后端区块链产品设计人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划官方微博知乎专栏

原文地址:https://www.cnblogs.com/homehtml/p/11797607.html

时间: 2024-11-12 06:11:36

[译] 前端开发框架的实战对比(2018 年更新)的相关文章

前端开发框架对比

前端开发框架对比 本文选取了 Bootstrap.jQuery UI.jQuery Mobile.Sencha ExtJS.Sencha Touch.Sencha GXT.Dojo.Dojo Mobile.Mootools.Foundation.YUI.Kissy.QWrap 等 16 个国内外前端开发框架进行初步的横向比较,可以作为大家挑选前端开发框架的初步参考. 近几年随着 jQuery.Ext 以及 CSS3 的发展,以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野,可谓应

最流行前端开发框架对比

如今,各种开发框架层出不穷,各有千秋.哪些是去年较受开发者关注的呢?前不久,云适配根据Github上的流行程度整理了2014年最受欢迎的6个前端开发框架,并进行对比说明,希望帮助有需要的朋友选择合适自己的前端框架. 1. Bootstrap Bootstrap毫无疑问是现今框架的领导者.他不仅仅流行,每天用户量也在不断增长.你可以相信,这个工具不会让你失望,你也可以单独使用它制作自己的网页. 创建者:Mark Otto and Jacob Thornton 发布:2011 当前版本:3.3.1

最流行前端开发框架对比评测

如今,各种开发框架层出不穷,各有千秋.哪些是去年较受开发者关注的呢?前不久,云适配根据Github上的流行程度整理了2014年最受欢迎的6个前端开发框架,并进行对比说明,希望帮助有需要的朋友选择合适自己的前端框架. 1. Bootstrap Bootstrap毫无疑问是现今框架的领导者.他不仅仅流行,每天用户量也在不断增长.你可以相信,这个工具不会让你失望,你也可以单独使用它制作自己的网页. 创建者:Mark Otto and Jacob Thornton 发布:2011 当前版本:3.3.1

【课程分享】HTML5开发框架PhoneGap实战(jQuery Mobile开发、API解析、3个经典项目实战)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程讲师:厉风行 课程分类:Java 涉及项目:我要地图.豆瓣音乐.小强快跑 用到技术:HTML5.jQuery Mobile.PhoneGap 其他特性:PhoneGap API 涵盖内容:代码.视频.ppt 课时数量:40 PhoneGap前景 Adobe最近公开表示将会为HTML5开发推出更多有意义的工具.有业内人士表示,Adobe的HTML5战略特别值得注意,此外Adobe对于乔布斯的此番公开批评曾积极地回应道:"乔布斯说

Anjular+Bootstrap前端开发案例实战

我们将利用Angularjs 和 Bootstrap,开发一个前端应用实例,通过这一次简单的项目实战,引领大家进入AngularJS前端开发的殿堂,并向大家介绍一下几个知识点: MVC 基础,通过项目实例,让大家初步体会MVC设计模式的应用. 构建我们第一个AngularJS应用,通过一个实际用例的开发,大家可以对前端开发获得一定的感性认识. 初步了解AngularJS三个最重要的组成部件,他们分别是Model, View, 和Controller. 初步了解AngularJS的Scope对象的

HTML5开发框架PhoneGap实战视频教程

HTML5开发框架PhoneGap实战(jQuery Mobile开发.API解析.3个经典项目实战) 适合人群:初级课时 数量:40课时 用到技术:HTML5.jQuery Mobile.PhoneGap 涉及项目:我要地图.豆瓣音乐.小强快跑 咨询qq:1840215592 一.课程适合的对象: Java开发想要转App开发的技术达人,移动应用开发人员,有HTML和JS基础的前端界面开发人员 二.课程培养目标: 1 了解跨平台移动应用的基础原理. 2 熟练掌握移动应用开发的基础技能. 3 熟

一篇文章概括目前流行的前端开发框架

导读 作为前端开发者,各种框架的层出不穷,促使我们要不断学习才能防止落后,但是我们不可能做到每个框架都有学习的时间,我们只需要掌握流行的,坑少的即可.从以下三个方面了解目前流行的前端开发框架. 作为前端开发者,各种框架的层出不穷,促使我们要不断学习才能防止落后,但是我们不可能做到每个框架都有学习的时间,我们只需要掌握流行的,坑少的即可.从以下三个方面了解目前流行的前端开发框架. 一.跨多平台开发框架 (1).uni-app--开发一次,多端覆盖uni-app 是DCloud公司使用 Vue.js

前端开发框架选型清单

随着Web技术的不断发展,前端开发框架层出不穷,各有千秋,开发者在做技术选型时总是要费一番脑筋,最近,IBM高级工程师王芳侠撰文对Bootstrap.jQuery UI.jQuery Mobile.Sencha ExtJS.Sencha Touch.Sencha GXT.Dojo.Dojo Mobile.Mootools.Foundation.YUI.Kissy.QWrap 等 16 个国内外前端开发框架进行了比较详细的比较,非常值得读者借鉴. 从国外的桌面端框架来说,作者认为主要有以下几个:

《web 前端基础到实战系列课程》

<web 前端基础到实战系列课程> 摘要: mod_expires&mod_headers可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求. 在使用之前,首先要确认一下"mod_expires"模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的"httpd.conf"设定档来处理 一.浏览器缓存原理 将该行前面的"#"字号删除