`

NodeJS与Javascript时代

阅读更多

如果你一直在关注互联网的相关技术,你应该会有这样一种感觉,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时代带给我们的更像是一个网络,而不仅仅是一个全球性的数字图书馆,它更像一个全球性的数字神经系统,这种影响才刚刚开始。你是否也这样认为?

 

分享到:
评论

相关推荐

    基于Nodejs和JavaScript的电子设备气候影响检测设计源码

    该项目中的15个JavaScript文件可能是用来处理气候数据、与硬件接口交互、提供用户界面交互逻辑以及后端服务的主要代码库。它们可能包含了API调用逻辑、事件处理、数据验证、用户输入处理等功能模块。 3个JSON文件很...

    nodejs最初版本(2009)

    总结来说,Node.js v0.1.14的发布开启了服务器端JavaScript的新时代,它的非阻塞I/O模型、事件驱动架构和强大的V8引擎为Web开发带来了前所未有的效率提升。随着时间的推移,Node.js不断进化,成为开发者构建现代Web...

    基于nodejs+mysql开发的新闻聚合网站源代码+数据库+详细项目文档

    在当今信息技术飞速发展的时代,新闻聚合网站作为一种新型的信息传播方式受到了广泛的关注。新闻聚合网站能够将来自不同来源的新闻内容集中在一个平台上,为用户提供便捷的新闻阅读体验。本项目是一个基于nodejs和...

    文心一言_TypeScriptJavaScript_SDK_在浏览器和_Nodejs_中调用文心一_erniebo

    在当今的数字时代,前端开发与后端开发的融合已经变得越来越普遍,尤其是在使用现代JavaScript及其衍生技术时。TypeScript作为一种由微软开发的开源编程语言,是JavaScript的一个超集,它添加了可选的静态类型和基于...

    基于HTML5 nodeJS MongoDB构建在线图像编辑器系统.pdf

    在HTML5时代,JavaScript的作用更为凸显,V8引擎的高性能使得JavaScript在浏览器中的执行效率大幅提升。此外,NodeJS利用JavaScript构建服务器端应用,使得前后端可以统一语言,提高了开发效率和代码复用。 3. **...

    基于Vue+Nodejs+的茶叶售卖平台设计与实现

    在当今互联网时代,电商平台已经成为各类商品销售的重要渠道。本项目旨在构建一个基于Vue.js前端框架和Node.js后端框架的茶叶售卖平台,结合MySQL数据库,实现茶叶的在线展示、购买及管理功能。以下将详细介绍该项目...

    微信小程序项目之西餐外卖系统的设计与实现NodeJS(源码+说明).zip

    项目中的“基于微信小程序的西餐外卖系统的设计与实现NodeJS”文件包含了详细的代码实现和文档说明,对于学习微信小程序开发和Node.js后端技术的开发者来说,是一份宝贵的实践资料。通过阅读源码,可以了解整个系统...

    基于nodejs的聊天室实现(含语音)

    在当今互联网技术日新月异的时代,实时通信成为了一项重要的需求,而WebSocket协议的出现解决了HTTP协议的非持久性问题,为构建实时应用提供了可能。本项目是基于Node.js和WebSocket技术实现的一个简单的聊天室,还...

    毕业设计论文Nodejs+Vue校园内部点餐运营与数据分析系统.docx

    Nodejs是一个基于Chrome V8引擎的JavaScript运行环境,可以构建高性能的网络应用;而Vue.js是一个用户界面的渐进式框架,易于上手,并且支持单页应用的构建。 在现代教育信息化建设中,校园内部点餐运营与数据分析...

    基于nodejs+mysql+微信小程序的校园兼职系统 源码+数据库(高分毕设项目).zip

    此外,mysql数据库易于维护,与nodejs配合,可以实现高效的数据处理和业务逻辑。 微信小程序作为一种新型的应用程序,它基于微信这一庞大用户群体,无需下载安装即可使用,这极大地方便了用户使用体验。用户通过...

    基于微信小程序的西餐外卖系统的设计与实现NodeJS.rar

    《基于微信小程序的西餐外卖系统的设计与实现NodeJS》 微信小程序作为移动互联网时代的新宠,因其无需安装、即扫即用的特性,成为众多开发者和企业开发轻量化应用的首选平台。本项目旨在利用微信小程序技术,结合...

    3D多人在线游戏源码,前端ThreeJS,后端NodeJS

    本篇将详细介绍3D多人在线游戏源码的使用与特点,重点分析ThreeJS和NodeJS在游戏开发中的应用,以及如何快速启动和体验这款3D游戏。 ThreeJS是基于WebGL的JavaScript库,它为开发者提供了在网页浏览器中创建和显示...

    nodejs博客项目

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它通过提供异步、非阻塞I/O模型,使得JavaScript得以在服务器端高效运行,从而开创了前后端同语言的新时代。本项目是一个小型的Node.js博客系统,非常适合初学...

    黑马电商后台管理系统前端vue后端nodejs.zip

    本资料“黑马电商后台管理系统前端vue后端nodejs.zip”提供了全面的前端Vue.js与后端Node.js的实践案例,帮助开发者深入理解这两项技术在电商后台中的应用。 Vue.js,一款轻量级的前端JavaScript框架,以其简洁的...

    nodejs+vue小太阳鲜花管理系统实现源码-系统说明文档资料-演示视频.zip

    该系统的后端开发采用了nodejs技术,nodejs是一种基于Chrome V8引擎的JavaScript运行环境,允许开发者使用JavaScript来编写服务器端的脚本。nodejs的特点是事件驱动、非阻塞I/O模型,能够有效处理高并发请求,特别...

    基于Nodejs的爱词霸Linux命令行工具_iciba-dictionary-for-linux.zip

    在当今这个信息化飞速发展的时代,Linux系统的普及率越来越高,尤其是在程序员和开发人员中,使用Linux作为工作平台的人数越来越多。然而,对于使用Linux系统的用户来说,如何便捷地获取和使用各种工具和服务是一个...

    基于Nodejs+Vue的商城系统答辩PPT.pptx

    在当今的信息时代,随着互联网技术的不断发展,信息化建设在企业与高校中的应用日益广泛,为适应社会对信息管理活动的新要求,有效利用信息化建设成为提升现代化管理的关键。商城系统作为一种信息化管理工具,通过...

    NodeJS智慧社区管理微信小程序(附源码+数据库)40623

    在当今信息化时代,随着移动互联网技术的迅猛发展,微信小程序作为一种新型的移动应用形式,正逐渐改变着人们的生活方式。基于NodeJS开发的智慧社区管理微信小程序,利用微信这一庞大的用户平台,为社区居民提供了一...

    NodeJs开发指南 中文(附随书代码)

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它以其高效的非阻塞I/O模型和事件驱动架构,使得JavaScript得以在服务器端大展拳脚,开辟了全栈开发的新时代。 本书涵盖了Node.js的基础知识,包括安装与配置...

    基于开放式人工智能的节点,用于自动回复和自动绘图.js 项目_chatGPT-nodejs.zip

    其中,基于开放式人工智能的节点项目,例如“基于开放式人工智能的节点,用于自动回复和自动绘图.js 项目_chatGPT-nodejs”利用了JavaScript编程语言,在Node.js环境下实现了一系列自动化功能。Node.js是一个基于...

Global site tag (gtag.js) - Google Analytics