Flutter 技術解析與實戰 — 閑魚技術演進與創新

Flutter 技術解析與實戰 — 閑魚技術演進與創新

作者: 閑魚技術部
出版社: 電子工業
出版在: 2020-03-01
ISBN-13: 9787121385377
ISBN-10: 7121385376
裝訂格式: 平裝
總頁數: 200 頁





內容描述


本書將詳細講解閒魚Flutter&FaaS雲端一體化架構,以及閒魚基於Flutter的架構演進與創新,
學習一套全面的Flutter架構應用方案。
本書介紹閒魚技術團隊利用Flutter技術改造和上線複雜業務的混合工程改造實踐,
抽取Flutter依賴到遠程的實現細節,以及使用Plugin橋接獲取設備信息、使用基礎網絡庫等混合開發實踐指南。
這些實踐遍布閒魚各大業務線和應用場景,為讀者使用Flutter打造自己的研發體系探索一條實踐之路。
除了介紹閒魚Flutter應用框架Fish Redux、開發利器AspectD、
FlutterBoost等一眾開源工具與開發實踐指南,你還將在本書中學到Flutter的更多應用場景。


目錄大綱


第1章混合工程1
1.1 Flutter工程體系1
1.1.1混合工程研發體系介紹1
1.1.2混合工程下的Flutter研發結構2
1.1.3工程結構2
1.1.4構建優化3
1.1.5 Native啟動下的Flutter調試6
1.1.6 Native啟動下的Flutter熱重載9
1.1.7 Native與Flutter聯合調試11
1.1.8持續集成11
1. 2混合工程改造實踐11
1.2.1項目背景及問題11
1.2.2改造目標12
1.2.3方案的製訂12
1.2.4改造的實現過程14
1.3混合工程與持續集成15
1.3.1背景思考15
1.3.2實現方法16
1.3.3 iOS依賴的Flutter庫的抽取21
1.3.4 Flutter混合工程的持續集成流程23
1.4快速完成混合工程搭建24
1.4.1 flutter-boot簡介24
1.4.2工程化設計25
1.4.3混合棧27
1.5使用混合棧框架開發29
1.5.1為什麼需要混合方案29
1 .5.2 Google官方提出的混合方案29
1.5.3第二代混合技術方案FlutterBoost 31
1.5.4擴展補充35
第2章能力增強36
2.1基於原生能力的插件擴展36
2.1.1 Flutter Plugin 36
2.1.2 Platform Channel 37
2.1.3獲取剩餘電量Plugin 39
2.1.4加載Plugin 46
2.1.5遇到的問題48
2.1.6延展討論49
2.2基於外接紋理的同層渲染50
2.2.1 Flutter渲染框架50
2.2.2存在的問題51
2.2.3解決方法52
2.3多媒體能力擴展實踐58
2.3.1背景58
2.3.2設計思路58
2 .3.3一些難點59
2.3.4總結60
2.4富文本能力應用實踐61
2.4.1富文本的原理61
2.4.2設計思路62
2.4.3關鍵部分代碼實現64
2.4.4效果65
第3章業務架構設計66
3.1應用框架設計實踐66
3.1.1 Fish Redux開源背景及技術架構66
3.1.2 Fish Redux技術解析67
3.2輕量級動態化渲染引擎的設計77
3.2.1背景77
3.2.2動態方案77
3.2.3模板編譯78
3.2.4渲染引擎81
3.2.5最終效果85
3.3面向切面編程的設計實踐86
3.3.1典型的AOP場景88
3.3.2面向開發者的API設計88
3.3.3 AOP代碼的編譯90
3.3.4 Dill操作90
3.3.5 AspectD支持的語法92
3.3.6構建流程支持95
3.3.7實戰與思考95
3.4高性能的動態模板渲染實踐96
3.4.1為什麼Native可行的方案不適用於Flutter 96
3.4.2認識三棵樹97
3.4.3 Flutter在Layout過程中的優化98
3.4.4如何自定義Widget 100
3.4.5更多優化方向105
參考文獻106
第4章數據統計與性能107
4.1數據統計框架的設計107
4.1.1用戶行為埋點定義107
4.1.2在Flutter上的埋點實現方案108
4.1.3曝光坑位110
4.2性能穩定性監控方案的設計113
4.2.1 Flutter性能穩定性目標113
4.2.2頁面滑動流暢度113
4.2.3頁面加載耗時116
4.2.4異常率118
4.3高可用框架的設計與實踐119
4.3.1為什麼要做Flutter性能監控119
4.3.2需要一個什麼樣的SDK 119
4.3.3從單個指標看整體設計120
4.3.4整體結構設計122
4.3.5 SDK不同的使用方式126
4.3.6 SDK的落地情況126
4.4跨端方案性能對比實踐127
4.4.1跨端方案對比127
4.4.2對比數據分析128
4.4.3總結131
4.4.4延伸閱讀131
第5章企業級應用實戰134
5.1基於Flutter的端架構演進與創新134
5.1.1 Flutter的優勢與挑戰134
5.1.2閒魚的架構演進與創新135
5.1.3研發智能化在閒魚的應用140
5.2 Flutter與FaaS雲端一體化架構142
5.2.1傳統Native+Web+服務端混合開發的挑戰142
5.2.2跨端方案Flutter與React Native的選擇143
5.2.3 Dart作為FaaS層的第一可選語言144
5.2.4一體化的深層思考146
5.2.5案例效果147


作者介紹


閒魚技術部不僅是阿里巴巴集團旗下閒置交易社區的創造者,
更是移動與高並發大數據應用新技術的引導者與創新者。
我們與Google Flutter和Dart小組密切合作,為社區貢獻了多個高star的項目和大量PR。
我們積極探索深度學習和視覺技術在互動、交易、社區場景中的創新應用。
閒魚技術團隊與阿里巴巴集團中間件團隊共同打造的FaaS平台每天支持數以千萬級用戶的高並發訪問場景。
一直以來,我們不斷做出技術判斷,通過創新探索更多價值,
並將團隊的各項能力與實踐經驗以多種形式面向國內外分享。
希望讀者在閱讀本書的過程中,去體會這份定義、思考與解決問題的喜悅。




相關書籍

HTML5 Multimedia Developer's Guide (Paperback)

作者 Ken Bluttman Lee M. Cottrell

2020-03-01

Web前端技術項目式教程(HTML5+CSS3+Flex+Bootstrap)

作者 唐彩虹 張琳霞 曾浩

2020-03-01

Alluxio:大數據統一存儲原理與實踐

作者 範斌 顧榮

2020-03-01