天天看點

談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

前言:

在1982年的原版電影《銀翼殺手》中,人類已經發展出了一種人造的生命形式,很難将它們與人類區分開來。這些“複制品”被用于危險的工作,當它們開始反抗人類主人時,一種被稱為“刀鋒殺手”的警官出現了。

當谷歌第一次宣布Jetpack Compose時,不少人認為這将是flutter的結束。畢竟,既然可以使用Google提供的本地工具,為什麼還要使用跨平台架構呢?

那我們來整體比較一下flutter和jetpack compose,看看他們各自有什麼特點。

談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

1、語言方面:

flutter使用的是一種由Google建立的面向對象語言Dart,Jetpack Compose使用的是一種由JetBrains建立的靜态類型程式設計語言kotlin。這兩種語言都有各自的優缺點,對于初學者來說,Dart更容易學習,而且在運作速度和記憶體使用方面,也并不輸Kotlin。

2、易用性方面

這兩個架構都相對容易使用, jetpack compose具有聲明式UI方法,這意味着我們可以使用Kotlin代碼來建構UI,而不必擔心底層的複雜性。但是,Flutter在沒有橋接邏輯的情況下直接通路作業系統級元件并不簡單,需要較強的專業操作。

作為一個使用過這兩種架構的我來說,使用JetpackCompose來建立優美的使用者界面要比使用Flutter容易些。不過flutter在跨平台開發方面确實有着無可比拟的優勢,此外,當你想要快速建立一個應用程式的原型時,Flutter中的熱加載功能是必不可少的。

其實沒有所謂的“最佳架構”,因為jetpack compose和flutter的定位并不相同,不是絕對的沖突體,這取決于你想要去的公司采用的什麼架構,以及你自己的需求和偏好。學有餘力的朋友可以兩者都嘗試一下,這對以後個人的發展也都有幫助。

談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

目前全網關于這兩個架構的資料較為碎片化,對想要系統學習的人來說不太友好,是以我給大家分享jetpack compose和flutter的系統學習筆記,内容通俗易懂,知識點覆寫面廣,内容嚴格按照深度和廣度統一的原則來編排,有需要的朋友可以點選下方卡片免費擷取。

《compose入門到精通》

目錄:

談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第一章 初識 Jetpack Compose

  1. 為什麼我們需要一個新的UI 工具?
  2. Jetpack Compose的着重點
  3. API 設計
  4. Compose API 的原則
  5. 深入了解Compose
  6. 插槽API
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第二章 Jetpack Compose建構Android UI

  1. Android Jetpack Compose 最全上手指南
  2. 深入詳解 Jetpack Compose | 優化 UI 建構
  3. 深入詳解 Jetpack Compose | 實作原理
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第三章 Jetpack Compose 項目實戰演練(附Demo)

  1. Jetpack Compose應用1
  2. Jetpack Compose應用2
  3. Jetpack Compose應用做一個倒計時器
  4. 用Jetpack Compose寫一個玩安卓App
  5. 用Compose Android 寫一個天氣應用
  6. 用Compose快速打造一個“電影App”
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:
    談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

《Flutter進階學習筆記》

目錄

談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第一章 為什麼 Flutter 是跨平台開發的終極之選

  • 這是為什麼?
  • 跨平台開發
  • 什麼是Flutter
  • Flutter特性
  • Flutter 建構應用的工具
  • 使用 Flutter 建構的熱門應用
  • 建構 Flutter 應用的成本
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第二章 在Windows上搭建Flutter開發環境

  • 使用鏡像
  • 系統要求
  • 擷取Flutter SDK
  • 編輯器設定
  • Android設定
  • 起步: 配置編輯器
  • 起步: 體驗
  • 體驗熱重載
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第三章 編寫您的第一個 Flutter App

  • 建立 Flutter app
  • 使用外部包(package)
  • 添加一個 有狀态的部件(Stateful widget)
  • 建立一個無限滾動ListView
  • 添加互動
  • 導航到新頁面
  • 使用主題更改UI
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第四章 Flutter開發環境搭建和調試

  • 開發環境的搭建
  • 模拟器的安裝與調試
  • 開發環境的搭建
  • 模拟器的安裝與調試
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第五章 Dart文法篇之基礎文法(一)

  • 簡述
  • Hello Dart
  • 資料類型
  • 變量和常量
  • 集合(List、Set、Map)
  • 流程控制
  • 運算符
  • 異常
  • 函數
  • 總結
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第六章 Dart文法篇之集合的使用與源碼解析(二)

  • List
  • Set
  • Map
  • Queue
  • LinkedList
  • HashMap
  • Map、HashMap、LinkedHashMap、SplayTreeMap差別
  • 命名構造函數from和of的差別以及使用建議
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第七章 Dart文法篇之集合操作符函數與源碼分析(三)

  • 簡述
  • Iterable
  • forEach
  • map
  • any
  • every
  • where
  • firstWhere和singleWhere和lastWhere
  • join
  • take
  • takeWhile
  • skip
  • skipWhile
  • follwedBy
  • expand
  • reduce
  • elementAt
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第八章 Dart文法篇之函數的使用(四)

  • 簡述
  • 函數參數
  • 匿名函數(閉包,lambda)
  • 箭頭函數
  • 局部函數
  • 頂層函數和靜态函數
  • main函數
  • Function函數對象
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第九章 Dart文法篇之面向對象基礎(五)

  • 簡述
  • 屬性通路器(accessor)函數setter和getter
  • 面向對象中的變量
  • 構造函數
  • 抽象方法、抽象類和接口
  • 類函數
  • 總結
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第十章 Dart文法篇之面向對象繼承和Mixins(六)

  • 簡述
  • 類的單繼承
  • 基于Mixins的多繼承
  • 總結
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第十一章 Dart文法篇之類型系統與泛型(七)

  • 簡述
  • 可選類型
  • 接口類型
  • 泛型
  • 類型具體化
  • 總結
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

第十二章 Flutter中的widget

  • Flutter頁面-基礎Widget
  • Widget
  • StatelessWidget
  • State生命周期
  • 基礎widget
  • DefaultTextStyle
  • FlutterLogo
  • Icon
  • Iamge.asset
  • CircleAvatar
  • FadeInImage
  • 按鈕
  • FlatButton
  • OutlineButton
  • TextFormField
談論flutter和jetpack compose學習優先級的背後,Android開發有着怎樣的一套進階邏輯?前言:《compose入門到精通》後話:

後話:

flutter和jetpack compose的特性遠遠不止這些,它們本身還有着非常多值得學習的地方,這個隻有大家自己去學習才能體會得到。另外,我們還要透過這兩個架構去看更深層次的實作原理,世界千變萬化,各種架構也不例外,雖然flutter和compose正處在快速發展階段,但我們也要明白:學會舉一反三才是最重要的學習能力。