首先,甚麼是 Rust?
根據 Stack Overflow 調查,多年來 Rust 一直是開發人員最喜愛的語言,亦獲不少大型科技公司採用,包括 Microsoft、Facebook(現為 Meta)及 Dropbox。那麼,為何它如此深受開發人員和大型科技公司歡迎?
(參閱:6 家在生產環境中使用 Rust 的公司)
Rust 是一種注重效能與安全的低階編程語言。它速度快、記憶體效率高,沒有運行時及垃圾回收器,因此非常適合嵌入式和裸機開發。
它能解決其他語言一直難以克服的問題,例如記憶體錯誤,同時亦能輕鬆與其他語言整合。
使用 Rust 有哪些好處?
1. 記憶體安全
記憶體安全一直是網絡系統能否正常運作的最關鍵問題。
這正是開發人員選擇 Rust 開發網站後端的主要原因。
Rust 的設計以記憶體安全為本,不允許空指標、懸空指標或資料競爭。為避免常見的指標錯誤,Rust 核心函式庫提供選項類型,用以檢測指標是否有值。Rust 的編譯器亦比大多數其他語言更嚴格,確保投入生產環境時記憶體安全不成問題。
2. 效能
Rust 快如閃電!其代碼可跨不同平台編譯為原生代碼,設計上沒有垃圾回收器和外部運行時。Rust 會在編譯時於生命週期結束處插入相應的 LLVM 或彙編語言指令來釋放記憶體,大幅提升運行時效能。
3. 適合網站和後端開發
Facebook 使用 Rust 重寫其源代碼控制後端(先前以 Python 編寫),原因很簡單:Rust 帶來的效率、安全性和靈活性。Rust 提供多個後端開發用的網絡框架,其函式庫、工具和社群支援亦有助您順暢地構建、測試及運行應用程式。
將 Rust 整合至 Flutter/Dart
Flutter 是以 Dart 編寫的框架,用於構建可跨多個平台原生編譯的應用程式。其主要支援語言 Dart 是一種客戶端編程語言,主要為構建網站和流動應用程式而設計。憑藉 Flutter/Dart,開發人員只需一套代碼庫,即可在多個平台上打造美觀的 UI 和應用程式。
如前所述,Rust 是一種可靠、靈活且高效的語言,適用於後端及網站開發。然而,它在 UI/UX 開發方面較為吃力,而這正是 Flutter/Dart 大放異彩之處。
因此,將 Rust 整合至 Flutter/Dart 或許是個好主意!
由於 Rust 不需要垃圾回收器,因此可透過外部函式介面(FFI)將 Rust 項目用作 Flutter/Dart 的函式庫。這讓您能以 Rust 代碼取代部分對效能要求極高的代碼,並避免其他編程語言可能出現的所有記憶體安全問題。
如果您有興趣了解如何整合 Rust 與 Flutter,請瀏覽 https://rustwithflutter.com/ 了解更多。
歡迎收聽我們與業界開發人員合作的 Flying High With Flutter 播客節目這一集。使用 Rust 的 Flutter 後端。