50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

前端开发的“内卷”终结者:扔掉复杂的 JavaScript 框架,用 PHP 与 jQuery 构建应用

  • 2024-10-16
    北京
  • 本文字数:2785 字

    阅读完需:约 9 分钟

大小:1.32M时长:07:41
前端开发的“内卷”终结者:扔掉复杂的 JavaScript 框架,用PHP 与 jQuery构建应用

导读:在现代互联网时代,随着技术的迅猛发展,JavaScript 框架已成为 Web 开发领域的主流。然而,越来越多的开发者开始质疑这些框架的必要性,认为它们带来了不必要的复杂性和性能问题。本文深入探讨了这种复杂性的反作用力,从初创企业到公共服务网站,探究了为何“保持简单”正在重新获得青睐。通过多个开发者的声音,我们揭示了 JavaScript 框架对项目的潜在影响,以及如何通过渐进增强和避开过度依赖框架,构建更高效、更可靠的 Web 应用。无论你是开发者、技术管理者,还是对互联网技术感兴趣的读者,这篇文章都将为你带来新的思考角度,揭示一个或许即将到来的技术潮流转变。

 

反抗 JavaScript 框架的潮流正愈演愈烈。在 Lex Fridman 的近期访谈中,AI 应用领域的开发者 Pieter Levels 分享了他的独特开发哲学:他仅依赖基础的 HTML、PHP、少量 jQuery 增强的 JavaScript 以及 SQLite 数据库,坚决不采用复杂的 JavaScript 框架、现代编程语言或 Wasm 技术。

 

Levels 坦言:“我观察到 PHP 正在复兴。人们似乎对层出不穷的框架感到了厌倦。JavaScript 框架虽功能强大,却常显笨重,维护成本高昂,每次新版本发布都可能带来大规模的代码重构需求。相比之下,PHP 以其稳定性和可靠性著称,仍能胜任各种工作场景。”

 

在他的个人简介中,Levels 自豪地列出了自己参与创立的七个创业项目,并在其网站上积极倡导:“快速迭代,频繁发布产品。” 这充分彰显了他作为实践者的本色,倾向于高效快捷的开发路径,因此选择绕开那些复杂的 Web 框架。

 

众多知名开发者纷纷在社交媒体上附和了 Levels 的观点。

 

“那些鼓吹复杂性的推销员会让你深信,如今你已无法单凭一己之力完成任何事情,”Ruby on Rails 的缔造者 David Heinemeier Hansson(DHH)在其推文中写道。“他们会告诉你,你无法处理身份验证、无法实现扩展、无法运行数据库,甚至无法让计算机连上互联网。他们想让你觉得自己束手无策,只能依赖购买他们的产品。别上当,勇敢拒绝这种套路。”

 

更有甚者,一些开发者对自己曾经转向 JavaScript 的决定表示了深深的懊悔。

 

“2010 年,将我的主站从 PHP 迁移到其他平台,是我职业生涯中最糟糕的决定之一,” 网页开发培训界的领军人物、Frontend Masters 公司的创始人兼 CEO Marc Grabanski 在推文中坦言。“那时,我的原生 PHP 网站每月吸引超过一百万独立访客,但那次迁移到更新语言和框架的尝试却让网站彻底失去了原有的势头,最终导致了它的没落。” 在随后的详细解释中,他进一步澄清,自己的观点并非针对 PHP 本身。“我的意思是,如果你的项目能够凭借简洁的代码顺利运行,那就不要盲目追求潮流而进行过度设计。保持简单,并全力以赴地维持项目的良好发展势头。”

 

“简约至上” 的理念,在计算机科学的殿堂里早已根深蒂固。回溯至 1998 年,史蒂夫·乔布斯(Steve Jobs)在一次访谈中深刻阐述道:

 

“化繁为简,往往比构建复杂系统更为艰巨:它要求你倾注大量心力去梳理思绪,直至达到化境。但这份努力绝非徒劳,因为一旦实现,你将拥有移山倒海般的力量,轻松驾驭复杂。”

 

复杂度的另一端

