其實(shí)自從 Jetpack Compose 面世以來,關(guān)于 Flutter 與 Compose 之間的選擇問題就開始在 Android 開發(fā)中出現(xiàn)瘾蛋,就如同之前有 iOSer 糾結(jié)在 Flutter 和 SwiftUI 之間選誰一樣俐镐,對(duì)于 Android 開發(fā)來說似乎“更頭痛”的是 Flutter 與 Compose “同出一爹”。
Flutter誕生于Chrome團(tuán)隊(duì)哺哼,是一幫做Web的開發(fā)做的跨平臺(tái)框架佩抹,從最開始的設(shè)計(jì)初衷叼风,就是指向了跨平臺(tái)這條路,而Compose棍苹,則是誕生于Android團(tuán)隊(duì)无宿,是為了解決當(dāng)前View的架構(gòu)體系不能再繼續(xù)適應(yīng)申明式編程的范式而做出的重構(gòu)。
Flutter 和 Compose 初衷
Flutter 和 Compose 的未來目標(biāo)會(huì)比較一致枢里,但是至少它們出現(xiàn)的初衷是不一樣孽鸡。
首先 Compose 是 Jetpack 系列的全新 UI 庫,理解下這點(diǎn)栏豺!Compose 是 Jetpack 系列的成員之一彬碱,所以可以被應(yīng)用到 Android 界面開發(fā)中,所以你也可以選擇不用冰悠,用不用都能開發(fā) Android 的 UI 堡妒。
然后再說 Compose 出生的目的:就是為了重新定義 Android 上 UI 的編寫方式,為了提高 Android 原生的 UI 開發(fā)效率溉卓,讓 Android 的 UI 開發(fā)方式能跟上時(shí)代的步伐皮迟。
不管你喜不喜歡,聲明式的界面開發(fā)就是如今的潮流桑寨,不管是 React 伏尼、SwiftUI 、Flutter 等都在表明這一點(diǎn)尉尾。
而對(duì)于 Flutter 而言就是跨平臺(tái)爆阶,因?yàn)?Flutter 沒有自己的平臺(tái) ,有人說 Fuchsia 會(huì)是 Flutter 的家沙咏,但那已經(jīng)屬于后話辨图,畢竟 Fuchsia 要先能養(yǎng)活自己。
因?yàn)?Flutter 出生就是為了跨平臺(tái)存在的全新 UI 框架肢藐,從底層到上層都是“創(chuàng)新”和“大膽”的設(shè)計(jì)故河,就選擇 Dart 本身就是一項(xiàng)很“大膽”的決定,甚至在 Web 平臺(tái)都敢支持選用 Canvaskit 的 WebAssembly 模式吆豹。
所以 Flutter 的“任性”從一出來就不被看好鱼的,當(dāng)然至今也有不看好它的人,因?yàn)樗撤N程度很“偏激”和不友好痘煤。
那么問題來了凑阶,我該用哪個(gè)?
打工仔的世界里衷快,哪里有單選題宙橱。
首先,F(xiàn)lutter和Compose并不沖突,我是原生開發(fā)养匈,但并不妨礙我學(xué)習(xí)Flutter哼勇,學(xué)了Flutter,再看Compose呕乎,很快就能上手积担,這叫什么,殊途同歸猬仁。我們對(duì)待這些新技術(shù)一定要抱著謙卑的學(xué)習(xí)心態(tài)帝璧,了解它的使用,了解它的設(shè)計(jì)思路湿刽,正所謂海納百川的烁,有容乃大。
其次诈闺,技術(shù)不是單選題渴庆,但是卻有優(yōu)先級(jí)。
- 如果你是全新的項(xiàng)目雅镊,希望快速開發(fā)襟雷,并且支持多端跨平臺(tái),那么Flutter絕對(duì)是你目前最好的選擇仁烹。
- 如果你是原生開發(fā)耸弄,需要提高開發(fā)效率,那么Compose和kotlin卓缰,絕對(duì)是你逃不掉的技術(shù)壁壘计呈。
正好這些部分我都有所涉獵,整理出了自己的學(xué)習(xí)思路分享給大家(點(diǎn)擊藍(lán)字查看詳情):
[《Flutter技術(shù)進(jìn)階學(xué)習(xí)筆記》]
整理大綱
- 為什么Flutter是跨平臺(tái)開發(fā)的終極之選
- 在Windows上搭建Flutter開發(fā)環(huán)境
- 編寫您的第一個(gè) Flutter App
- Flutter開發(fā)環(huán)境搭建和調(diào)試
- Dart語法篇之基礎(chǔ)語法(一)
- Dart語法篇之集合的使用與源碼解析(二)
- Dart語法篇之集合操作符函數(shù)與源碼分析(三)
- Dart語法篇之函數(shù)的使用(四)
- Dart語法篇之面向?qū)ο蠡A(chǔ)(五)
- Dart語法篇之面向?qū)ο罄^承和Mixins(六)
- Dart語法篇之類型系統(tǒng)與泛型(七)
- Flutter中的widget
整理大綱
初識(shí) Jetpack Compose
Jetpack Compose構(gòu)建Android UI
Android Jetpack Compose 最全上手指南
深入詳解 Jetpack Compose | 優(yōu)化 UI 構(gòu)建
深入詳解 Jetpack Compose | 優(yōu)化 UI 構(gòu)建Jetpack Compose 項(xiàng)目實(shí)戰(zhàn)演練(附Demo)
Jetpack Compose應(yīng)用1
Jetpack Compose應(yīng)用2
Jetpack Compose應(yīng)用做一個(gè)倒計(jì)時(shí)器
用Jetpack Compose寫一個(gè)玩安卓App
用Compose Android 寫一個(gè)天氣應(yīng)用
用Compose快速打造一個(gè)“電影App”
- Kotlin入門教程
- Kotlin 實(shí)戰(zhàn)避坑指南
-
項(xiàng)目實(shí)戰(zhàn)《Kotlin Jetpack 實(shí)戰(zhàn)》
從一個(gè)膜拜大神的 Demo 開始
Kotlin 寫 Gradle 腳本是一種什么體驗(yàn)征唬?
Kotlin 編程的三重境界
Kotlin 高階函數(shù)
Kotlin 泛型
Kotlin 擴(kuò)展
Kotlin 委托
協(xié)程“不為人知”的調(diào)試技巧
圖解協(xié)程:suspend
Compose 是 Android UI 的未來捌显,現(xiàn)階段你可以不會(huì),但是如果未來你會(huì)繼續(xù)在 Android 平臺(tái)的話总寒,你就必須會(huì)扶歪。Flutter 的未來在于多平臺(tái),更穩(wěn)定可靠的多平臺(tái) UI 框架偿乖。如果你的路線方向不是大前端或者多端開發(fā)者,那你不需要會(huì)哲嘲。