iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
Modern Web

Fastify 101系列 第 1

[Fastify] Day01 - 系列文介紹

  • 分享至 

  • xImage
  •  

大家好,我是 Yubin

這一系列的文章會以 Fastify 為主要使用的工具,講一些後端開發必須知道的概念知識以及實作。

Fastify

Fastify 是一個 NodeJS 的 Web Framework,利用 Fastify 可以快速的讓開發者建立後端的伺服器應用。

在 NodeJS 的 Web Framwork 工具中,知名度最高也最多人使用的是 ExpressJS。
在 Full Stack Solution 中,由 Mongodb、Express、React、NodeJS 所構成的 MERN 也是非常熱門的開發技術。

然而,在敝單位是使用 Fastify 這個 Web Framwork 來作為主要的工具,而不是 Express。

因為 Fastify 的一些特性,讓我們選擇 Fastify,以下幾個 feature 參考自 Fastify官網

  • Highly performant
    • Fastify 是 NodeJS 工具中效能最快的,詳細測試結果可以參考這份 benchmarks
  • Extensible
    • Fastify 可以透過非常簡單的使用 hook, plugin, decorator 等方式來進行擴展
  • Schema based
    • 任何進來的資料都必須被經過驗證 (Validation),任何出去的資料都要經過序列化 (Serialization),Fastify 內部已經把這部分實作好,開發者只要經過簡單的定義即可完成這兩個重要工作
  • Logging
    • 寫 log 很重要,Fastify 內建已經整合好 Pino 這個知名的 Logging 工具
  • TypeScript ready
    • Fastify 原生支援 TypeScript,在強型別特性的支持下,開發過程更不容易出錯,且更舒服
  • Developer friendly
    • 以上幾點對開發人員來說是非常友善的, Fastify 在不犧牲效能及安全性的前提下達到,做為一個後端開發工具,個人相當推薦大家使用這個 Web Framwork

在使用 Fastify 作為工具的一年多以來,覺得這是一個很適合初學者學習使用的工具,而且不論是效能與開發上都有很棒的體驗。無奈 Fastify 相較於 Express 的知名度不算高 (但 GitHub 上的星星數截至寫稿前也有 24.9k 顆星星)

對初學者來說,要找 Fastify 正體中文的參考文獻並不容易,所以寫這系列文的其中一個目的是方便讓台灣及其他地方的正體中文初學者可以參考學習。
也向大家分享自己及團隊這些日子的研究與使用成果,希望各位可以多多給予指教或指正。

文章會以初學者為出發點,內容涵蓋 Fastify 本身的開發模式、開發技巧,及後端開發的重要觀念與如何用 Fastify 或相關工具來實作。

會以單篇能完成一個主題內容的方式來撰寫,期許能成為正體中文界的 Fastify 工具書。


下一篇
[Fastify] Day02 - 開發環境準備
系列文
Fastify 10130
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言