前往顾页
以后地位: 主页 > 收集编程 > Jsp实例教程 >

我只想安平悄悄地学 Node.js

时候:2017-12-04 22:13来源:知行网www.zhixing123.cn 编辑:麦田守望者

学习 Node.js 的线路图我是在知乎找到的, 请戳这里, 我目前学习 Node.js 的体例就是遵循这个得票最高的答主的答案学习的.

现在因为对 Node.js 其实不是很熟谙, 所以只来谈一谈这几天学习 Node.js 的感受吧.

Node.js 入门

关于 Node.js 入门 这本誊写的还是非常好的. 不过读这本书之前或说学习 Node.js 之前还是点亮 Javascript 这个前置技术比较好.

JavaScript
console.log("Hello World");

Node.js 权势巨子指南

Node.js 权势巨子指南 写的若何我其实不克不及做出评论, 不过书中利用的 Express 框架, 也就是 Node.js 顶用于搭建 Web 办事器的框架版本巨低, 很多代码底子无法运行, 所以我不是很保举, 因为我在这本书的浏览过程(写书中的实例代码)中还是极其痛苦的, 完整无法欢愉的玩耍 (/= _ =)/~┴┴, 而无法欢愉的写代码与我的信奉是抵触的 ( ̄^ ̄), 我只能放弃了.

JavaScript
var http = require('http');

var server = http.createServer(function (request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.end("Hello World\n");
});

server.listen(8888);

console.log("Server running at http://127.0.0.1:8888/");

Node.js 其实不是一门说话

对一种技术的尊敬, 第一件事是要叫对它的名字, 总有人把 Objective-C 写成 object c 我真是受不了啊…就算不写这么长, 写 OC 好么… 对我这类逼迫症患者跟本无法忍耐.

同理 Node.js 其实不是一门说话, 而是一个平台:

Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications.

这个从 Node.js 官网 上扒上去的话已非常清楚隧道了然, 这货是一个平台, 不是一门说话. 我在这篇 post 中也会正视这一点, 时刻提示本身与各位.

Express

Express 是基于 Node.js 的 Web 框架, 其实各种脚本说话, Ruby, Python, Node.js(其实不是说话) 的 Web 框架利用起来在年夜体上是差不多的.

Sinatra:

Ruby
get '/hi' do
  "Hello World!"
end

Flask:

Python
@app.route("/")
def hello():
    return "Hello World!"

Express:

JavaScript
app.get('/', function(req, res) {
  res.send('hello world');
});

可以看到这三个框架在利用上或说情势是类似的. 但是, 它们也有很多的不合.

其实只需你长时候做 Web 开辟, “精通”这些框架中的一个, 别的不合”说话”的框架也是很容易把握的. 关头的地方在于了解它们的利用处景和细节上的不合的地方.

比如说:

Node.js 比较适合实现高并发 IO 体系, 而不适合高 CPU/内存耗损的计较.

总有人会许寻觅适合所有范畴的技术, 而如许的技术在目前来看是不存在的, 而甚么时候会存在, 只需天晓得了. =_=

事件驱动

接上去~~扯~~讲一下 Node.js 中的一个很首要的观点, 就是事件驱动.

Node.js 是事件驱动的.

编程范式?

第一次听到事件驱动这个观点, 我的第一设法是这是一种编程范式么? 因而我又翻开了 CTMCP, 看了一下这本书的目次, 并没有找到事件驱动这个编程范式.

因而我乞助了 Google, 事件驱动法度设想 其实我并没有看懂 =_=, 不过看到这里, 固然 CTMCP 中没有提到, 不过这确切是一种编程范式.

回调函数

Node.js 的事件驱动是基于一个回调函数的. 当某个事件产生时, 这个回调函数才会被调用, 而不像传统的编程范式操纵都是线性运行的: 如果需求用户的输入, 就会一向等候直到用户输入完成.

在 Node.js 中当产生了用户输入这个时候以后才归去调用回调函数完成以后的事情, 这也就是为甚么

Node.js 比较适合实现高并发 IO 体系.


总结

学习 Node.js 的首要目标是为我的 iOS 利用搭建 Web api, 所以, 我并没有挑选 Express 而是挑选了 restify, 这是一个特地用于搭建 Web api 的框架, 没有模板啊与 Web 前端相关的东西.

接上去我会继续学习 Node.js 特别是 restify, “精通”这门文雅的”说话”.

顶一下
(1)
100%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Node.js
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