17611538698
webmaster@21cto.com

开发者 “痛斥” JavaScript 框架是 “复杂性的制造者”

前端 0 458 2024-08-30 12:32:04

图片

导读:两名资深前端工程师 Pieter Levels 和 Alex Russell 反对使用复杂的 JavaScript 框架时,也许前端开发人员应该听听他们的意见。

对 JavaScript 框架的“抵抗运动”仍在继续。

在最新的 Lex Fridman 的开发者互动采访中,AI 应用程序开发人员 Pieter Levels 这样说,他使用原始 HTML、PHP、通过 jQuery 和 SQLite 的少量 JavaScript 构建所有应用程序。

也就是:没有用到花哨的 JavaScript 框架,没有现代编程语言,也没有 Wasm。

Levels 谈到 PHP 时表示:

“我现在看到了PHP复兴的迹象。人们已经厌倦了框架。所有的 JavaScript 框架都太……你怎么称呼它呢,就像 wieldy。维护这些代码需要做很多工作,然后更新到新版本,你需要变更很多。而 PHP 则保持不变,并且能够正常工作。”

Levels 在他 的X 平台简介中列出了七家不同的初创公司,并在自己的一个网站上给出了这样的建议:“尽早启动并多次启动。”换句话说,他是一个有进取心的人,喜欢快速构建 — — 这意味着要避开复杂的Web框架。

其他知名开发者也在社交媒体上表达了与 Levels 相同的观点。

“复杂性开发者会试图说服你,如今你什么都做不了,” Ruby on Rails 的创始人David Heinemeier Hansson (DHH) 写道。“你不能进行身份验证,不能进行扩展,不能运行数据库,不能将计算机连接到互联网。你是一个无助的小工,应该购买他们的产品。不。拒绝。”

有些人甚至对旧版 JavaScript 的迁移表示遗憾。

“2012 年将我的主要网站从 PHP 迁移出来,是我职业生涯中犯下的最严重错误之一,”Web开发培训公司 Frontend Masters 的创始人兼首席执行官Marc Grabanski 如此说道。

时我有一个普通的 PHP 网站,每月有超过一百万的独立访问量,而迁移到更新的编程语言和框架后,却扼杀了所有发展势头,最终导致网站倒闭。

他补充说,他的观点与 PHP 无关。“如果你有一个使用简单代码的项目,不要为了追逐热门而过度设计它。保持简单,不惜一切代价保护你在项目上的势头。

当然,“保持简单”的口号在计算机专业领域并不鲜见。

苹果创始人史蒂夫·乔布斯曾在1998 年的一次采访中说过这样的话:

“简单可能比复杂更难:你必须努力理清思路,才能让事情变得简单。但最终这是值得的,因为一旦你做到了,你就能移山倒海。”

复杂程度的另一端


真正有趣的是,简单哲学不仅在 Pieter Levels 所代表的“忙碌文化”创业圈中卷土重来,而且在Web开发的专业软件工程圈中也会卷土重来。


我想不出还有哪两位开发者比 Pieter Levels(PHP 拥护者与创业者)和 Alex Russell(微软浏览器工程师,也是 Web 开发领域最受尊敬的人物之一)更不同。


尽管他们的观点不同,但他们目前都反对复杂的 Web 框架。


在最近的一系列博客文章中,Russell 发起了一项个人调查,调查“JavaScript 优先的前端文化及其如何破坏国家公共服务”。

Russell 在对BenefitsCal 的调查中,清楚地说明了在公共服务网站中使用大量 JavaScript 的弊端,他将 BenefitsCal 描述为“加利福尼亚州最近为需要获得 SNAP 福利(即“食品券”)的家庭开发的门户网站”。


人们使用 WebPageTest.org 和 Google 的 Core Web Vitals 等网络性能工具,Russell 发现 BenefitsCal 充斥着 JS脚本,加载速度极慢:


“第一个问题是,该网站依赖 25 兆字节的 JavaScript(未经压缩,在线传输时为 17.4 MB),并在向用户呈现任何内容之前加载所有内容。即使服务良好,这对许多人来说也会慢得无法使用。连接比此处模拟的 P75 基线更差的用户会经历极其漫长的等待时间。这么多脚本增加了低端设备上标签崩溃的可能性。


在本系列的第四部分,Russell 提出了一些解决方案。


除其他事项外,他建议阅读英国的渐进式增强标准。它是英国政府官方网站 gov.uk 的“服务手册”的一部分。


Russell 链接到的页面开头是:


“渐进式增强是构建网站和应用程序的一种方式。它基于这样的理念:你应该首先使用 HTML 来制作页面,然后再添加其他内容,例如层叠样式表 (CSS) 和 JavaScript。


对 JS 框架说“不”


不可否认的是,使用 PHP 和 jQuery 快速开发 Web 应用程序与用渐进式增强理念实现符合 Web 标准的 Web 应用程序之间存在很大差异。前者主要关注实现快速开发和“最小可行产品”——最有可能面向拥有昂贵设备(如 iPhone)的用户——并能尽快推出。


后者主要关注为未来开发奠定坚实的基础,并尽可能扩大用户群(实际上,这包括那些没有 iPhone 的用户)。


无论如何,JavaScript 框架对于他们想要实现的目标来说都是一种“诅咒”。Pieter Levels 在创建他的许多应用程序时会避开它们,而 Alex Russell 则在努力说服公共服务网站采用更好的开发实践做法。


是的,最后的潮流都会转向不复杂的Web框架。

作者:万能的大雄

评论