美文网首页
一. node.js应用场景

一. node.js应用场景

作者: 哎pear | 来源:发表于2019-03-24 22:24 被阅读0次

一. Nodejs不适合的领域

每一种语言或平台都有不擅长领域,对于Nodejs来说最不擅长的领域在于CPU和内存的编程操作。

1. 计算密集型应用,让Javascript和C去拼计算性能,估计是不可能赢的。

2. 内存控制,让Javascript和Java比较复杂数据类型定义,也是很困难的。因为Javascript的面向对象是基于JSON的,而Java是直接使用内存结构。所以,通过JSON序列化和反序列的过程控制内存,Javascript就已经输了。

3. 大内存的应用,由于V8引擎有内存设计的限制,32位环境中最大堆是1G,64位环境中最大堆也不到2G,如果要一次读入10G数据,对于Nodejs来说也无法实现。

4. 静态服务器,虽然Nodejs的优势在IO密集集应用,但是和Nginx的处理静态资源还是有很大的差距。

5. 不需要异步的应用:比如系统管理,自行化脚本等,还是Python更顺手,Nodejs的异步调用可能会给编程带来一些麻烦。

二.node.js的异步机制是基于事件的,所有的I/O、网络通信、数据库查询都以非阻塞的方式执行,返回结果由事件循环来处理。node.js在同一时刻只会处理一个事件,完成后立即进入事件循环检查后面事件。这样CPU和内存在同一时间集中处理一件事,同时尽量让耗时的I/O等操作并行执行。

nodeJS适合运用在高并发、I/O密集、少量业务逻辑的场景

以下内容是我整理的文档和教程,每个软件包对应一篇文章,大家可以根据自己的需要进行阅读,完整的文章列表,可以查看:从零开始nodejs系列文章

项目管理:npm,grunt,bower,yeoman

Web开发:express,ejs,hexo,socket.io,restify,cleaver,stylus,browserify,cheerio

工具包:underscore,moment,connet,later,log4js,passport,passport(oAuth),domain,require,reap,

commander,retry

数据库:mysql,mongoose,reids

异步:async,wind

部署:forever,pm2

测试:jasmine,karma

跨平台:rio,tty

内核:cluster,http,request

算法:ape-algorithm(快速排序),ape-algorithm(桶排序)

分类描述相关模块

网站类似于 cnodejs.org 这样传统的网站Express / Koa

Api同时提供给移动端,PC,H5 等前端使用的 HTTP Api接口Restify / HApi

Api代理为前端提供的,主要对后端Api接口进行再处理,以便更多的适应前端开发Express / Koa

IM即时聊天实时应用,很多是基于 WebSocket协议的Socket.io / sockjs

反向代理提供类似于 nginx 反向代理功能,但对前端更友好anyproxy / node-http-proxy / hiproxy

前端构建工具辅助前端开发,尤其是各种预编译,构建相关的工具,能够极大的提高前端开发效率Grunt / Gulp / Bower / Webpack / Fis3 / YKit

命令行工具使用命令行是非常酷的方式,前端开发自定义了很多相关工具,无论是shell命令,node脚本,还是各种脚手架等,几乎每个公司\小组都会自己的命令行工具集Cordova / Shell.js

操作系统有实现,但估计不太会有人用NodeOS

跨平台打包工具使用 Web 开发技术开发PC客户端是目前最流行的方式,会有更多前端开发工具是采用这种方式的PC端的electron、nw.js,比如钉钉PC客户端、微信小程序IDE、微信客户端,移动的Cordova,即老的Phonegap,还有更加有名的一站式开发框架Ionicframework

P2P区块链开发、BT客户端webtorrent / ipfs

编辑器Atom 和 VSCode 都是基于 electron 模块的electron

物联网与硬件ruff.io和很多硬件都支持node sdkruff

相关文章

  • 一. node.js应用场景

    一. Nodejs不适合的领域 每一种语言或平台都有不擅长领域,对于Nodejs来说最不擅长的领域在于CPU和内存...

  • Node.js入门及安装

    一、nodejs简介及应用场景 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js...

  • Node.js入门

    了解Node.js应用的组成 在我们创建第一个Node.js应用之前,我们需要先了解一下Node.js应用是由哪几...

  • 理解 Node.js 的 GC 机制

    《深入浅出Node.js》第五章《内存控制》阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已...

  • NodeJS学习路线

    目录Nodejs的介绍15个Nodejs应用场景Nodejs学习路线图 Nodejs的介绍Node.js的是建立在...

  • Node.js 创建第一个应用(9/25)

    在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是...

  • node.js学习之eventEmitter使用

    在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是...

  • Node.js(三)

    Node.js 创建第一个应用 在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们...

  • NodeJS-学习笔记

    认识node.js node.js不是一个JavaScript应用,事实上,Node.js采用C++语言编写而成,...

  • egg.js集成Socket.io实现推送和即时通信

    什么是Socket.io 一个基于 Node.js 的实时应用程序框架,在即时通讯、通知与消息推送,实时分析等场景...

网友评论

      本文标题:一. node.js应用场景

      本文链接:https://www.haomeiwen.com/subject/arwpvqtx.html