导读 | 我们正在比较RealWorld应用程序-不仅仅是”要做”的应用程序。 通常,”待办事项”没有传达足够的知识和观点来实际构建实际的应用程序。 |
我们再做一次。 这是2020年,还有2019年,2018年和2017年。
首先让我开始-绝对不是您应该为前端选择的比较。 它是对三个方面的比较小而相对简单的:性能,大小和非常相似的应用程序的代码行。
考虑到这一点,它是如何工作的:
我们正在比较RealWorld应用程序-不仅仅是”要做”的应用程序。 通常,”待办事项”没有传达足够的知识和观点来实际构建实际的应用程序。
它以某种方式标准化-一个符合某些规则的项目-有一个规范。 提供后端API,静态标记和样式。
由专家撰写或审查-一个一致的,真实世界的项目,理想情况下,该技术的专家应建立或审查。
在撰写本文时,在RealWorld存储库中有24种Conduit实现。 是否有大量的追随者都没有关系。 唯一的条件是-它显示在RealWorld回购页面上。
性能-此应用需要多长时间才能显示内容并变得可用?
大小-该应用程序有多大? 我们将只比较已编译的JavaScript文件的大小。 HTML和CSS对所有变体都是通用的,并且是从CDN(内容交付网络)下载的。 所有技术都可以编译或转换为JavaScript,因此我们仅调整该文件的大小。
代码行-作者需要多少行代码才能基于规范创建RealWorld应用程序? 公平地讲,某些应用程序有很多麻烦,但应该不会产生重大影响。 我们量化的唯一文件夹是每个应用程序中的src /。 无论它是自动生成的,都没关系-您仍然需要对其进行维护。
我们将检查Chrome随附的Lighthouse Audit的性能得分。 Lighthouse返回的性能得分在0到100之间。0是最低的得分。 有关更多详细信息,请参阅《灯塔计分指南》。
绘画得越早,某人可以做某事的越早,使用该应用程序的人的体验就越好。
注意:由于缺少演示应用程序,因此跳过了PureScript。
Lighthouse Audit没睡。 您可以在今年看到未维护/未更新的应用程序跌破90悬崖。 如果您的应用程序得分> 90,则可能不会有很大的不同。 也就是说,AppRun,Elm和Svelte确实令人印象深刻。
传输大小来自Chrome网络标签。 服务器提供的GZIPped响应标头以及响应正文。
这取决于框架的大小以及所添加的任何其他依赖项。 同样,构建构建工具可以很好地消除捆绑软件中未使用的代码。
文件越小,下载速度越快,并且解析的次数也更少。
结论
只有具有重新构架的Imba和ClojureScript才能在1000LoC下实施该应用程序。 Clojure以异常表达而著称。 Imba第一次出现在这里(去年是cloc,不知道.imba文件格式),看起来好像会保留下来。 如果您关心自己的LoC,那么您就会知道该怎么做。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/131608.html