第一章:NodeJS 概述

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代码编译成本地的本地操

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏跨界架构师

如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码:

15030
来自专栏Danny的专栏

学生信息管理系统验收总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

26330
来自专栏PPV课数据科学社区

5个酷毙的Python工具

工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来...

29990
来自专栏CSDN技术头条

【问底】徐汉彬:PHP7和HHVM的性能之争

【导读】徐汉彬曾在阿里巴巴和腾讯从事4年多的技术研发工作,负责过日请求量过亿的Web系统升级与重构,目前在小满科技创业,从事SaaS服务技术建设。最近,PHP7...

25350
来自专栏喔家ArchiSelf

回顾Bob大叔的简洁架构

Robert Martin 就是我们常说的Bob大叔,是码界的骨灰级人物了,在4年前提出了所谓的简洁架构,值得回顾反思一下,看看是否可以借鉴到微服务中呢?

11520
来自专栏小程序·云开发专栏

你不知道的Node.js性能优化

仅仅是简单的升级 Node.js 版本就可以轻松地获得性能提升,因为几乎任何新版本的 Node.js 都会比老版本性能更好,为什么?

8.7K50
来自专栏互联网技术栈

Dubbo 3.0 即将到来

据了解,新的 Dubbo 内核与 Dubbo 2.0 完全不同,但它兼容 2.0。Dubbo 3.0 将以 Streaming 为内核,而不再是 2.0 时代的...

12320
来自专栏java工会

依赖注入原理---IoC框架

28040
来自专栏Golang语言社区

在 Go 语言中,如何正确的使用并发

从多个花絮中提取,但是如果我斗胆提出主要观点的总结,其内容就是:抢占式多任务和一般共享状态结合导致软件开发过程不可管理的复杂性, 开发人员可能更喜欢保持自己的一...

13320
来自专栏带你撸出一手好代码

使用测试用例来约束自己的代码

写测试代码这种事情 ,以前只在网上和书上看到过, 自己从来没有写过。 每当看到那些世界顶级程序员编写的技术书籍中出现“测试用例”“测试代码”的字样或者一些行业的...

39360

扫码关注云+社区

领取腾讯云代金券