跨端技術是Android程式員乃至所有移動開發程式員一直在研究的課題,
3月4日,谷歌正式發布了 Flutter 的 2.0,該版本最大的特性就是可以支持五大主流的作業系統:iOS、Android、Linux、Windows 和 MacOS,官方甚至還說豐田將會把 Flutter 帶到汽車中,
也就是說,我們可以用一套 Flutter 代碼適配全平臺了,
同時間,開發社區討論炸開了鍋:Flutter 到底能不能成為跨平臺開發終極之選?Flutter不是正在被放棄嗎?
相信很多人心中都有上面這些疑惑,今天我們就來好好掰扯一下這個Flutter,
Flutter 到底能不能成為跨平臺開發終極之選?
- Flutter 是基于前端誕生的,但是對前端開發來說,Flutter 的環境配置很麻煩,需要原生的平臺知識,還要擔心遇上網路問題,
- Flutter 本身沒有特別多的語法糖,
- Flutter 最先運用在移動客戶端的開發,但是編程模式,語法都偏向前端,宣告式的開發方式對客戶端原生開發者來說需要額外的學習成本,
- Flutter 的嵌套讓人感覺得很“惡心”,
綜上,Flutter 在很多開發者心中并不是很討喜,但是,Flutter 對于Android開發者來說確實很值得!為什么呢?
為什么 Flutter 對 Android 開發來說值得?
1.Flutter 有很多優點
(1)國際化方案非常友好
Flutter官方提供的國際化方案對布局的國際化做得非常友好,文案的國際化在Flutter Intl插件的加持下也非常簡單,(或許微不足道,但是真的超級方便)
(2)執行效率高
就目前市場的大環境來講,主流的跨端方案有兩種:
將 JavaScriptCore 引擎當作虛擬機的方案,代表框架是 React Native;
使用非 JavaScriptCore 虛擬機的方案,代表框架就是我們今天的主角 Flutter,
JavaScriptCore, 主要是為了兼容 Web 標準留下的歷史包袱,無法專門針對移動端進行性能優化,而 Flutter 一開始就是使用全新的 Dart 語言撰寫,同時支持 AOT 和 JIT 兩種編譯方式,而沒有采用 HTML/CSS/JavaScript 組合方式開發,在執行效率上明顯高于 JavaScriptCore ,
2.Flutter 是市場的選擇
如下圖,這是手機上用 libChecker 統計出來的部分使用 Flutter 的應用:

我們可以看到,現在 Flutter 正在被很多大公司采用:
- 京東的京東讀書
- 阿里的閑魚
- 騰訊的微信和 Now 直播
- 位元組跳動的西瓜視頻
- ……
一個新技術的普及,企業級應用一定會先在頭部互聯網企業產生,然后逐步優化降低門檻,現在用 Flutter 的大廠是越來越多,相信那個爆發的臨界點應該不遠了,
Flutter 現在已經不是曾經的小眾框架,這兩年里它已經逐步成長為主流的跨平臺開發框架之一,
3.找作業的加分項
Flutter目前也是Android開發崗位的加分項,下面是Boss上面搜到的一部分招聘資訊,



通過上圖可以看出,很多大廠在高薪招聘這方面的人才,Flutter 確確實實可以成為我們找作業的一個幫助,
Flutter 也確確實實可以幫助到我們的職業發展,技術是相通的,當我們在學習Flutter時,也能把原有的技術聯通、打通,我們可以通過 Flutter 放大自身業務開發能力,參與到更多的平臺開發中,
有一個說法是:對于 Android 原生開發來說,學會 Flutter 等于學會了 70% 以上的 Jetpack Compose ,
Android開發該如何快速上手Flutter?
當你快速搭建好環境,簡單了解 Flutter 的 API 之后,學習 Flutter 主要有兩個核心點:一個是回應式開發,另一個是弄懂 Widget 的背后是什么?
這兩點對于Android開發來說都有一定的難度,
為了幫助大家快速無痛上手 Flutter,我這里給大家分享一份資料
Flutter 學習筆記

第一章 為什么 Flutter 是跨平臺開發 的終極之選
1這是為什么?
2什么是跨平臺開發?
3什么是Flutter、
4 Flutter的特性
5 Flutter構建應用的工具
6 使用Flutter構建的熱門應用
7構建Flutter應用的成本

第二章在Windows上搭建Flutter開發環境
1使用鏡像
2系統要求
3獲取Flutter SDK
4編輯器設定
5Android設定
- 起步:配置編輯器
- 起步:體驗
- 體驗熱重裁
- 創建新的應用
- 運行應用程式
- 體驗熱重裁

第三章撰寫您的第一個Flutter App
第1步:創建Flutter app
第2步:使用外部包(package)
第3步:添加一個有狀態的部件(Stateful widget)
第4步:創建一個無限滾動ListView
第5步:添加互動
第6步:導航到新頁面
第7步:使用主題更改UI

第四章Flutter開發環境搭建和除錯
1.開發環境的搭建
2.模擬器的安裝與除錯
3.開發環境的搭建
- 1).下載Flutter SDK
- 2).配置環境變數
- 3).安裝Visual Studio Code所需插件
- 4).創建Flutter專案
4.模擬器的安裝與除錯

第五章Dart語法篇之基礎語法(一)
1.Hello Dart
2.資料型別
3.變數和常量
4.集合(List、Set、Map)
5.流程控制
6.運算子
7.例外
8.函式

第六章Dart語法篇之集合的使用與原始碼決議(二)
1.List
2.Set
3.Map
4.Queue
5.LinkedList
6.HashMap
7.Map、HashMap、LinkedHashMap.splayTreeMap區別
8.命名建構式from和of的區別以及使用建議

第七章Darti語法篇之集合運算子函式與原始碼分析(三)
1.lterable
2.forEach
3.map
4.any
5.every
6.where
7.firstWhere 和 singleWhere 和 lastWhere
8.join
9.take
10.skip
11.skipWhile
12.follwedBy
13.expand
14.reduce
15.elementAt

第八章Dart語法篇之函式的使用(四)
1.函式引數
2.匿名函式(閉包,lambda)
3.箭頭函式
4.區域函式
5.]頂層函式和靜態函式
6.main函式
7.Function的數物件

第九章Dart語法篇之面向物件基礎(五)
1.屬性訪問器(accessor)函式setter和getter
2.面向物件中的變數
3.建構式
4.抽象方法、抽象類和介面
5.類函式

第十章Dart語法篇之面向物件繼承和Mixins(六)
1.類的單繼承
2.基于Mixins的多繼承
- 1).為什么需要Mixins?
- 2).Mixins是什么?
- 3).使用Mixins多繼承的場景
- 4).Mixins的線性化分析
- 5).Mixins中的型別參考資料

第十二章 Dart語法篇之型別系統與泛型(七)
1.可選型別
2.介面型別
3.泛型
- 1).泛型的基本介紹
- 2).泛型的使用
- 3).子類、子型別和子型別化關系
- 4).協變(covariant)
- 5).協變在Dart中的應用
- 6).為什么Kotlin比Dart的泛型型變更安全
4.型別具體化
- 1).型別檢測
- 2).強制型別轉化

第十三章Flutter中的widget
01.Flutter頁面-基礎widget
o2.Widget
03.StatelessWidgetStatefulWidget
04.State生命周期
05.基礎widget
06DefaultTextStyle
07FlutterLogo
08.lcon
09.CircleAvataro
10.FadeInImage
11按鈕
12.FlatButton
13.OutlineButton
14.TextFormField

資料領取

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298073.html
標籤:其他
