0%

为什么选择 node.js

为什么选择 node.js

参考教程 https://www.runoob.com/nodejs/nodejs-tutorial.html

简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。
Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。

——by 菜鸟教程

node.js 的牛逼之处就在于能让 JavaScript 离开浏览器环境,独立运行。因此也能用于后端。

参考链接:https://www.zhihu.com/question/20986058/answer/16825178

比较一下目前流行的几个后端语言:Java, PHP, nodejs, Ruby (on Rails), Python:

  • 客观来讲,Java 拥有最完整的生态链,目前基于 Java 的框架,应用非常多,语言本身上手也比较容易。学习 Java 的话,至少将来 5-10 年找工作是不成问题。但是我个人非常不喜欢 Java,主要原因可能确实不太了解 Java,在为数不多对 Java 的印象就是“慢”和“Heavy”(我学生时代写过 jsp 的东西,也不同一窍不通)
  • Nodejs:事件驱动+异步 IO 让 nodejs 最擅长低 CPU 运算、多 IO、高并发的 Web service。Javascript 本身就是基于原型的语言,想要真正精通,难度比其余稍微大一点(如果你现在对 js 掌握就非常好,就不用担心这个了)。nodejs 变态的事件驱动对于代码的维护也是一个挑战,当然这些都是可以靠牛逼的编程能力克服的。除开语言本身的问题,nodejs 最大的毛病还是目前 npm 里面的包都不太成熟,应用于生产环境稍微有点不稳定。

选择 JavaScript,只是个人认为,js 比其他语言来说,更加简单一些。不过,也正是因为 js 的语法太过灵活,在代码质量上就需要加以注意了。JavaScript 不像 java 一样有着完善的异常处理机制,一旦出现异常会导致整个程序退出,因此,一旦要注意单元测试和异常捕捉。

另外还有个参考如何评价阿里开源的企业级 Node.js 框架 EggJS?

阿里是业界最早的一批使用 Node.js 来做线上大流量应用的公司,
早在 2011 年的就已经开始在生产环境中使用。

众所周知,在阿里的技术栈中, Java 是最最核心的,那 Node.js 扮演怎么样的一个角色呢?

  • 基础设施大部分采用 Java 实现,变化较少,有事务要求的 Business Services 通常使用 Java。
  • 而 Node.js 则替代过去 PHP/Java Web 的场景,用在需要快速迭代,需求变化非常快的用户侧。
  • 很多内部的工程化支撑系统也逐渐基于 Node.js 了。

简单的说就是 node.js 也有大厂实际应用,性上其实也是完全可靠的

总结

但最后也要说一句,学习什么语言并不重要,js 也只是其中一种而已。

在菜鸟教程的服务端教程中,一共有 Java、PHP、nodejs、 Ruby、 Python、Go 等语言教程。这些语言都可用于后端,选择一个学习即可。

本人将基于 node.js 学习中遇到的各种困难/坑/问题来写一些经验和心得

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/8be71ee0.html
版权声明:转载请注明出处!

坚持原创技术分享,您的支持将鼓励我继续创作!