2019年08月22

使用 Node.js 以来的感想与总结

使用PHP时期

在使用 php 的时候,曾经用的最多的框架就是 ThinkPHP ,后来尝试体验过 Laravel or Yii,反正不管用啥框架,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 内置了很多开发必须的东西,无需安装,直接配置,当然,这两个框架的选择就纯属个人习惯和团队风格了。

尾声

此文不是在打广告,纯属个人经验和观点。

参考链接

本文链接:https://yaimeet.com/post/use-nodejs.html

-- EOF --

Comments