2025 年技术指引:让真实案例和经验为开发者开路 了解详情
写点什么

前端开发的“内卷”终结者:扔掉复杂的 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:3110017

评论

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

精彩回顾|博睿数据Bonree ONE 3.0产品发布会圆满落幕:三城联动 共襄盛举!

博睿数据

Facebook养号与推广技巧

Ogcloud

facebook 云手机 海外云手机 FB推广 FB引流

使用豆包Marscode 创建了一个”天气预报“小应用

豆包MarsCode

Python 人工智能 程序员 AI 项目

海外云手机解决IP、成本、稳定性问题

Ogcloud

云手机 海外云手机 云手机海外版 海外原生IP 海外IP

大咖领衔,2天AI创业创收训练营即刻启程!不要错过,速来占位!

霍格沃兹测试开发学社

MES管理系统助力企业车间管理可视化

万界星空科技

数字化转型 mes 可视化大屏 万界星空科技 生产可视化

高并发不慌!超实用缓存优化小窍门,你值得拥有

巧手打字通

redis 缓存 高并发 缓存架构 缓存加速

mac苹果电脑游戏推荐:暗黑2:毁灭之王 for Mac(含各职业存档)

你的猪会飞吗

Mac游戏下载 Mac游戏推荐

IPQ9574 and IPQ9578 details - The core debate of the Wi-Fi 7 era

wifi6-yiyi

一条SQL语句在MySQL中是如何执行的?

快乐非自愿限量之名

MySQL 数据库 sql

记一次 RabbitMQ 消费者莫名消失问题的排查

EquatorCoco

Rabbit MQ

低代码开发应用:确保数字化项目成功的5个技巧

不在线第一只蜗牛

低代码 数字化

BPM(业务流程管理)的最佳开源工具

NocoBase

开源 项目管理 低代码 BPM 无代码

【XIAOJUSURVEY& 北大】实现数据导出的前后端全流程

XIAOJUSURVEY

数据分析 Vue Node 问卷 数据导出

软件项目全套资料、全方案、源码梳理清单

金陵老街

开发文档 软件文档 实施文档 运维文档

荣誉加冕|数造科技荣获“2024爱分析·数据智能优秀厂商”

数造万象

人工智能 大数据 敏捷开发 智能化 大模型

直播标准权威发布,阿里云RTS获首批卓越级评估认证

阿里云CloudImagine

云计算 音视频 视频云 超低延时直播

BOE(京东方)携故宫博物院举办2024“照亮成长路”公益项目落地仪式以创新科技赋能教育可持续发展

科技汇

“数据思维人才培养论坛” 于大湾区大学举行,和鲸科技受邀共话产教创新路径

ModelWhale

人工智能 大数据 人才培养 高等教育

Yihong,从多元职业到代码之路 | MarsCoders 开发者说

豆包MarsCode

Python 人工智能 编程 程序员 AI

反DDD模式之“复用”

快乐非自愿限量之名

DDD

如何免费调用有道翻译API实现多语言翻译

幂简集成

翻译软件 API

漆包线工厂生产管理MES系统功能介绍

万界星空科技

mes 万界星空科技 漆包线mes 铜线mes 漆包线

中国可观测日「成都站」圆满落幕

观测云

可观测性

参与滴滴开源项目,获得精美礼品

XIAOJUSURVEY

GitHub 开源 活动 PR Issue

座无虚席!首期流程挖掘实践训练营火爆收官

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

振动韧性与智能的双翼,让数智金融飞向未来之屿

脑极体

AI

MatrixOne 助力某电信运营商构建低成本高性能车联网管理系统

MatrixOrigin

数据库 车联网 电信运营商

如何确定性能测试指标

老张

软件测试 性能测试 技术指标 高性能高可用

SaaS业务架构:业务能力分析

不在线第一只蜗牛

架构 SaaS

InfoQ精选 | 10款项目管理利器助力企业效率提升

爱吃小舅的鱼

项目管理 项目管理工具

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