• 什么是Node.js


    首先Node.js是2009年诞生的,已经发展了这么多年,其成长与发展速度是有目共睹的。

    名字

     随着Node.js的发展,网上的报道越来越多,所以其叫法也是五花八门,有的叫Node,也有的叫Nodejs。但是在其官网上,一直将该项目称之为Node或者Node.js。由于Node的语义太多,所以我们将其称之为Node.js。js后缀是点缀该项目的本意。

    Node.js不是js应用,而是js的运行环境

     刚一听到这个名字,许多人就认为这是一个Javascript应用,其实不然,Node.js是一个Javascript的运行环境。作为前端最重要的语言Javascript,一直都是前端工程师的专利,不过Node.js是一个后端的Javascript运行环境。这就意味着你可以使用Javascript来编写后台代码,然后交给Node.js来解释执行。

    简单的命令就是 #node hello.js

    Node.js采用了Chrom V8引擎,性能很好,并且提供了很多API。浏览器端的Javascript在运行时会受到很多限制,对客户端系统的操作有限。而Node.js是一个全面的Javascript后台运行时,为Javascript提供了很多其他语言可以实现的功能。

    Node.js

     Node.js的设计思想中以事件驱动为核心,它提供的绝大多数API都是基于事件的、异步的风格。使用Node.js开发的人员,需要根据自己业务的逻辑来注册相应的回调函数,这些函数的调用都是异步的,这就使得虽然在代码结构中函数看起来是依次注册的,但是他们并不会依赖自身出现的顺序,而是等待相应的事件去触发它。

    事件驱动,异步编程的优势在于,它充分的利用的系统资源,执行代码无须阻塞等待某一代码或某一操作执行完成,有限的资源可以用于执行其他的任务。这样设计是非常有利于后端的网络服务开发,Node.js的目标也在于此。在服务器中,对并发的请求处理一直是个大问题,但是使用Node.js这种事件触发,异步编程可以很大的改善开发人员的效率,性能也会改善。

    ```

    var http = require('http');
    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('Hello World
    ');
    }).listen(80, "127.0.0.1");

    ```

    这是一个在本地搭建服务器的例子,从这个例子可以看出:

    • Node.js的网络编程比较便利,提供的模块(在这里是http)开放了容易上手的API接口,短短几行代码就可以构建服务器。
    • 体现了事件驱动、异步编程,在createServer函数的参数中指定了一个回调函数(采用Javascript的匿名函数实现),当有http请求发送过来时,Node.js就会调用该回调函数来处理请求并响应。

    Node.js的优点

     上边提到的事件触发,异步编程就算是Node.js的特点。

    Node.js的另一个特点是:它所支持的语言为Javascript。

    • Javascript作为前端工程师的主力语言,有着很强的号召力。并且web技术的高速发展,使前端的重要性增加,大多数人表示因为习惯了Javascript,所以使用Node.js。
    • Javascript的匿名函数与闭包函数很适合Node.js事件驱动,异步编程。
    • javascript在动态语言中性能很好

    参考文献http://www.infoq.com/cn/articles/what-is-nodejs

  • 相关阅读:
    03把IL编译成可执行文件
    02值类型
    报错:该字符串未被识别为有效的DateTime
    01使用ILDasm.exe将可执行文件反编译成IL代码
    MVC自定义路由02-实现IRouteConstraint限制控制器名
    MVC自定义路由01-为什么需要自定义路由
    报错:System.Data.Entity.Infrastructure.DbUpdateException 更新条目时出错
    输入网址背后发生的故事
    使用jquery加载部分视图02-使用$.ajax()
    使用jquery加载部分视图01-使用$.get()
  • 原文地址:https://www.cnblogs.com/wyb1995/p/5812962.html
Copyright © 2020-2023  润新知