位置: 编程技术 - 正文

吐槽一下我所了解的Node.js(我吐槽你)

编辑:rootadmin

推荐整理分享吐槽一下我所了解的Node.js(我吐槽你),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:吐槽一句,我就吐槽一下,我就吐槽一下,吐槽一波,我说的是吐槽,吐槽我什么意思,吐槽我什么意思,吐槽我什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!

首先是性能,用起来感觉 Node.js 的性能并没有想象中那么好。内存占用差不多和 Ruby 一个等级,比 Python, PHP 要多。计算性能(即 CPU 使用)上,纯计算并没有太大优势,但因为可以很好地控制异步流程,所以总体表现上来看性能要比 PHP 好很多。个人觉得 Node.js 在性能方面是有很大的潜力的,因为有很多大的项目在致力于提高 JavaScript 虚拟机的性能——比如各大浏览器;同时 JavaScript 是一个语法简单的语言,也是一个开放标准,不像 Python 和 PHP 一样因为顾及兼容性,很难进行大的重构来改善性能。

然后是包管理器和库,Node.js 内置了 npm, 因为 npm 是个非常好用的包管理器,因为 JavaScript 的编写门槛低,因为 JavaScript 本来就有很多优秀的前端库被移植到了后端,所以 NPM 上的包现在已经多于 PyPI 和 RubyGems 了,然后远超 PEAR 和 Composer. Node.js 的开发中不同于 PHP 的一点就是大家都不怕加依赖,每个小需求都去 NPM 上找已有的库来实现——而且往往都能找到。所以 Node.js 的开发基本上就是在组合依赖,然后倾向于把一个即使很小的独立需求写成一个库,这倒是和 UNIX 的思路比较像。再另一方面,Node.js 社区对开源十分友好,这里的友好是指大多数的库都是在 Github 上开放开发的,而且使用的是非常宽松的协议,例如 MIT, 不像 GPL 那么具有「攻击性」。

社区,Node.js 的应用大部分还是 Web 后端,而 Web 后端相关的库基本都是那么几个大牛搞起来的,例如 express, jshttp, jade, mocha 和 koa 就是以 TJ 大神为首的四五个人开发起来的,这倒是个有趣的现象。——虽然 TJ 大神最后决定淡出 Node.js 社区。

吐槽一下我所了解的Node.js(我吐槽你)

工具链,Node.js 比较年轻,很多好用的工具都是近两年刚刚出现的,例如预编译方言, 单元测试和模拟测试,构建工具等;不敢说有多好,但是要比 PHP 好非常多。至于原因,首先很大程度是因为这些库都是既可用于前端又可用于后端的,因为 Web 前端的硬需求,让 Node.js 顺便得益;然后就是因为 JavaScript 灵活而简单的语法,让这些工具可以以一些非常巧妙而优雅的方式来实现。至于 IDE, 依然得益于 Web 前端,还是有一些 IDE 可用的——虽然 JavaScript 语言本身不是很利于静态分析。

语法,我还要再强调一下 JavaScript 的语法简单而灵活,其中重要的一点是 JSON, JSON 几乎是目前 Web 领域最通用的数据格式,而在 JavaScript 对 JSON 具有原生的支持!JavaScript 中所有的数据结构都是围绕着 JSON 的一个超集——Object 展开的,包括数组,函数,对象和类。当然这样也带来一个麻烦,就是因为写起来限制少,导致不知道该怎么写,刚开始学习的时候总免不了反复重构,才能摸清各种设计模式在不同情况下的优劣,找到适合自己和适合具体项目的写法,所以可以说 Node.js 入门简单,但要构建大型项目,还是比较考验开发者的功力的。因为历史遗留问题,JavaScript 的语法算不上优美,不过还好我们有各种预编译方言,比如 Coffee Script, TypeScript, Dart, LiveScript 以及 ClojureScript, 总有一款适合你。

使用场景,JavaScript 是一个通用的编程语言,Web 前后端自然不必说,来看看其他方面。个人以为 Node.js 还是很适合用来编写服务器工具的,或称运维工具,因为运维中很多情况是可以异步工作的,JavaScript 又有比较不错的正则支持,替代 bash 和 Python 也问题不大;Node.js 只需装好解释器,就可以随便用,不用畏手畏脚地避免引入依赖。而桌面和移动设备编程,Node.js 有 node-webkit 以及其他各种外壳,虽然目前使用体验不是很好,但是可以非常显著地降低开发成本,轻松跨平台,想必前途也是光明的。

