前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >让天下没有难用的Node.js

让天下没有难用的Node.js

作者头像
icepy
发布2019-06-24 18:07:18
7470
发布2019-06-24 18:07:18
举报
文章被收录于专栏:子曰五溪子曰五溪

每次阅读到这句话时总能想到我们阿里巴巴的使命“让天下没有难做的生意”,而“让天下没有难用的Node.js”我猜这应该就是阿里的前端们,对Node.js大规模应用的又一个使命了吧。

最近一直在用eggjs来开发后端,不过这倒不是公司的项目,而是自己利用业余时间捣鼓的一个项目。开发进度比较顺利,各项服务都已经部署在了阿里云的机器上,配合着阿里云提供的Node.js性能监控平台,对于这个应用,已经很足够。(就是不知道将来监控平台会不会收费)

在后端“企业级Web基础框架”的出现,其实是有一定历史意义的,Node.js这个平台出现之后,从Express到Koa,其实都主打轻量,倒也和Node.js这个平台比较贴切。但成熟的后端服务,一定不是说轻量就能胜任的,这里面包含着运维,安全,监控,服务,RPC等等,甚至还有一定的开发书写规范。对于以往的开发经历来说,同样的一个Koa会有很多不同的写法,比如:

代码语言:javascript
复制
router.get('/xxx', function (){})
router.get('/xxx', () => {})

这就比较坑了,如果不同的童鞋来维护这个,心里一定承受了“一万点伤害”。Java能运用的那么成熟,除了生态之外,还有就是一些书写的约束,最佳实践在社区中跟随着主流Web基础框架的实践一致。

我想,在业界应该没有哪家公司比阿里还多的大规模应用Node.js了吧。于是,eggjs被提炼了出来,这绝对是一个很好的事情,而且完全不用担心这是一个KPI项目,它本身就是基于Koa的,并且在设计上也不是为阿里的电商准备的,它的设计机制,在遵循一套统一的机制之外,总算是找到了生态与差异的平衡点,除了中间件,还有插件,每一层的分离都能让你很快的保持专注,并且它是约定优于配置的。想想吧,如果我们是一个团队,如果没有统一的约定和共识,在沟通协作上是会多么的困难。我觉得eggjs最大的贡献,就是贡献了阿里的运用经验,包括他们的设计思想,他们的安全考虑,他们的性能平衡点。其实,如果你不用,不妨看看他们的文档,从中也能学习到很多有趣的事情。

可惜的是,我好像错过了这样的一次机会,没有参与eggjs的开发,反而当时选择了继续在客户端领域深入。因为那一年(2014年),移动端刚刚是爆发的时候。虽然后期有幸和Weex团队接触很深,也在钉钉上完成了Weex生态应用的一些基础设施,但是很不幸,这是一个做失败的项目,没有起到很好的正面作用。目前来看移动端的下降幅度还是蛮大的,很多移动端技术公众号要么停更,要么就转行了,包括前面一段时间的移动开发前线和前端之颠合并了。

言归正传,今天我给大家推荐的就是eggjs,做为一个后端工程师,我觉得这是一个可以学习借鉴的基础框架。我们不可能写一辈子的Node.js,不过如果你能很清楚的知道这些基础框架的特点,在处理业务的过程中,就能很好的去评估,选择合适的技术。该用java的时候用java,当用Node.js的时候也别客气。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 子曰五溪 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档