DHH 锐评“打包工具”:前端根本不需要构建 (No Build)
继“移除 TypeScript”后,Ruby on Rails 作者 DHH 近日又在公开场合发表了一番“暴论”——称最快的打包工具就是没有打包 (No Build),有了 HTTP/2 以及浏览器原生支持 ES Modules ,前端根本不需要构建。
在上周举办的 Rails World 大会上,DHH 说道:“最先进的(打包)技术不再是寻找更复杂的方法来构建 JavaScript 或 CSS,因为前端根本不需要构建。现在可以依靠 HTTP/2 和对 import map 的普遍支持来避免打包。”
对于 DHH 提出的「No Build」,Vercel CTO Malte Ubl 称他们已尝试过,结果是行不通。因为在 HTTP2 中,每个请求的开销仍然非常大,并且存在并发限制,此外还会出现瀑布流和低效压缩。 目前,“打包”对于高性能网站来说是无法绕过的。
via https://twitter.com/cramforce/status/1712265070213050390
DHH 不认可 Malte Ubl 所说的“行不通”。他说道,这就是技术讨论的奇怪之处。即便已经有案例证明项目能完成大规模任务(如 Rails 之于 Shopify),但人们也会声称它不能进行扩展。或者已顺利使用某种方法多年(如 no build JS 之于 HEY 网站),也会有人说这套“行不通”。
最后,DHH 展示了其公司主站 https://www.hey.com/world/ 的性能表现。他表示 HEY 主要应用运行的 JavaScript 代码没有经过构建。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Disjob—分布式任务调度框架
简介 Disjob是一款分布式的任务调度框架,天然为支持分布式长任务执行而设计,它除了具备常规的任务调度功能外,还提供:任务拆分及分布式并行执行、暂停及取消运行中的任务、恢复执行被暂停的任务、任务执行失败重试、保存任务的执行快照(Savepoint)、任务依赖、任务编排(DAG)、广播任务等能力。以下是Disjob的整体流程图: 应用场景举例 举个简单的例子:统计在(0,1万亿]区间内质数的个数。如果是单机单线程CPU的话要统计很长时间,这里我们就可以使用Disjob框架提供的分布式并行执行的能力来解决该类问题。 拆分任务 先根据当前的机器资源情况来决定拆分任务的数量,比如我们有5台机器及每台2 core CPU(质数统计是CPU密集型),决定拆分为10个任务。 派发任务 Supervisor使用指定的路由算法把拆分的10个子任务派发给这些Worker机器。 接收任务 Worker接收到子任务后,会提交到框架定义的线程池中执行。 分布式并行执行 在执行时我们可以使用分批次方式(通过代码循环)来统计,这里我们指定task-1在第一次循环统计(0, 1亿],第二次循环统计(10亿, 11亿...
- 下一篇
4大焕新,华为云CCE带你感受容器化上云体验
本文分享自华为云社区《华为云CCE邀您共同打造最佳容器化上云体验》,作者:云容器大未来 。 在容器化日益成为中大型企业上云主流选择的情况下,容器服务如何能帮助用户更简单快捷的上云、高效可信赖的运维? 为了更好的解决这个问题,CCE用户体验团队在今年进行了大量的用户现场调研,聆听用户的声音。围绕行业普遍存在的配置复杂门槛高、运维信息分散效率低、升级难度大等问题打造全新CCE体验,提出“易用:一站式集群配置,开箱即用”、“场景化:聚焦用户场景,无跳出运维管理”和“透明化:所见即所得,将复杂的过程透明化”的设计理念,同时融合了华为云全新设计语言,为用户打造集群开箱即用、异常快速高效定位、任务透明可信赖的容器化上云体验。 图1容器化体验改进 为了持续提供更好的产品体验,我们非常期待您对CCE产品的评价,如果您有任何的建议,欢迎通过页面底部的“意见反馈”向我们反馈,我们会认真听取您的宝贵建议。 设计语言焕新升级 CCE服务控制台应用了华为云全新的设计语言,这套设计语言的核心特点是更加贴近用户使用感知、着力提升用户使用友好性、降低使用难度,围绕用户关注点构建信息展现结构,构建更加友好、便捷的使用体...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Redis,开启缓存,提高访问速度