首页 存档 技术 查看内容

Node.js 2016 回顾以及2017展望 Node.js 2016 回顾 Node.js 的应用场景 如何做框架选 ...

2018-3-30 13:00 |来自: 互联网 275 0

摘要: 狼叔说:2016年Node.js世界也是够精彩的,从let-pad事件到Node.js支持Async/await,无疑都是非常吸引眼球的本文试图回顾一下2016年Node.js大事记,然后给出Node.js的应用场景以及技术如何选型,着重介绍Proxy应用层 ...

狼叔说:2016年Node.js世界也是够精彩的,从let-pad事件到Node.js支持Async/await,无疑都是非常吸引眼球的本文试图回顾一下2016年Node.js大事记,然后给出Node.js的应用场景以及技术如何选型,着重介绍Proxy应用层的内容,以此推导出我对的Node.js 2017年的展望,最后祝大家新年快乐,用Node.js,快乐的写代码,有问题上Cnode,狼叔给你们一起加油,有问必答!


Node.js 2016 回顾

1)Node.js版本变化

https://github.com/nodejs/LTS#lts-schedule


  • 发布Node.js 6.x 并进入LTS(长期支持版本),凡是LTS的都可以在生成环境使用

  • 发布Node.js 7.x 支持Async/await,尽管需要加flag才可以开启

根据node.green统计Node.js 6.x(LTS下面)的es 2015即es6兼容99%

Node.js 6.x支持的10大关键特性

  • DevTools Inspector Integration

  • Capture Names of Listeners on an EventEmitter

  • Overhauled Buffers Constructor APIs

  • Unhandled Promise rejection warnings

  • Quick and Safe Temporary Directory Creation

  • Timing Attack Prevention

  • Process Warnings API

  • Symlink Preservation

  • V8 Performance Profiling Directly Through Node.js

  • Process CPU usage

2)Node.js在2016年被哪些企业使用?

  • 高朋使用Node.js重建了整个Web层

作为决策的结果,高朋团队使用Node.js重建整个Web层

他们在多个平台使用Node:

  1. 大概3-400个后端服务使用Nde.js Java和Ruby混合

  2. 使用Node作为API集成层。

  3. 使用Node作为后端服务的客户端,包括网站。

当前,高朋有70个Node.js生产应用。应用在30个国家。

  • Node.js在Skycatch应用

skycatch是家数据公司,帮助捕获、管理和分析商业无人机数据。skycatch看到挖掘数据需要大量查询数据库。使用现有的工具如原始SQL查询是困难和耗时的,而skycatch的解决方案可以方便地从网站中提取可操作的数据。

“我们在你能想得到的地方都使用了node - Node是我们的胶水”。

  • Node.js在Lowe’s Home Improvement 应用

通过Node.js,工程师队可以拥有从UI到后端整个堆栈的全部开发职责,前端他们能够重用自己在JavaScript和HTML上的精通。

现在他们可以很快地把新的功能放一起做原型设计做研究和做一些用户测试。然后把这个想法应用到生产级别并发布,不会导致应用程序栈其他部分的风险

原文http://www.jdon.com/48441

上面是国外的一些,据我所知很多大公司都用Node.js只是没人出来讲而已,创业公司就更加数不胜数了。

调查一下,用Koa的公司来顶一下 这个帖子,7个月之前,统计Koa都很20家左右,所以整体来看,普及力度还不错的。

3)left-pad事件

2016年3月份,kik是Azer写的模块,但Kik同时是手机通信录的社交软件,所以这个社交软件上就无耻的直接说让Azer把kik名字给他们,Azer不同意,他们就拿律师函恐吓,并让npm妥协,所以npm就妥协了

Azer一怒之下将自己在 npm 上的 273 个封包全部撤下,其中就包括 left-pad 封包。一石激起千层浪,依赖 left-pad 的上千个项目包括 babel 和 react-native 瞬间崩溃。大量开发者看着自己项目构建失败,顿时被吓尿。

观点

  • 1)就没见过这么禁用词语的公司,一个红包就能解决的事儿,非要用强权,如果对方在改模块上耗费心血少的话,转给你也没啥问题的。去年百度从我手里要走了一个模块,一个红包而已

  • 2)11行代码要不要封装成一个包?

sindresorhus: Containing complexity is not about putting everything in one-line functions/modules.

你的模块必须含有一定的复杂性,不然就没啥意义了。

  • 3)npm看着那么多包,大多数都是无意义的吧?

从我开始讲Node.js全栈大约是3月份,那是npm上是25.6万个吧,截止到年底是35万个,我想说的是那个包仓库都是有好有坏,按照80/20原则,数量是也是相当可观的。总比那些某些语言连包管理机制都不完善的要强吧!

  • 4)结果npm调整了撤销策略,24小时之后就不让撤销了

If the version is less than 24 hours old, you can unpublish it. The package will be completely removed from the registry.

http://blog.npmjs.org/post/141905368000/changes-to-npms-unpublish-policy

4)Yarn:一个高效的npm替代品

2016年10月份, Facebook 和 Google 联手搞出 Yarn,你一个新的包管理器。一周之内,在github上star过万,现在已经21843个star了。

替换的原因

  • 在Facebook的大规模 npm 都工作的不太好

  • npm拖慢了公司的ci工作流

  • 对一个检查所有的模块也是相当低效的

  • npm被设计为是不确定性的,而Facebook工程师需要为他们的DevOps工作流提供一直和可依赖的系统

与hack npm**的做法相反,Facebook编写了Yarn

  • Yarn 的本地缓存文件做的更好

  • Yarn 可以并行它的一些操作,这加速了对新模块的安装处理

  • Yarn 使用lockfiles,并用确定的算法来创建一个所有跨机器上都一样的文件

  • 出于安全考虑,在安装进程里,Yarn 不允许编写包的开发者去执行其他代码

Yarn, which promises to even give developers that don’t work at Facebook’s scale a major performance boost, still uses the npm registry and is essentially a drop-in replacement for the npm client.

很多人说和ruby的gem机制类似,都生成lockfile。确实是一个很不错的改进,在速度上有很大改进,配置cnpm等国内源来用,还是相当爽的。

5)Chrome DevTools支持Node.js 应用调试了

https://blog.hospodarets.com/nodejs-debugging-in-chrome-devtools

要求

  • Node.js 6.3

  • Chrome 55

步骤

  • 开启chrome://flags/#enable-devtools-experiments URL

  • 启动 Developer Tools experiments flag

  • 重启 Chrome

  • 打开 DevTools Setting -

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋
上一篇:大数金科!下一篇:前端到底有多难?

相关分类

返回顶部