使用 Node.js 以來的感想與總結

yaimeet發表於2019-08-23

使用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 內建了很多開發必須的東西,無需安裝,直接配置,當然,這兩個框架的選擇就純屬個人習慣和團隊風格了。

尾聲

此文不是在打廣告,純屬個人經驗和觀點。

參考連結

本作品採用《CC 協議》,轉載必須註明作者和本文連結
如有不對之處,還請不吝指出,非常感謝。

相關文章