有趣的是,这股简约之风不仅在由 Pieter Levels 引领的 “奋斗不息” 创业浪潮中重新焕发生机,还悄然渗透至专业的 Web 开发领域,成为一股不可忽视的力量。

 

在开发者群体中,很难找到像 Pieter Levels 与 Alex Russell 这样背景迥异的两位人物了。Levels 是 PHP 领域的积极倡导者与成功创业者,而 Russell 则身为微软浏览器工程师,同时也在 Web 开发界享有极高的声望,是引领潮流的关键人物之一。尽管两人在技术理念上大相径庭,但令人瞩目的是,他们如今都不约而同地对复杂的 Web 框架持批评态度。

 

在近期的一系列博客文章中,Russell 发起了一项个人研究,深入探讨了 “JavaScript 主导的前端文化如何对美国的公共服务体系造成不利影响”。他以 BenefitsCal 为例,详尽剖析了公共服务网站中 JavaScript 过度使用的弊端。

 

BenefitsCal,作为加利福尼亚州新近推出的在线服务平台,旨在为寻求 SNAP 福利(即食品券)援助的家庭提供便捷服务。然而,通过运用 WebPageTest.org 及 Google Core Web Vitals 等权威网页性能评估工具,Russell 揭示了该网站存在的一个严峻问题:JavaScript 文件体积庞大,严重拖慢了网站的加载速度。

 

他指出:“首要问题在于,BenefitsCal 网站依赖于总计达 25MB(未压缩状态,实际传输时压缩至 17.4MB)的 JavaScript 代码,且这些代码在展示任何实质性内容之前便需完全加载。即便在最佳网络环境下,这样的加载速度对多数用户而言也是难以接受的。对于那些网络条件不及 P75 基线模拟标准的用户而言,他们将面临更为漫长的等待。更为严重的是,如此庞大的脚本量还显著增加了在低性能设备上浏览器标签页崩溃的风险。”

 

系列文章的第四篇章中,Russell 针对上述问题提出了一系列应对策略。他特别推荐我们研读英国政府制定的 “渐进增强” 标准,该标准被收录在 gov.uk 网站的 “服务手册” 之中,作为一项重要的指导性内容。Russell 所引用的链接页面开篇即明确定义道:

 

“渐进增强,是一种精心规划的网站及应用程序构建策略。其核心思想在于,我们应从确保网页仅凭 HTML 就能实现基本功能为起点,随后再循序渐进地融入层叠样式表(CSS)及 JavaScript 等技术元素,以逐步提升用户体验。”

 

摒弃 JavaScript 框架的浪潮

 

在 Web 开发的广阔天地中,利用 PHP 与 jQuery 迅速搭建起一个简易的 Web 应用,与坚守渐进增强原则、致力于打造符合 Web 标准的应用,两者之间的鸿沟显而易见。前者倾向于迅速推出 “最简可行产品”(MVP),往往优先满足配备高端设备如 iPhone 用户的体验;而后者,则深谋远虑,旨在为未来的扩展奠定坚实基础,同时确保应用能够惠及最广泛的用户群体,包括那些并不使用 iPhone 的用户。

 

然而,在追求这些目标的过程中,JavaScript 框架却意外地成为了绊脚石。Pieter Levels 在开发众多应用时,明智地选择了绕开这些复杂的框架;而 Alex Russell,则更是不遗余力地推动公共服务网站采纳 更为优化 的开发实践。

 

这股反对过度依赖复杂 Web 框架的潮流,或许正预示着一种更加理性、务实的开发理念正在兴起。

 

作者简介:

 

理查德·麦克马纳斯(Richard MacManus),作为《The New Stack》的资深编辑,深耕于 Web 及应用开发趋势的报道领域。早在 2003 年,他便创立了 ReadWriteWeb,并将其发展成为享誉全球的科技新闻巨头,深刻影响了行业内外。从博客、社交媒体到 Ajax 等革命性互联网工具的萌芽初现,再到现今风靡的 AI、元宇宙及 JavaScript 框架等前沿技术,麦克马纳斯凭借敏锐的洞察力与深刻的解析力,多年来始终屹立于技术趋势预测与解读的前沿,被誉为该领域的领航者。

 

原文网址:

 

https://thenewstack.io/developers-rail-against-javascript-merchants-of-complexity/

 

