1. Dart 語言
Dart 是 Flutter 的主要編程語言。Dart 設計之初就是為了與 JavaScript 兼容,并且可以編譯為機器代碼運行。Dart 提供了一些特性,如異步支持(通過?async
?和?await
),這使得編寫高效的網絡請求和復雜動畫變得容易。
2. Skia 圖形庫
Skia 是一個開源的 2D 圖形庫,用于繪制像素。在 Flutter 中,Skia 被用來渲染 UI 元素,如文本、圖片和形狀等。Flutter 使用 Skia 來處理所有視覺渲染,這使得 Flutter 的 UI 渲染非常快且高效。
3. Embedder
Embedder 是 Flutter 的核心部分,它是一個 C++ 庫,用于將 Dart 代碼和 Skia 圖形庫集成到 iOS 和 Android 的原生環境中。Embedder 負責處理 Dart 代碼的執行環境,包括 Dart VM(虛擬機)的運行和管理 Dart 的 isolate(輕量級線程)。
4. Engine (引擎)
Flutter Engine 是 Flutter 的核心引擎,用 C++ 編寫。它負責管理渲染線程和 Dart isolate,同時也負責管理平臺通道(Platform Channels),使得 Flutter 可以調用原生平臺的 API。