欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

30天了解30种技术系列---(8)终于等到你:Node.js

程序员文章站 2022-06-12 14:52:48
...

作为一名Programmer,我喜欢那些能够为时代变革做出贡献的技术。Git,Python,Android。。。都是其中的翘首。(包括我们百度的Echart,都是划时代的产品)。

 

而对于Web应用开发,我是从JSP那个年代过来的人,依稀记得用这样<%=%>的符号写取值,也依稀记得el表达式这样比较犀利的方式,也记得早年调教一个在JSP里面写满Java代码的程序。

 

后期开始出现了MVC,正式进入工业化生产模式的开发。网页设计,前端,后端,数据库开发

很多年前,我曾经预见一个JS非常厉害的大哥,同时也可以网页设计开发,当然非常有幸我目前的朋友存在这样的人。

 

曾经思考,能不能有一个技术可以简化整套的流程,提升性能。有幸的是我们等来了Node.js,一个划时代的产品。

 

什么是Node.js

 

Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

 

Node.js是满足特定场景的,并不是为了取代Java、PHP,Node.js的本质是构建互联网应用。

 

Node.js 是如何工作的

 

  1. 传统的网络服务技术:每个新增一个连接生成一个新的线程,新线程会占用系统内存,最终会占掉所有的可用内存。

  2. Node.js 仅仅只运行在一个单线程中,使用非阻塞的异步 I/O 调用,所有连接都由该线程处理,在 libuv 的加分下,可以允许其支持数万并发连接

 

30天了解30种技术系列---(8)终于等到你:Node.js
            
    
    博客分类: 30天了解30种技术 node.jsweb前端javascriptweb应用 

 

NPM: The Node Package Manager

 

NPM 是Node.js包管理引擎,类似于Maven,使用简单。

常见的包:

  • express – Express.js,是一个简洁而灵活的 node.js Web应用框架, 之前有过介绍

  • connect – Connect 是一个 Node.js 的 HTTP 服务拓展框架,提供一个高性能的“插件”集合,以中间件闻名,是 Express 的基础部分之一。

  • socket.io 和 sockjs – 目前服务端最流行的两个 websocket 组件。

  • Jade – 流行的模板引擎之一,并且是 Express.js 的默认模板引擎

  • mongo 和 mongojs – 封装了 MongoDB 的的各种 API,不过笔者平常工作用的是 mongoose 也很推荐。

  • redis – Redis 的客户端函数库.

  • coffee-script – CoffeeScript 编译器,允许开发者使用 Coffee 来编写他们的 Node.js 程序。

  • Gruntjs -- JS的make

     

Node.js应用举例

 

服务端 WEB 应用,聊天软件,秒杀等系统

 

 

最后来个作者的彩蛋:

30天了解30种技术系列---(8)终于等到你:Node.js
            
    
    博客分类: 30天了解30种技术 node.jsweb前端javascriptweb应用 

 

Node.js , qq讨论群:275491172

图灵科技保留一切版权,转载请声明来自图灵搜索!