声明:本文为 InfoQ 翻译整理,未经许可禁止转载。

2024-10-16 16:3110540

评论

发布
暂无评论
发现更多内容

[大厂实践] 从混乱的事件驱动到高性能服务 API

俞凡

架构 大厂实践

TRAE Agent 在 SWE-bench Verified 上得分 75.2%,并已开源

火山引擎开发者社区

Trae

Column-Stores vs. Row-Stores: How Different Are They Really?

数新网络官方账号

数据库 大数据

百万 TPS 服务发布无感知!详解轻量消息队列无损发布实践

阿里巴巴云原生

阿里云 云原生 消息队列

面试官:如何实现大模型连续对话?

量贩潮汐·WholesaleTide

面试

揭秘字节跳动内部流量调度与容灾实践【下】

火山引擎开发者社区

火山引擎

从采购到退役,一本账管到底 —— CMDB如何实现资产生命周期全流程可视化

智象科技

运维 CMDB 一体化运维

Prompt Engineering 快速入门+实战案例

火山引擎开发者社区

AI 大模型

嘉为蓝鲸携ITSM亮相香港,以智能运维之力赋能港澳企业数字化转型

嘉为蓝鲸

数字化转型 ITSM 智能运维

2025 年 Splunk 的 5 大替代方案:企业日志管理

运维有小邓

日志管理

Overlay for Mac 图像和文档透明显示工具

晨光熹微

Car Kit重构车机开发体验,让车载应用开发驶入快车道

HarmonyOS SDK

HarmonyOS NEXT HarmonyOS SDK应用服务

智象运维平台:用AI打造企业知识的“第二大脑”

智象科技

#运维 IT 运维 AI 大模型

【运维神器】自动巡检 3 大场景实测!资源浪费、配置混乱、节前焦虑全搞定!

智象科技

IT 运维 一体化运维 自动化巡检

更强模型效果!豆包大模型 1.6 系列上线边缘大模型网关,最高申领1000万免费 Tokens

火山引擎开发者社区

火山引擎

腾讯云TencentOS Server V4 全面支持安全启动,适配CFCA签名,全平台开箱即用

极客天地

Master of Typing 3 for Mac 打字大师 专业的打字练习软件

晨光熹微

SpringBoot集成测试笔记:缩小测试范围、提高测试效率

不在线第一只蜗牛

spring

『OpenCV-Python』加载网络图片

德育处主任

CFlow价值流管理平台:让产研浪费可见、可管、可优化

嘉为蓝鲸

DevOps 智能运维 价值流管理 CFlow

TreeMap集合--底层原理、源码阅读及它在Java集合框架中扮演什么角色?

电子尖叫食人鱼

Java 数据库

DevOps 评审管理:破解评审管理痛点,助力产研高效协同

嘉为蓝鲸

DevOps 智能运维 评审管理

诚邀报名参会|2025开放原子开源生态大会开源鸿蒙主题演讲即将举办

新消费日报

新手小白开课了!适合小白的6种硬盘数据恢复的方法

阿拉灯神丁

EasyRecovery 数据恢复软件 mac硬盘数据恢复工具 数据丢失

CMDB 报表体系:设计原则与实践路径,赋能 IT 全流程管理

嘉为蓝鲸

CMDB 智能运维 报表体系

中国工业互联网研究院《工业数据库规范》发布,涛思数据深度参与制定

TDengine

涛思数据 tdengine 时序数据库

WeOps V5.24&V4.24新体验:AI提效文案,告警实时强提醒

嘉为蓝鲸

k8s 监控 智能运维 #WeOps

My Metronome for Mac 音乐节拍器软件

晨光熹微

前端调试实践

京东科技开发者

【新模型速递】PAI-Model Gallery云上一键部署Kimi K2模型

阿里云大数据AI技术

人工智能 大数据 开源 数据处理 大模型

智象科技赋能金融、证券行业 IT 运维

智象科技

IT 运维 一体化运维

前端开发的“内卷”终结者:扔掉复杂的 JavaScript 框架,用PHP 与 jQuery构建应用_架构/框架_Richard MacManus_InfoQ精选文章