跳至主要內容
版本:最新版本 (v5.0.x)

技術原則

Fastify 框架及其官方外掛程式的每一個決策都遵循以下技術原則

  1. 在生產環境中「零」開銷
  2. 「良好」的開發人員體驗
  3. 適用於小型和大型專案
  4. 易於遷移到微服務(甚至是無伺服器)和返回
  5. 安全性和資料驗證
  6. 如果某個功能可以成為外掛程式,它應該會是
  7. 易於測試
  8. 不要 monkeypatch 核心
  9. 語義版本控制和長期支援
  10. 符合規範

生產環境中「零」開銷

Fastify 旨在盡可能減少應用程式的開銷來實現其功能。這通常是透過實現快速演算法和資料結構,以及 JavaScript 特有的功能來實現的。

鑑於 JavaScript 不提供零開銷的資料結構,此原則與提供出色的開發人員體驗和提供更多功能相悖,因為通常這些都會產生一些開銷。

「良好」的開發人員體驗

Fastify 旨在在其運作的效能點上提供最佳的開發人員體驗。它提供了一個出色的開箱即用體驗,並且足夠靈活可以適應各種情況。

例如,這表示禁止使用二進位附加元件,因為大多數 JavaScript 開發人員無法存取編譯器。

適用於小型和大型專案

我們認識到大多數應用程式都從小規模開始,並隨著時間的推移變得更加複雜。Fastify 旨在隨著應用程式的複雜性而成長,提供進階功能來建構您的程式碼庫。

易於遷移到微服務(甚至是無伺服器)和返回

您如何部署路由應該無關緊要。框架應該「正常運作」。

安全性和資料驗證

您的 Web 框架是與不受信任的資料接觸的第一個點,它需要充當您系統的第一道防線。

如果某個功能可以成為外掛程式,它應該會是

我們認識到 Node.js 的 HTTP 框架有無限多的使用案例。在單一模組中滿足這些需求會使程式碼庫難以維護。因此,我們提供鉤子和選項,讓您可以根據需要自訂框架。

易於測試

測試 Fastify 應用程式應該是首要考量。

不要 monkeypatch 核心

Monkeypatch Node.js API 或安裝會改變執行時期行為的全域變數,會使建構模組化應用程式變得更加困難,並限制 Fastify 的使用案例。其他框架會這樣做,但我們不會。

語義版本控制和長期支援

我們提供明確的長期支援策略,以便開發人員知道何時需要升級。

符合規範

如有疑問,我們會選擇相關規範定義的嚴格行為。