当前位置: 首页 > news >正文

What is Node.JS and its Pros and Cons

What is Node.JS and its Pros and Cons

JavaScript is a client-side development tool.

Node.js is a server-side development tool. And it’s only a runtime environment based on Chrome V8 so we don’t write some code in Node.js.

在这里插入图片描述

Pros:

JavaScript on a server

First I want to emphasis that Node.JS is just a runtime environment of JavaScript. Express is based on Node.js. So based on Node.JS, the project can inherit JavaScript merit (lightweight, fewer code compared with Java or C) and can use its libraries.

And front-end and back-end can use the same language.

Code for microservices

Node module can help implement microservice philosophy. To be specfic, a project is made up of many modules which are isolated and independent. You can just fix or add one module, which doesn’t influence other module.

Fast

Node.JS is event-based and single thread. It can process several events concurrently, which leads to improve CPU usage.
在这里插入图片描述

Support and Community

There are many companies which use Node.js. And there are many people in Node.js community to provide many solutions and solve the issues.

Packages

There are many packages to solve different problems in NPM. NPM is a place that can install packages.

Easy to learn

Node.JS inherit many features of JavaScript.

Cons:

CPU bottleneck

Because Node.JS is single-thread. So if there are many heavy-computation requests, the thread pool will block. Sometimes we can “expand” the thread pool.
在这里插入图片描述

Immature tool

NPM registry is not mature.

Few experienced developers

There are few Node.JS developers who has 2 years or more experience.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java重修笔记 第五十四天 坦克大战(四)多线程基础
  • HTTPX 与 AIOHTTP 与 Requests:选择哪个?
  • DBeaver连接数据库报连接错误:Public Key Retrieval is not allowed
  • 【API Testing and Development with Postman 2nd_001】关于本书
  • Ubuntu搭建conda环境,指令记录
  • 算法学习攻略总结 : 入门至进阶,通关之路指南
  • JVM虚拟机 - 基础篇
  • Numpy中数组元素的获取
  • springboot3 集成elasticsearch(es)客户端(高亮查询)
  • 走进低代码报表开发(二):高效报表设计新利器
  • linux 中gitee配置
  • 使用patch命令移除sts中的一个container
  • 个人学习笔记7-2:动手学深度学习pytorch版-李沐
  • 基于Spring Boot的小区物业管理系统
  • 深入剖析 Java 中的 AbstractQueuedSynchronizer(AQS)
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Angular6错误 Service: No provider for Renderer2
  • ESLint简单操作
  • extjs4学习之配置
  • Nacos系列:Nacos的Java SDK使用
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • ucore操作系统实验笔记 - 重新理解中断
  • Web Storage相关
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • # wps必须要登录激活才能使用吗?
  • #Lua:Lua调用C++生成的DLL库
  • #宝哥教你#查看jquery绑定的事件函数
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (生成器)yield与(迭代器)generator
  • (转)memcache、redis缓存
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
  • @Autowired 与@Resource的区别
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [ABP实战开源项目]---ABP实时服务-通知系统.发布模式
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试