01-初识node

初识node

一、什么是node.js

下载地址:https://nodejs.org/en/download/

1.定义

写法:node nodeJS node.js Node Node.js
是什么:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

Chrome’s V8 JavaScript engine:JS代码跑在浏览器上,在浏览器中是通过V8引擎执行JS代码的。说白了就是一个解释器。

Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

Node.js 的包管理器 npm,是全球最大的开源库生态系统。

解释器:
    把高级语言翻译成计算机可以识别的代码。  解释性语言,脚本语言。
        解释一行,执行一行,效率肯定没有编译型语言的效率高。

    编译型语言:编译器把代码直接编译成计算机可以识别的代码。只需要编译一次,一次编译,到处运行。
        特点:性能高
2.解读

node.js简称为node。它是一个运行环境。千万不要认为node.js是一门语言。它只是一个运行环境。

在node.js环境中,可以执行js代码,通常称之为服务端的js。
在浏览器环境中,可以执行js代码,通常称之为浏览器端的js。

我们在提到javascript的时候,通常是指客户端的js。提到node.js的时候,通常是指服务端的js。

针对浏览器的js和服务端的js,它们有相同的部分,也有不同的部分:
相同的部分:ECMAScript
不同的部分:这个环境提供的API。浏览器提供DOM和BOM,node服务器环境提供了fs、http等API

在不同的运行环境中,可以使用相同的语言规范,要结合不同的API,能实现特定的功能。
在这里插入图片描述

二、Node.js可以做什么

使用Node.js可以轻松的进行服务器端应用开发,PHP、Python、Ruby能做的事情Node.js几乎都能做,而且可以做的更好。

简单来说,node.js可以实现如下两大块:

  • web服务端开发
  • 基于命令行的开发
1.Web开发

在这个世界范围之后,世界上有70%以上的网站都是使用php开发的。(世界上100%的网站都是使用js开发的)。

使用node.js也可以实现web服务端开发。
而且在如下两个方面,可以比php更加优秀:

  • 实时性web应用,比如12306,双11,双12,在线聊天
  • IO密集型应用,input和output,输入输出,频繁的读取硬盘

有很多的web应用(网站)都使用node.js,最典型的就是淘宝和天猫。
再比如:
雪球网:http://xueqiu.com/
Node.js社区:https://cnodejs.org/
AngularJS中文社区:http://www.angularjs.cn/
阿里的数据产品团队
淘宝数据魔方
淘宝指数
全景洞察
Yahoo、Paypal、Uber、Groupon

2.命令行开发

在前端开发领域中,有很多自动化的工具,比如webpack、npm、gulp、browserify等。其实这些都是使用node.js来实现的。

注意:在一个大型的软件中,通常会综合使用多种技术来实现,针对的不用的模块,使用相应的技术来实现,比如淘宝,在语言方面,分别使用了php、java、C++、js、node.js,在数据库方面,分别使用mysql、oracle、mongodb和redis等。

3.Node.js的特点

有以下几个:

  • 单线程
  • 异步式I/O
  • 事件驱动机制
  • 跨平台
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值