生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

前端根本不需要构建!“技术邪教”RubyonRails之父再

6月14日 孤小单投稿
  在近日的RailsWorld大会上,RubyonRails之父、37signals联合创始人兼首席技术官DHH(DavidHeinemeierHansson)发表了观点称,最快的打包工具就是没有构建(NoBuild),有了HTTP2以及浏览器原生支持ESModules,前端根本不需要构建。
  “复杂性已经堆叠得太高了”
  “我们正在构建一切,一切的一切。”DHH说道。目前,市面上正不断涌现种种令人兴奋的新框架和新库。“新生的事物太多了,可能我们必须得依靠AI提供的建议才能想明白该怎么应对。”
  DHH认为,人们似乎获得了越来越多能够创建出略好一点新版本的工具,但投入却一路飙升。这不是正确的方向、也不是理想的发展状态。
  DHH以自己当时开发RubyonRails的经历为例称,团队最初的立项是BaseCamp框架,前后花了约六个月时间,成员只有一位开发者加两名兼职设计师。最终BaseCamp建立起出色的业务,多年间创造了数亿美元的收入。“既然我们在2003、2004年那会儿就能做到,那么2023年我们理应做得更多。”
  对于企业需要用很长的时间才能做出一点改进的原因,DHH认为其中重要一点是,在生产力低下的时代,取得早期成功的那些企业定下了标准,其他人即使意识到自己需要一点不同的东西,也很难做出实质性的变革:要么效果没有大厂同类方案好,要么就是不具备同样的可扩展性。
  “根据一位Twitter前员工的说法,他们决定脱离Rails是因为之前的架构设计不好,于是他们决定转向当时认为更好的Java微服务这边。但很长一段时间过去,工作并没有什么进展。他们完成了立项,又雇用了好几千人,但毫无进展。Twitter的例子基本就是生产力黑暗时代的常态,人们认为工作在推进,但增量收益却极其有限。顺带一提,Airbnb那边也有类似的情况,这已经成了一种趋势。JavaScript框架造成的类似问题还有很多,甚至开始拖累整个行业的发展速度。”DHH以Twitter为例论述道。
  DHH还提到,过去10年到15年间,技术栈分化问题也给开发人员带来了困扰。架构师想要解决的只是他们认为能解决的问题,但未必是真正重要的问题。所以大家需要关注的是能做到哪些以往做不到的事,而每个人都应该努力成为全栈开发者。
  总而言之,DHH认为,过去10到15年间复杂性已经堆叠得太高了,现在是时候把简单性作为新的目标了。
  如何实现“无构建”
  就前端领域而言,某种程度上讲,它已经走进了一种“死循环”虽然它也获得了一定实质性的进展,改变了如今开发Web应用程序的基本预期,但紧跟潮流正变得越来越困难。
  对于前端的简化,DHH提出了“没有构建”的理念。“只要存在构建,那就只能提速。如果根本没有构建,那速度不就到头了?”
  “最先进的(打包)技术不再是寻找更复杂的方法来构建JavaScript或CSS,因为前端根本不需要构建。现在可以依靠HTTP2和对importmap的普遍支持来避免打包。”DHH介绍称。
  importmap直译过来是“导入映射”,可以让开发者直接在页面上管理模块,而不需要通过打包构建。“importmap堪称是Rail7中的一次大冒险。”DHH表示,配合HTTP2一道,importmap就构成了一条加载瀑布流,通过一系列独立的脚本让所有的内容都能同时加载,而不必再将JS拆分成一个个包。开发者可以更轻松、更顺畅地使用esBuild,甚至不再需Bun的协助。
  “NoBuild”还具备其他一些奇妙的功能,例如用户可以在任何网站上直接查看源,其内容不涉及任何源映射、不需要任何捆绑,它们就是开发出所编写的文件,未必是编译的纯JS文件。一切都能直接交付、不需要经过构建,直接在浏览器端呈现。
  对于Gamil那种极为复杂且充满交互的产品,DHH认为,HAML可以解决。“HAML为此而生,我们可以借此编写出纯JS代码而且无需任何构建。这让我非常兴奋,也是我们目前的主要开发方式。”
  没有构建的理念正在迅速普及,如今也已经进入了CSS,并推出了大受欢迎的CSS嵌套功能。现在所有浏览器都支持CSS编译,所有浏览器都支持自定义属性即变量。
  DHH透露,现在37Signals的新应用开发中也在运用这两大功能:无需构建JS代码和无需构建CSS。“之前我们就考虑过使用嵌套和变量来回避构建。事实证明没有构建不仅是可能的,而且具有极其重大的意义,我们耗费了约十年时间才破解这种复杂性。”
  DHH表示,绝大多数静态站点不需要花哨的构建管道。ServerSideIncludes(SSI)被严重低估了。他提出可以将一个Jekyll站点转换为SSI。“一旦将静态站点转换为SSI,我就会将这些简化为一个新工具,让它们变得简单。拥有一种巧妙的石器时代技术,可在5秒内自动推送更新。只需为其提供一个小型虚拟机即可,每月花费应该不会超过5美元。”
  DHH还表示,这一年半以来,37Signals开始转向propshaft,这个新库用于在Rails侧无需编译的前提下提供资产管道。它的基本功能只有两个:为所有资产提供加载路径,以便在任意视图中访问任意位置上的gem及其他资产;提供摘要标记,从而确保拥有良好的远期动态缓存。
  在推特上,DHH还展示了公司主站的性能表现,他表示HEY主要应用运行的JavaScript代码没有经过构建。“我认为我们在NoBuild、importmap和大约100个单独的JS文件方面做得很好!我们发送500kb的未压缩JS,而Gmail则发送10mb!”
  “在es6以及JS世界中一系列基础进展的支持下,如今的前端代码已经做好了跨越复杂性之桥的准备。我知道,现在的方案仍然有点复杂,但从结果上看所有付出都绝对物有所值。”DHH表示,“我们目前最应该做的是:在现代Web应用程序的构建过程中,剔除一切形式的JS捆绑或转译。当然,这样的未来是等不来的,我们应该从现在开始转换自己的开发思路。”
  真有用还是噱头而已?
  对于DHH提出的“NoBuild”理念,VercelCTOMalteUbl在推特上表示,他们已尝试过,但结果是行不通。因为在HTTP2中,每个请求的开销仍然非常大,并且存在并发限制,此外还会出现瀑布流和低效压缩。目前,“打包”对于高性能网站来说是无法绕过的。
  DHH不认可MalteUbl所说的“行不通”。他表示,这就是技术讨论的奇怪之处。即便已经有案例证明项目能完成大规模任务(如Rails之于Shopify),但人们也会声称它不能进行扩展。或者已顺利使用某种方法多年(如nobuildJS之于HEY网站),也会有人说这套“行不通”。
  还有人觉得这个只是噱头。推特网友“Viking”表示,自从移除TypeScript后,DHH越来越激进了。甚至有网友称DHH散发出令人不安的“邪教领袖”气息。
  开发者Nander表示,“构建时间并不重要,重要的是FCP(FirstContentfulPaint,从开始加载到页面内容的任意部分在屏幕上渲染出来的时间)。导入映射时间并不比位于同一服务器上的RSC(构建步骤)和最小化捆绑包(构建步骤)快。”
  “Chrome删除了HTTP2的多路复用,它并不比捆绑更有效率。HTTP3已经解决了这个问题,并且可能证明捆绑已经成为过去。但据我所知,还没有人尝试过HTTP3多路复用esm服务器。Node、Deno和Bun甚至还没有支持HTTP3。”JoePea说道。
  还有开发者指出,不打包把开发细节暴露给用户,浏览器原生支持不等于高效。build是快了,但运行时慢了的话还划算吗?前端工程化的一个重要里程碑就是引入了build步骤,让开发体验和用户体验分离,特别是几百个不同版本的、不同浏览器的用户体验完全分离,这才让开发者真正解放了。
  有开发者很喜欢这个主意。Rails开发者NiklasHusele表示,“我喜欢用‘NoBuild’的方式进行本地开发。无需等待即可刷新,这就是最高的生产力。我甚至删除了tailwindcssrails并将其替换为tailwindCDN,以避免必须在本地运行任何内容。对于tailwindcssrailsgem来说,这将是一个有趣的默认值。”
  对于DHH“没有构建”的理念,你有什么看法?欢迎在评论区留下你的想法。
  参考链接:
  https:www。youtube。comwatch?viqXjGiQDA
  https:twitter。comdhhstatus1713615147393323408
  https:twitter。comcramforcestatus1712265070213050390
  https:twitter。comcramforcestatus1712265070213050390
  https:world。hey。comdhhyoucantgetfasterthannobuild7a44131c
  本文转载来源:
  https:www。infoq。cnarticle9k37mArAJlY708eGOkVP
