如果你一直在关注互联网的相关技术,你应该会有这样一种感觉,web技术正在发生着变革,虽然我们不愿相信,但一个事实已经越来越清晰的摆在了眼前:LAMP组合的时代将要成为历史,在web诞生的二十年间,它影响了互联网上的内容、协议、服务器以及客户端,而在今天看来,它即将成为一个过去的时代了。
## I. 1991-1999: HTML时代
HTML时代的核心是文档,HTML的最初构想是用来提供大型、虚拟化的文档系统。当时的web页面是静态的,文件的代码需要手工编写,相应的web客户端的文档解析也非常粗糙。总之,在这个时代,服务器与客户端都是静态的。
## II. 2000-2009: LAMP时代
LAMP时代的核心是数据库。与文档时代相比,主导的web组合为LAMP或类似LAMP的架构,无论是CGI,PHP,Ruby on Rails,或者Django,其主要模式是用数据填充HTML模板,服务器端提供动态的内容,但客户端仍然是静态的。
## III. 2010-??: Javascript时代
Javascript时代的核心是事件流。现代的web页面已经不再是普通的页面了,它们通过改变内容提供基于事件驱动的应用。web的核心-DOM(文档对象模型)-仍然存在,但是它不再充当HTML标记,DOM是内存中Javascript生成的经过高效编码后的数据结构。
LAMP架构已死,因为一些web应用需要对加载标记(markup)到客户端的一个小小的事件而使服务器满负荷运行,这仅需要借助Javascript来更新DOM的一个片段而已。Ajax可以实现这点,但是当你的LAMP架构的服务器端HTML模板中仅包含10%的HTML和90%的Javascript时,很明显你的设计存在着问题。
要认识到这种改变,就意味着需要丢掉以前的思维和观念,请不要单纯的把服务器作为文件传送者(HTML时代),或者将服务器看作一个模板渲染器(LAMP时代),我们可以把它看作是提供功能或者数据装配的角色。服务器的主要作用就变为传送应用到客户端(Javascript),同时携带数据(JSON),并让客户端组织成一个DOM。
服务器的第二个角色就是监听事件流(一次修改,一条信息,或者股票的实时变化),并能高效的返回响应给客户端。
对于上面所提的两种角色来说,node.js提供了一种理想化的服务器端架构。由于我们可以在服务器端使用柯里化的Javascript函数,我们应该用Javascript来写,并且还可以容易的将一些服务器端的功能转移到客户端(比如,我们就不再需要实现两个自定义字符串格式的类库了)。
对于事件流的处理,node.js是比较理想的,其异步、非阻塞的架构就意味着速度很快。node.js在使用HTTP 1.1,保持连接打开的情况下,仅需一台普通服务器就能实现并发处理数千个连接。
最后,值得一提的是,事件是简单的数据包,以及JSON是web数据的通用语言,JSON可以保存股票分时线的即时数据,或者到达的消息,对于node.js来说,是原生就支持的。
Javascript时代带给我们的更像是一个网络,而不仅仅是一个全球性的数字图书馆,它更像一个全球性的数字神经系统,这种影响才刚刚开始。你是否也这样认为?
分享到:
相关推荐
总结来说,Node.js v0.1.14的发布开启了服务器端JavaScript的新时代,它的非阻塞I/O模型、事件驱动架构和强大的V8引擎为Web开发带来了前所未有的效率提升。随着时间的推移,Node.js不断进化,成为开发者构建现代Web...
在HTML5时代,JavaScript的作用更为凸显,V8引擎的高性能使得JavaScript在浏览器中的执行效率大幅提升。此外,NodeJS利用JavaScript构建服务器端应用,使得前后端可以统一语言,提高了开发效率和代码复用。 3. **...
在当今互联网时代,电商平台已经成为各类商品销售的重要渠道。本项目旨在构建一个基于Vue.js前端框架和Node.js后端框架的茶叶售卖平台,结合MySQL数据库,实现茶叶的在线展示、购买及管理功能。以下将详细介绍该项目...
项目中的“基于微信小程序的西餐外卖系统的设计与实现NodeJS”文件包含了详细的代码实现和文档说明,对于学习微信小程序开发和Node.js后端技术的开发者来说,是一份宝贵的实践资料。通过阅读源码,可以了解整个系统...
在当今互联网技术日新月异的时代,实时通信成为了一项重要的需求,而WebSocket协议的出现解决了HTTP协议的非持久性问题,为构建实时应用提供了可能。本项目是基于Node.js和WebSocket技术实现的一个简单的聊天室,还...
《基于微信小程序的西餐外卖系统的设计与实现NodeJS》 微信小程序作为移动互联网时代的新宠,因其无需安装、即扫即用的特性,成为众多开发者和企业开发轻量化应用的首选平台。本项目旨在利用微信小程序技术,结合...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它通过提供异步、非阻塞I/O模型,使得JavaScript得以在服务器端高效运行,从而开创了前后端同语言的新时代。本项目是一个小型的Node.js博客系统,非常适合初学...
本资料“黑马电商后台管理系统前端vue后端nodejs.zip”提供了全面的前端Vue.js与后端Node.js的实践案例,帮助开发者深入理解这两项技术在电商后台中的应用。 Vue.js,一款轻量级的前端JavaScript框架,以其简洁的...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O模型和事件驱动架构,使得JavaScript得以在服务器端大展拳脚,开辟了全栈开发的新时代。 本书涵盖了Node.js的基础知识,包括安装与配置...
在当今互联网时代,个人博客成为许多开发者、博主分享知识、表达观点的重要平台。Node.js,作为一款基于Chrome V8引擎的JavaScript运行环境,以其高效的非阻塞I/O模型和丰富的生态系统,成为了搭建此类应用的理想...
在数字化时代,微信作为国内主流的社交平台,其API接口的使用越来越广泛,特别是在企业级应用中,微信API被用于构建各种服务,如用户管理、消息推送等。本文将详细介绍一个基于Node.js编写的微信用户管理模块,该...
为了为即将到来的激动人心的新时代铺平道路,我们以更加模块化的方式更改了包的名称:直到发布1.64.0 ,我们的 npm 包被称为instana-nodejs-sensor 。 从版本1.65.0开始,名称已更改为@instana/collector 。 为防止...
在现代数字化时代,图书共享已成为推动知识传播、促进学术交流的重要手段。本项目“基于Node.js的面向图书共享”旨在利用先进的Web技术,构建一个高效、便捷的图书资源共享平台。Node.js作为JavaScript运行环境,以...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让JavaScript能够在服务器端执行,开启了全栈JavaScript开发的新时代。Koa2是建立在Node.js上的一个轻量级Web应用框架,由Express团队的成员创建,旨在提供...
在当今数字化的时代,美甲店铺也开始采用线上服务来提升顾客体验。本项目“基于微信小程序的美甲店铺座位预约系统NodeJS”旨在利用微信小程序的强大功能,结合Node.js后端技术,为用户提供便捷的预约服务。以下是...
NodeJS作为一个基于Chrome V8引擎的JavaScript运行环境,以其非阻塞I/O和事件驱动的特性,成为构建高效网络服务的理想选择。在anychat项目中,NodeJS用于处理服务器端逻辑,如连接管理、消息传输等,充分发挥了其在...
在当今的数字时代,游戏开发已经成为一个炙手可热的领域,而Node.js作为JavaScript在服务器端的强大力量,也逐渐被应用于各种各样的项目,包括游戏开发。"nodeGameGroup2"就是这样一个例子,它是一个基于Node.js的...
《Nodejs 影院售票管理系统的设计与实现》 在当今数字化时代,电影行业与互联网的融合日益紧密,影院售票管理系统成为提升服务质量和运营效率的重要工具。本文将详细探讨一个基于Node.js、Vue.js、ElementUI和MySQL...
首先,NodeJS是基于Chrome V8引擎的JavaScript运行环境,它使得开发者能够在服务器端使用JavaScript编写代码,极大地提高了开发效率和代码的统一性。在"expert_system_creator"项目中,NodeJS作为后端服务器,负责...
在当今互联网时代,HTML5(简称H5)游戏以其轻便、跨平台的特性受到了广泛关注,BrowserQuest作为一款典型的H5游戏,展示了Web技术在游戏开发领域的潜力。本篇将详细探讨BrowserQuest的Node.js后台技术,帮助你深入...