写点什么

Javascript 的兴起是否意味着 LAMP 的终结?

  • 2011-04-20
  • 本文字数:1400 字

    阅读完需:约 5 分钟

Metamarket 的 CTO Mike Driscoll 最近发表了一篇略带煽动性的帖子,讨论了Web 应用的架构。他认为 Node.js 框架预示着 LAMP 的终结。

三个月前,我们决定废弃仪表盘选用的框架:Python 的 Django,并用 Node.js(服务器端的 Javascript)重新构建了框架。鉴于 LAMP 堆栈已经死亡,我们才做出了这个决定。

Mike 认为 Web 有三个阶段:

  • 1991-1999:HTML 时代——这是个文档的时代。
  • 2000-2009:LAMP 时代——使用数据库的时代。
  • 2010-??:Javascript 时代。Javascript 时代是事件流的时代。

现代的 Web 页面已经不再是页面了,它们都是事件驱动的应用,信息会通过这些应用流转。

他解释道:

LAMP 架构已经死了,因为对于响应里的 Mashup,很少有应用愿意把全部的有效负载转移到很小的事件上去;他们只想用 Javascript 更新 DOM 的一个片段。AJAX 做到了这一点,但如果服务器端的 LAMP 模板有 10% 的 HTML 和 90% 的 Javascript,这么做显然是不对的……

Mike 认为,服务器的主要作用就是带着数据(JSON)把应用发送到客户端(Javascript),并让客户端从中构造 UI。服务器的次要作用则是监听处理事件的流,并有效地把响应推回客户端,这些事件可能是一次新的编辑、一条消息、或是 Ticker 发生了变化。

一些人对此发表了评论:

Bruce Atherton 赞成 Mike 的观点,但他认为事件并不会通过 HTTP 来流转:

Websockets 和 SPDY 将会接管这方面的处理,因为和 HTTP 相比,它们更合适这个任务。

Chase Sechrist 已经在很多地方使用了 Node.js,即便如此,他仍然列举了一些对 Node.js 的担忧:

你还需要知道一些高级知识,比如竞态条件的调试方法、事件循环的工作原理,甚至在递归回调导致栈溢出时,调用堆栈的处理方式。正因为如此,对那些写了二十年 C 的人、还有刚开始编程的初级工程师来说,控制流还是非常奇怪、令人费解的。

“Jorjun”指出,以现在的变化速度来看,即使 Javascript 这个新的架构是合理的,它也不会太持久:

两年之内会有一种更高效的方式对宝贵的 IP 进行编码。需要注意的是,新的方式正在出现,Java 对它们没有任何意义——这些方式在九十年代末还没有出现。Javascript 的愚蠢名副其实。它有大括号、奇怪的 Fudgery、极其恼人的 Artefact,对我这样的老学究来说,Javascript 看起来轻率、讨厌、太复杂而容易混淆。

NOLOH 的联合创始人 Asher Snyder 认同帖子的前提条件:“Web 应该、也正在转向事件。”但并不相信 Javascript 能引领方向。他认为“我们正在走向一个平台或统一语言的时代,因为只有平台或统一语言才能让快速开发真正处理好 Web 的疯狂”。

Subbu Allamaraju 最近发布了 Node.js 和 Play 的一些性能对比数据,InfoQ 和他简单讨论了一下:

就个人而言,我发现 Node.js 和 Play 等框架让 Web 开发人员觉得很兴奋,因为它们带来了一些新的思想。在 Web 框架领域,特别是在 Java 端,这样的简单性已经很久违了。尤其是 Play,它在 Netty 之上,而不是传统的 Servlet 框架,是一个很不错的选择。

Web 应用架构的演进确实很快。由于 Web 应用变得越来越“厚重”,特别是在事件驱动的世界里,人们只能思考 REST 还剩下什么,看来我们要回到最初开始的地方了。最近我们确实没怎么听说有关 REST 及其统一接口的消息,还有它怎样成功改变 Web 应用架构的相关内容。你对 Web 应用架构的未来持什么观点呢?你怎么看 Javascript 成为主流的编程语言?