投诉 评论 转载

医美行业消费者投诉案件5年增长近14倍热博聚热点网 原标题:医美行业消费者投诉案件5年增长近14倍如何辨别医疗美容机构资质?变美不成,却造成了终身伤害。近几年,我国医疗美容市场正呈现快速发展趋势,因医疗美容引起的消费纠纷也……前端根本不需要构建!“技术邪教”RubyonRails之父再 在近日的RailsWorld大会上,RubyonRails之父、37signals联合创始人兼首席技术官DHH(DavidHeinemeierHansson)发表了观点称,最快……快递员私拆客户内衣包裹发朋友圈,大家怎么看,以后快递还有隐私 大概看了下新闻的大致内容,从这名快递员的聊天记录来看,显然这种拆客户快递并予以曝光在自己朋友圈的事情并不是这名快递员一个人所为,这种行为一定程度上损害了客户的隐私权,同时也进一……2023年地方国际商会秘书长联席会议在海口成功举行热闻聚热点 10月18日下午,中国国际商会会员发展部在海南省海口市组织召开了2023年地方国际商会秘书长联席会议,来自34家副省级以上地方贸促会、国际商会代表出席会议。与会代表围绕加……大宗物资贸易的矛盾点:买方的期望与居间人的无作为热文聚热点网 做大宗物资贸易的矛盾点?大宗物资贸易买方、中间人、货方一直都有一个矛盾点。我们作为买方来讲,我们希望我们每次的行动都能百分百成功。但是中间人和货方他们是做不到的,中……主贷人公积金已停缴另一方仍在缴会罚息吗热传聚热点网 住房管理中心规定:未按合同约定还款的逾期贷款计收罚息,同时将借款人不良信用记录报送中国人民银行征信系统。因此用住房公积金申请房屋贷款的,若在辞职后,公积金的停缴一定不能超过6个……《莫斯科行动》:只有一个字燃热评聚热点网 《93国际列车大劫案:莫斯科行动》(简称《莫斯科行动》)还是熟悉的邱礼涛配方:那种毁天灭地的快慰,那种对于城市设施的大面积摧毁,那种对残暴不加遮掩地呈现,以及,那种正义邪恶无非……霜降时节,遇到此菜使劲吃!生吃补肾,熟吃健脾,不懂吃可惜了热 霜降时节,遇到此菜使劲吃!生吃补肾,熟吃健脾,不懂吃可惜了“霜降”,是24节气中第18个节气,此时天气变冷,初霜出现,这个节气是秋季的最后一个节气,进入霜降就意味着冬季的……恒大集团被执行3。5亿元,执行难问题引发深刻思考热传聚热点网 近日,关于恒大集团被执行3。5亿元并且目前仍存在40余条被执行人信息的消息引起了广泛热议。这一事件再次凸显了执行难问题在社会中的严重性。执行难不仅仅是企业和个人利益的问题,也牵……《柳舟记》官宣:王楚然当女主,张晚意这致命一拉,我人没了!热 《柳舟记》官宣:王楚然当女主,张晚意这致命一拉,我人没了!《柳舟记》官宣男女主,王楚然和张晚意搭档合作。张晚意饰演腹黑王爷崔行舟,王楚然饰演冷艳女寨主柳眠棠,先婚后爱的古……劳动合同三年试用期最长延长多长时间热传聚热点网 问:劳动合同三年试用期最长延长多长时间律师解答:合同三年的,试用期不得超过六个月。劳动合同试用期规定:劳动合同期限不满三个月的,不得约定试用期;三个月以上的,试用期……父母是否应该教育哥哥姐姐让着弟弟妹妹:一道难以逾越的伦理难题 在一个大家庭中,兄弟姐妹之间的关系是复杂而微妙的。其中,哥哥姐姐的角色尤其具有挑战性,因为他们需要在照顾和保护弟弟妹妹的同时,确保自己的权益不被侵犯。近年来,关于父母是否应该教……
信息化和数字化这两者有什么联系和区别?热闻聚热点网 音乐诗剧《大河》将上演用诗与音乐书写人民史诗热评聚热点网 鹧鸪茶,海南特产清热解渴的养生茶,“包装”很特别热传聚热点网 揭秘最屌丝国民神车:垫底10年,却靠“换壳”年入千亿热文聚热 开始了,小舞救夫也被打成反派,网友直言真是一肚坏水热评聚热点 少年歌行前传断更,要11月才恢复,粉丝炸锅,集数短还萎靡了热 【话题有奖征集活动】刘强东转让京东系股权释放哪些信号热评聚热 新能源汽车时代,汽车之家加深护城河热文聚热点网 黑道圣徒:重启版》GI评测:8。5分热议聚热点网 健脑止萎汤对肌营养不良的六大优势热闻聚热点网 【歌词】右边的爱歌手:非主流歌曲热文聚热点网 《极狐》六位假面骑士变身,姿势都不相同,并且拥有各自的特点!
室内攀岩墙有哪些类型经历是一种收获汽车水箱温控器容易坏吗为造电池购买镍?特斯拉正与印尼谈判,还可能建厂手机是需要保养的你知道吗小草外地人在北京报考驾照的条件什么是网红八字刘海需要烫吗吴达子:石家庄的电子商务怎样热传聚热点网 有关于珍惜的名人名言用文字化作幽默的细胞妙语连珠让你笑起参加冰雪游出了安全问题谁来承担相应责任?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西