最后说学习 Node.js, 在我看来,学习 Node.js 分两点,一是要理清 Node.js 的「基于事件回调的异步 IO」,这是 Node.js 与其他主流编程语言最不同的一点。然后第二步就是把 NPM 上 Top 的库都看一下,不用细看,只要混个脸熟,知道每个库是干嘛的就行了。完成这两步,那么恭喜你,已经是一个 Node.js 开发者了。

node.js中使用q.js实现api的promise化 关于啥是promise以及promise解决的是啥问题,敬请体验node的回调异步编码大法,顺带移步

nodejs命令行参数处理模块commander使用实例 诚然,之前处理都是使用内置的process.agrv,这个能work,但是不好使,于是tj大神给写了一个,mygod,完全的高大上:1、安装npminstallcommander2、option解析Options

Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令) 今天,抽空了浏览了下node.js,哈哈,看了一篇入门的文章(

标签: 我吐槽你

本文链接地址:https://www.jiuchutong.com/biancheng/374285.html 转载请保留说明!

上一篇:Node.js 的异步 IO 性能探讨(nodejs 异步io底层原理)

下一篇:node.js中使用q.js实现api的promise化(node:js)

  • 如何查询公司是否是小微企业
  • 租房代收水电费税率
  • 车辆购置税如何计算
  • 养猪场死猪处理方法
  • 专票多少钱
  • 发票校验码看不清怎样查真伪
  • 通行费电子发票可以抵扣吗
  • 融资租赁会计核算的一般原则是什么
  • 经常性支出是什么意思
  • 公司向股东无息借款要交哪些税
  • 企业职工报销签单怎么写
  • 产品质量问题怎么处罚
  • 出口货物如果没收怎么办
  • 购房40%税款第二年抵扣如何做账
  • 一般纳税人怎么交税
  • 2017企业所得税小微企业优惠政策
  • 优先股份转让权
  • 零星工程实施流程
  • win7系统中英文切换快捷键
  • 信息化投入包括什么投入和什么投入
  • 教育培训费能抵扣吗
  • linux统计文件行数字数
  • 逾期增值税扣税凭证
  • 房屋租赁如何开税票
  • 建筑安装企业核定征收企业所得税
  • 未担保余值是谁承担
  • 一年一度的施瓦本哈尔圣诞市集,德国巴登-符腾堡州 (© sack/Getty Images Plus)
  • 公允价值变动损益在利润表哪里
  • 税务局什么情况下可以停供发票
  • 开源代码网站github
  • 什么发票可以抵扣企业所得税
  • 财政补助结转和财政补助结余
  • mongodb管理工具
  • 新公司开账户需要多少钱
  • 员工报销差旅费现金流量表里放在哪里
  • 什么情况下计入库存商品
  • 跨月红字发票开错了可以撤销吗
  • 基本户开立账户清单
  • 房屋租赁房产税如何征收
  • 代理记账的业务规范
  • 查账征收和核定征收有什么区别
  • 以前年度多缴纳房产税,可以递延次年度使用么
  • 还未摊销的房租怎么入账
  • 报销差旅费会计分录退回现金
  • 应付账款扣除赔偿后开发票吗
  • 小规模纳税人按1%
  • 公益性捐赠全额扣除,企业所得税
  • 进项大于销项如何做分录
  • 租赁行业的成本
  • 新建的企业
  • java数据类型举例
  • 怎么怎么恢复
  • 删除表s
  • 删除xp本地保存的视频
  • centos怎么样
  • centos简介
  • win7电脑显示屏显示不全怎么调整
  • win10无法安装无线显示器
  • win7系统桌面图标设置
  • window10升级不了
  • js字符串includes
  • glimp使用方法
  • dom操作元素属性
  • Cocos2dx3.2 CrazyTetris 物理引擎使用初步
  • perl模块下载
  • 如何实现js对象和json数据互转
  • 解析几何
  • js 键盘码
  • node-js
  • linux查看shell脚本
  • 详解HTTPS 的原理和 NodeJS 的实现
  • 前后端调用
  • 国家税务总局宁夏回族自治区税务局
  • 复函地税务机关对自产货物原材料向上游发函
  • 自然人扣缴端重置密码操作流程
  • 云南烟草税收是多少
  • 表彰税务工作者们的活动策划
  • 税务备案表付汇日期是否可以提前
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设