查看英文原文: Will the Rise of Javascript Mean the End of LAMP?

2011-04-20 09:328742
用户头像

发布了 151 篇内容, 共 61.6 次阅读, 收获喜欢 18 次。

关注

评论

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

2025北京国际自动驾驶技术展览会

AIOTE智博会

自动驾驶展 自动驾驶展会

荣耀 MagicOS 9.0 发布会及开发者大会,现正直播中

荣耀开发者服务平台

人工智能 AI 开发者大会 荣耀

单月30k+ Downloads!一款头部Embedding开源模型

合合技术团队

开源 工具 科技

QCN9274-QCN6274: How Does 320MHz Bandwidth in the 6GHz Band Improve Data Transfer Speeds Compared to Previous WiFi Generations?

wallyslilly

qcn9274

智能合约开发中的LP分红系统

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

k8s 中的 Gateway API 的背景和简介【k8s 系列之四】

快乐非自愿限量之名

Kubernetes 容器

Claude 大更新,AI 可模仿人类访问电脑;月之暗面招募微软亚研院谭旭,研发类 GPT- 4o 的端到端语音模型

声网

【FAQ】HarmonyOS SDK 闭源开放能力 —IAP Kit(3)

HarmonyOS SDK

HarmonyOS

IEPL专线:企业网络的高速保障

Ogcloud

企业组网 企业网络 IEPL 企业网络专线 网络专线

如何领导高级工程师团队

爱吃小舅的鱼

最新测评,6款好用的在线代码编辑器推荐

Tp_jh

云计算 云原生 高效工具 云 IDE 敏捷开发工具

淘宝详情API接口有什么应用?

科普小能手

API 接口 API 测试 淘宝API接口

科技是把双刃剑,巧用技术改变财务预测

智达方通

企业管理 数字化 科技 全面预算管理

免费报名!第五届“医疗大数据学术交流及 Datathon 活动”诚邀您的参加

ModelWhale

天润融通大模型文本机器人,让客服迈入“无人化”的第一步

天润融通

软件测试学习笔记丨Selenium学习笔记:三种等待方式

测试人

软件测试

望繁信科技创始人索强出席2022福布斯中国·青年海归菁英100人评选颁奖典礼

望繁信科技

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

软件需求分析报告完整版(软件项目套用原件)

金陵老街

软件设计 需求分析 软件需求设计

C#线性查找算法

EquatorCoco

C# 算法

天润融通知识库赋能一线客户运营,不是宝妈也可以成为育儿专家

天润融通

数据结构 - 树,三探之代码实现

EquatorCoco

Java 数据结构

深入理解 JavaScript 中的剩余参数和扩展运算符

秃头小帅oi

修复一个kubernetes集群

不在线第一只蜗牛

Kubernetes 容器 云原生

天润融通推出智能语音导航,自动识别客户意图实现高效分流

天润融通

和鲸科技亮相重庆市医学会临床流行病学和循证医学分会 2024 学术年会,探索临床研究标准化新路径

ModelWhale

人工智能 大数据 大模型 临床医学

系统数据安全解决方案(医疗行业Word原件)

金陵老街

信息安全 数据安全 数据互联互通

京东商品详情API全攻略:返回值字段一网打尽

技术冰糖葫芦

API 接口 API 文档 API 测试

2024最新1200道互联网大厂Java面试题附答案详解

采菊东篱下

编程 java面试

百度智能云千帆 AppBuilder 大模型应用开发解读

Baidu AICLOUD

应用开发 AI原生应用 大模型应用

去中心化衍生品入门:模型、挑战与机遇

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 钱包开发 代币开发

天润融通引领知识库革命,大模型技术实现自动知识采集

天润融通

人工智能

Javascript的兴起是否意味着LAMP的终结?_Java_Jean-Jacques Dubray_InfoQ精选文章