Part1 移動端開發(fā)閑聊
原生:iOS、Android
跨平臺:H5、小程序、React Native、Weex、Flutter
[圖片上傳中...(image.png-6a946a-1584728464816-0)]
原生開發(fā):就聊聊 iOS 吧(Android 不熟 ??)。OC 這個語種,當年剛接觸的時候真的各種不習慣,給人的第一感覺就是很奇葩,用起來很別扭,但自己又特別喜歡蘋果的產(chǎn)品??,好在蘋果現(xiàn)在一直在推 Swift ,當年也是很感興趣 2.0 就入了坑,經(jīng)歷了一次 Swift 版本升級之后果斷棄坑了,不過現(xiàn)在應該好很多,很多公司的招聘要求也是需要懂 Swift,但是在接觸了像 React 這種響應式 UI 開發(fā)后,現(xiàn)在偶爾去 OC 這種命令式開發(fā),著實有些難受...
跨平臺開發(fā):之前有接觸過 RN,Hot Reload (JIT 是絕對要吹一波的),對于 UI 開發(fā)效率的提升簡直是飛躍,React 的 Diff 算法也是令人拍案叫絕,但是 RN 最終是需要通過 JSCore 轉(zhuǎn)為原生,所以理論上講,運行效率是不如原生的,且由于需要依賴原生,不同平臺控件需要單獨維護,系統(tǒng)更新后,社區(qū)控件多數(shù)情況下是滯后的。
Part2 今天的主題 Flutter 閑聊
先來感受下幾個跨平臺技術(shù)的星星情況(2019年12月07日)



Flutter 作為一個后起技術(shù),僅從 GitHub 的反響來看,是相當不錯的。
其次 Flutter 選擇的 Dart 這門語言借鑒了很多前端開發(fā)的優(yōu)秀思想,比如 React 的響應式 UI 框架設計思想,async、await 像同步編程那樣異步編程等。Flutter使用 Skia 作為其 2D 渲染引擎(Skia 是跨平臺的,并提供了非常友好的 API,目前 Google Chrome 和 Android 均采用 Skia 作為其繪圖引擎),理論上渲染效率要高于 RN。而且同時支持 AOT 與 JIT,開發(fā)時 JIT 可以高效開發(fā)、發(fā)布運行時 AOT 可以高效運行(這個可以大吹一波了??)
Part3 近期 Flutter 開發(fā)感受
- 一切皆對象:null、int 這些都屬于對象
- 一切皆 Widget:連布局都是 Widget(像 H5 、RN 等都是分離開的,這個剛開始還是有些不習慣...)
Part3.1 Dart 語言小結(jié)(比較跳躍...):
Dart 沒有 public、private、protected 這些關(guān)鍵字,變量名以 _ 打頭意味著它的 lib 是私有的
類即接口,可以繼承一個類也可以實現(xiàn)一個類
盡量給變量一個確定的類型
沒有初始化的變量,初始值默認都為 null
const 是編譯時常量
final const 修飾的變量建議指定數(shù)據(jù)類型
常量如果是類級別的,使用 static const
和 c、oc 一樣,有斷言 assert
List 里邊的元素必須保持類型一致,同 java
Map 的 key 類型也需要保持一致,key 不可以相同
級聯(lián)符號 .. 允許在同一個對象上進行一系列操作
使用 { } 指定命名參數(shù),同 OC 命名參數(shù)
使用 [ ] 來標記可選位置參數(shù)
Part4 Flutter 學習資料整理
官網(wǎng):https://flutter.dev/
混合開發(fā)官方集成方案:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps#ios
中文網(wǎng):(環(huán)境配置、SDK介紹等)https://flutterchina.club/get-started/install/
Dart 在線練習:https://dartpad.cn/
Flutter 布局詳解(寫的很好)https://github.com/yang7229693/flutter-study
Widget 生命周期
https://juejin.im/post/5d8c8fbaf265da5b9e0d2eb6

- 異步async、await和Future的使用技巧
https://segmentfault.com/a/1190000014396421
圖片來源于上文
Part5 IDE 推薦
剛開始玩 Flutter 時官網(wǎng)推薦了 Android Studio 和 VSCode 兩款 IDE ,我先用了前者,因為現(xiàn)在做的是混合開發(fā),需要同時開啟 Xcode 與 Android Studio ,由于鄙人電腦配置不是很好,那“歡樂小菊花”轉(zhuǎn)起來有時候真讓人崩潰,后面就嘗試了后者 VSCode,不得不再吹一波,這個 IDE 是真真兒強大,插件庫豐富,打開速度很快,偏好設置直接設置 json (settings.json 文件) 就行
分享下我在使用的插件及配置

{
// 主題
"workbench.colorTheme": "Default Light+",
// 控制何時自動保存已更新文件。接受的值: "off"、"afterDelay"、"onFocusChange" (編輯器失去焦點)、"onWindowChange" (窗口失去焦點)。如果設置為 "afterDelay",可在 "files.autoSaveDelay" 中配置延遲時間。
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 3000,
// 保存的時候自動格式化
"editor.formatOnSave": true,
"dart.openDevTools": "flutter",
// vscode-fileheader 插件配置
"fileheader.Author": "shaolin",
"fileheader.LastModifiedBy": "shaolin",
"workbench.iconTheme": "vscode-icons"
}
Part6 摘自官網(wǎng)一段作為結(jié)束語,挺振奮人心的??????

希望會給大家?guī)韼椭?O(∩_∩)O
