這問題問得非常好!
很多剛接觸 Flutter 的人都會搞混「Flutter」跟「Dart」到底是什麼關係?哪個是框架?哪個是語言?
1. Flutter 是什麼?
Flutter 是一個「跨平台 UI 開發框架」。
- 由 Google 開發,用來做 Android、iOS、Web、桌面(Windows、Mac、Linux)等多平台 APP。
- 它負責 UI 畫面、動畫、元件(Widget)、佈局、資源管理等「框架層」的事情。
- 你可以想像 Flutter 就像是 Android 的 UI 元件庫、React Native 的 UI 框架,只是 Flutter 跨更多平台。
2. Dart 是什麼?
Dart 是 Google 推出的程式語言。
- 是「寫 Flutter 程式碼」唯一支援的語言(目前 Flutter 只能用 Dart,不像 React Native 可以選 JS/TS)。
- Dart 有點像 JavaScript、Java 的混合體,但語法更現代、更安全,特別適合寫 UI 元件、響應式程式。
- 除了 Flutter,Dart 也可以做 Web、伺服器端、命令列工具等(但最主流應用就是 Flutter)。
3. 兩者關係
- Flutter = 開發框架(你寫 APP 用的 SDK)
- Dart = 實際寫程式的語言
舉個例子:
- 就像「Android Studio」用來做 Android APP,但你要寫 Kotlin 或 Java。
- 或「React Native」是框架,但你要寫 JavaScript/TypeScript。
- Flutter 這個框架,規定你一定要寫 Dart。
4. 用一張表簡單比較
角色 | Flutter | Dart |
類型 | 框架(Framework) | 程式語言(Language) |
功能 | UI 開發、跨平台支援 | 負責實際寫程式邏輯 |
誰開發的 | Google | Google |
支援平台 | Android/iOS/Web/桌面 | 多平台 |
是否獨立使用 | 不能 | 可以(但多數配合 Flutter 用) |
總結
你要用 Flutter 開發 APP,就一定要學 Dart。
Flutter 幫你快速蓋房子(UI 框架),Dart 就是你寫的程式語言。