跳至主要内容

[Dart] Web Server Framework

Dart 語言伴隨 Flutter 面市, 多數是用來開發 Flutter App 使用. 隨著 Flutter 越趨受歡迎, Flutter App 越來越多元, 背後的 Dart 語言生態也逐漸豐富.

那, Dart 能否拿來開發 Web Server?

Performance

Dart Web Server 效能表現上如何?

從這兩篇來看, 效能雖比不上 Go, 但也和 Node.js 不相上下. 這樣的效能表現是相當的好消息.

內部轉型推動上,

  1. Flutter App 端 Dart SDK 先行開發使用, 介接舊系統服務.
  2. 日後新建 Web Server 時, 原 Dart 元件轉移到後端,
  3. 最終評估是否需要用 Go 或其他語言, 不介接舊系統, 重新開發 Web Server.

Framework

效能問題解決了, 那 Dart 是否有和 Go / Node.js 一樣方便的後端框架呢?

Projectupdatedstarsforksstatuslicense
ConduitOct 30, 2022294274BSD-2
AqueductSep 1, 20202.4k274archivedBSD-2
LuciferDec 16, 2021181-MIT
JaguarApr 9, 202244332-
StreamOct 18, 202222022Apache-2
AlfredAug 19, 202242023MIT
StartMay 12, 202152051-MIT
VaneMay 18, 20215518-BSD-3
AngelApr 27, 20211.1k73archivedMIT
ShelfOct 26, 2022677111BSD-3

Updated: Oct 30, 2022

畢竟 Dart 主要生態不在後端開發, 相關框架遠比不上 Go / Node.js 一樣多元, 但從以上社群參考發展而來的框架看來還夠用.

可惜早期開發, 使用者和社群最活躍的 AqueductAngle 陸續不再維護. 幸運的是 Conduit 繼承了 Aqueduct 繼續開發, 另外也有 Sheif 這樣輕快的框架. 考量專案更新活躍度, 考慮從 Conduit / Sheif 中擇一當作服務器框架.

Conduit

Shelf

See Also