使用 Node.js 以来的感想与总结
使用PHP时期
在使用
php
的时候,曾经用的最多的框架就是ThinkPHP
,后来尝试体验过Laravel
orYii
,反正不管用啥框架,PHP
的那一堆环境是必不可少,虽然现在有很多集成环境或各种各样的工具,但我还是好嫌麻烦,毕竟早些年,放弃了后端转向了前端,偶尔自己写个接口还要搭建一堆环境,真是很不爽。
使用NodeJs
使用原因
真正使用NodeJs应该是从 2017 年开始,当时正在用
PHP
做个什么项目忘了,然后中途好像换电脑还是什么来着,要重整环境,实在很难受,虽然后来有了Docker
,但本人也是菜鸡,加上已经走了前端之路,还是想搞搞NodeJs
。
框架选择
- Express
- Koa
- EggJs
- ThinkJs
上面是我比较略熟悉一点的,当然还有很多其他优秀的框架,比如:
Sails.js
Hapi
等等其他框架。
这里不对各个框架进行质量的评价,仅仅从以下简单几个客观的角度来说一下我的选择:
- 我是什么职业?
- 我要用框架干什么?
- 我需要框架给自己什么样的体验?
我是什么职业?
为什么选个框架还要和职业有关呢,其实对于 Web前端 开发来说,简单的说,就是纯前端和伪前端。
- 纯前端:只会前端相关的,或了解一些后台的相关知识,并没有真正从业或没有深入的熟知后端。
- 伪前端:从业过后端开发,或对后端有深入的熟知,可以以在工作中胜任后端的工作。
纯前端和伪前端的区别,在对框架的选择上,有一个很明显的区别就是,纯前端更喜欢上手快,约束少,概念也没那么多那那么深,偏这种类型的框架;而伪前端,由于从后端转来,经历过后端的诸多思想,加上对后端的经验,在选择框架上,更偏向接近后端思想类型类的框架。
比如,前端框架:Vue React AngularJs2+,纯前端选择的前两者居多,尤其是个人自学者,更偏向 Vue ,当然,我也是,只不过如果在开发体验上,我更喜欢的是 AngularJs2+ 的那种开始模式,这个模式不包含 TypeScript,TypeScript 只是在开发上强制约定了格式,我更喜欢的是它的思想以及整体项目架构,这点在很多后端开发者自学 Angular2+ 之后深有体会。
而 NodeJs 框架,同理,如果一个 NodeJs 框架,携带了很多后端的思想以及概念,这无疑和纯前端开发者带很高的门槛,所以更多的人选择由 Express 或 Koa 开始,起个 Server ,输出点东西,连接一下 MySQL 或 MongoDB 操作一下数据库,也是一种不错的体验,小有成就感非常好。
我要用框架干什么?
接上面的说,对于纯前端,可能就是想体验一下操作后台,操作一下数据库等,或者给自己写一下自己项目中需要用到的接口,一切都没问题。
但如果想拿来真正的作为一门后端语言来开发后端项目接口,那么会发现 Express 和 Koa 在架构上,更多的是需要自己组织,以及各种中间件自己去安装等,这对于一个有过后台开发经验的来说,可能就会是一种折磨,因为当你开发过后端项目,你会深刻的知道,在后端里面,有一些必备的东西,在任何一门后端语言的中的任何一个主流框架,都是内置,而且都是配置操作,开箱即用,所以,你让手工安装手工搞这搞那,简直就是痛苦不堪,当然如果想拿来练手那没的说。
我需要框架给自己什么样的体验?
结合前面两点,看自己的需求,以及自己要干什么,以我自己从后端转前端的经验来体验,更适合我的可能是:EggJS 和 ThinkJS ,这两个框架其实很像,只是 EggJS 相对 ThinkJS 来说,在封装和内置上,少了很多东西,ThinkJS 内置了很多开发必须的东西,无需安装,直接配置,当然,这两个框架的选择就纯属个人习惯和团队风格了。
尾声
此文不是在打广告,纯属个人经验和观点。
参考链接
本作品采用《CC 协议》,转载必须注明作者和本文链接
伪前端和纯前端总结很棒,给人不同的视角来看这些框架 :+1:
@Summer :joy: :flushed:感觉本站都是高质量内容,写个文章总感觉哪写的不好,哈哈哈。
@勺颠颠 来一起造作呀,哈哈哈。
node框架nestjs还不错
@1711293058 哈哈哈哈哈哈,实不相瞒,现在我是nestJS专业户了,只不过,在写这篇文章的时候,还未发现nestJS,汗颜,哈哈哈哈哈哈哈。
再用到php 环境了 可以参考参考 github.com/shunhua/dnmp