Node 概述

什么是 Node

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

中文翻译:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

Node.js 于 2009 年写成,其原始作者是瑞安·达尔(Ryan Dahl),Node.js 基金会于 2015 年初成立。基金会得到了 IBM、Intel、微软、Joyent 等公司的支持,目前 Node.js 的研发和管理由 Node.js 基金会统一管理。

Node 的意义

  • node 开启了 JavaScript 牛逼的后端之旅。【虽然,在 Node 之前就有 js 服务端的尝试,但是都没有 Node 成功】

  • 由于 node 集成了 js 单线程、事件驱动、非阻塞 I/O 模型等优点,NodeJs 天生就非常适宜做高性能的网络请求、密集 IO 的应用,为前端开发者敞开了全栈的大门

  • node 还为前端开发工具百花齐放百家争鸣提供了基础环境,让前端真正进入工程化时代。

  • ....

Node 能干什么

  • 高性能的网站服务器
  • 实时多人游戏后台服务器
  • 简单易用的命名行应用程序
  • gulp、less、bower、fis、http-server
  • 高大上的桌面应用程序
  • 使用 Web 技术 作为解决方案
  • electron Linus + Max + Windows
  • 底层的物联网开发
  • 移动开发
  • .....

诞生过程

Node 的作者:Ryan Dahl

  • 2004年还在纽约读数学系博士
  • 2006年退学(世界那么大,我想去看看),生活所迫,选择了码农
  • 接项目、工作、旅行,两年之后,成为了高性能Web服务器的专家
  • 2009年5月,Ryan Dahl 在 github 上发布了最初的 Node 版本
  • 2010年底,Ryan Dahl 加入 Joyent 公司全职负责 Node 的发展
  • 2011年7月,Node 在微软的支持下发布了 Windows 版
  • 2012年1月底,Ryan Dahl 将掌门人身份转交给了 Isaac Z.Schlueter,自己转向一些研究项目
  • 2014年12月,多为重量级Node开发者不满 Joyent 对 Node 的管理,自立门户创建了 io.js
  • 2015年9月,Node 与 io.js 合并,Node 的版本从 0.12.7 直接升级到了 4.0.0
  • 合并后的 io.js 和 Node 在 Joyent 公司的维护下并行了两个版本:
    • 一个是4.x.x 还是原来的 Node,这个版本是稳定版
    • 一个是5.x.x,目前已经更新到了 6.8.1,其实就是 io.js,最新特性版,不建议生产环境使用
  • Node 计划在 2016 年 10月底正式发布 Node 7.0
    • 7.0 已经最大限度的支持了很多的 ES6 新语法
    • 而且提高了整体的执行性能,提供了一些别的API

总结

Node是一个开发平台,这个开发平台运行的语言是JS(其实也可以运行C++),它可以把JS代码编译成本地的本地操作系统的命令,直接运行在操作系统之上,让JS拥有了无比广阔的发展空间。


返回教程列表首页

老马免费视频教程

github地址:https://github.com/malun666/aicoder_node

Node入门教程(2)第一章:NodeJS 概述的更多相关文章

  1. ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第一章_引言 - ArcGIS知乎-新一代ArcGIS问答社区 1 引言 1.1 读者定位 我们假设用户在阅读本指南前应已具备以下知识: · 熟悉W ...

  2. Batch入门教程丨第一章:部署与Hello World!(下)

    在上期分享的内容中,我们已经掌握了基础理论知识,今天我们将继续了解和学习与Windows Batch有关的知识和编程方法,如何编写和运行Windows Batch程序,脚本语言的入门方式等,从而能够更 ...

  3. Batch入门教程丨第一章:部署与Hello World!(上)

    Batch入门教程 在本教程中,您将了解并学习与Windows Batch有关的知识和编程方法,用以解决在日常生活中所遇到的简单问题,或者利用Windows Batch建立一个最初级的编程思维方式. ...

  4. Node入门教程(3)第二章: Node 安装

    Node 安装 官网下载地址: https://nodejs.org/en/download/ 安装方式 windows 下安装 建议直接选择:Windows Installer (.msi)下载进行 ...

  5. Node入门教程(11)第九章:Node 的网络模块

    net网络模块 net模块是node对TCP或者IPC开发的封装,包括了客户端和服务器端相关API.对于阅读本文,请您有一定的网络编程的基础.您需要已经了解了: ip协议,会配置ip地址 了解dns解 ...

  6. ActiveMQ 快速入门教程系列 第一章 点对点消息实现

    ActiveMQ 开发包下载及运行环境搭建 主页:http://activemq.apache.org/目前最新版本:5.11.1开发包及源码下载地址:http://activemq.apache.o ...

  7. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  8. 2018-06-20 中文代码示例视频演示Python入门教程第四章 控制流

    知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一 ...

  9. 第一章 数据库概述、MySQL的安装和配置

      第一章 数据库概述.MySQL的安装和配置   1.为什么要使用数据库 最早是纸质文件来存储数据 缺点:不易保存,占用空间大 计算机出现以后,采用软件来进行保存(excel) 缺点:容易损坏 文件 ...

随机推荐

  1. Kendo UI ASP.Net MVC 实现多图片及时显示加上传(其中有借鉴别人的代码,自己又精简了一下,如有冒犯,请多原谅!)

    View: <div class="demo-section k-content"> @(Html.Kendo().Upload() .Name("files ...

  2. php数组基础知识

    php数组 <?php $kele = array('张三',10 => '李四', 'PHP中文网' , '去PHP中文网学PHP', 19 => '王二' , '小明'); // ...

  3. MongoDB系列一(查询).

    一.简述 MongoDB中使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.默认情况下,"_id"这个键总是被返回,即便是没有指定要返回这 ...

  4. windows下远程访问Redis,windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效,Windows Redis requirepass不生效,windows下远程访问redis的配置

    转载:http://fanshuyao.iteye.com/blog/2384074 一.Redis下载地址: https://github.com/MicrosoftArchive/redis/re ...

  5. Iview的开发之路

    采用了Vue-cli的方式. 1.反向代理 devServer: { host: '127.0.0.1', port: 9000, proxy: { '/gonghui/': { target: 'h ...

  6. new Date的兼容性问题

    标准浏览器下正常,结果ie.老版本的IOS微信公众号不支持,搞不懂,原来有兼容性问题 //beginData格式为'yyyy-mm-dd' 1 var _date = new Date(Date.pa ...

  7. flex布局之兼容

    Android 2.3 开始就支持旧版本 display:-webkit-box; 4.4 开始支持标准版本 display: flex; IOS  6.1 开始支持旧版本 display:-webk ...

  8. Java I/O 总结

    Java I/O的的架构使用了装饰器的模式,我们在使用流的时候需要新建很多的装饰器对象,对源数据进行层层包装.各个包装类名以及它们的应用场景比较多,初学的时候难以摸清规律,这里我把它们归一下类,方便大 ...

  9. Nginx目录浏览功能

    要给其他人提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让其他人看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件:效果如图. 实现步骤:在虚拟主机配置文件里面开 ...

  10. Java NIO系列教程(六) 多路复用器Selector

    多路复用器Selector是Java NIO编程的基础,熟练地掌握Selector对于掌握NIO编程至关重要.多路复用器提供选择已经就绪的任务的能力.简单来讲,Selector会不断地轮询注册在其上的 ...