Flutter 開始探索

Posted by Bobson Lin on Thursday, November 15, 2018

移動端的開發框架

主要考慮 React Native 和 Flutter

  • Android/iOS - Java & Kotlin/Objective-C & Swift
    • 優勢:
      • 用原生的語言開發,效能很好
      • 由於推出時間很久了,非常穩定以及能搜尋到的資源也很多
    • 劣勢:
      • 兩種平台須寫兩份不同語言的程式碼,開發及維護上需要較多人力資源
  • React Native - Javascript
    • 優勢:
      • 只須一種語言能編成兩種平台的 App
      • 用前端語言開發,對於前端開發者較好上手
      • 推出時間有五年了,整體框架算穩定以及社群也較多
    • 劣勢:
      • 需要先學習過 React 這框架會比較好,但 React 上手難度較高
      • 由於使用叫高級的程式語言,效能上容易被詬病
  • Flutter - Dartlang
    • 優勢:
      • 只須一種語言能編成兩種平台的 App
      • Dartlang 為 Java-Like 的語言,學習過 Java 會滿好上手的
      • Dartlang 是能需要編譯的,效能上比較好
    • 劣勢:
      • 推出時間短(約一年半),整體框架以及社群尚在發展中

備註:
- Flutter 於今年五月釋出 Beta 3、六月發出 Preview 1、九月發出 Preview 2,滿看好他的發展。
- 在稍微接觸了 RN 和 Flutter 後,個人覺得 Flutter 還是較親近也比較好上手,所以決定以 Flutter 這框架用來開發移動端的專案。
- 選擇工具為個人喜好決定,並無絕對的好壞,自己用的上手最重要。

起步

個人滿推薦起步時,能按照 官方起步文檔中文起步文檔 ,主要可以先將一到四步完整跑完一次。

編輯器的選擇

  • 一開始我使用 VScode 上安裝 Dart 和 Flutter 的插件後開發,後來發現很多好用的功能還沒有
  • 建議用 Android Studio 上安裝 Flutter 的插件後開發會比較好喔。

初步了解

Flutter 目前的學習文檔,寫的非常詳細,接下來的步驟可以從 了解更多(原文) 開始。

個人建議以下的閱讀順序:

  1. Flutter Widget 框架概述(原文)
  2. 在 Flutter 布局UI(原文)
  3. 添加交互(原文)
  4. Flutter for Android 開發者(原文)

另外也建議可以稍微了解一下 Dart 的基本用法:
为 Java 开发人员准备的 Dart 教程(原文)

接下來?

  • 更多進階內容可以慢慢的把 官方文檔 其餘的地方讀完。