换技术栈,就要抛掉以前其他技术栈的思维定式,否则你会一直觉得用起来很别扭,不如回去用以前的技术栈。
比如以前见过有人来网上问 Java
有没有类似.Net 的框架,后来根据网友的介绍尝试完之后表示“Java 真难用”,实际上 Java 自己有好用的思想、框架以及使用方式,别扭完全是自找的。
现在 Node 开发领域普遍使用微服务架构和云原生部署,搭配 DevOps 、服务治理、SRE 来提高开发效率、运行效率、可用性,框架做的事情反而很少,大多情况下用个 koa 或 express 就能满足需求,个别情况下直接用原生 http 模块手写也很快。
HTTP 协议方面,Nginx 已经是业界事实标准了,而且通常也就是几行配置的事情。你用 Node 是可以做 HTTPS 、托管静态文件的,前者原生模块就能支持,后者框架都有中间件可以一行调用;虽然绝大多语言的原生 API 都可以实现,但性能基本被 Nginx 吊打,除非你愿意花大量没必要的精力去优化。
不管是学 Node 还是学其他什么技术,最好先看官方网站上的教程、API 文档,先了解这项技术能提供什么基础能力;然后去按照自己的原始需求找这个技术栈的最佳实践,看一看有没有比其他技术更满足当前需求的方案。