Flutter企業級應用開發實戰:閑魚技術發展與創新(簡體書)
商品資訊
系列名:阿里巴巴集團技術叢書
ISBN13:9787121411847
出版社:電子工業出版社
作者:閑魚技術團隊 編著
出版日:2021/06/01
裝訂/頁數:平裝/228頁
規格:24cm*17cm (高/寬)
版次:一版
商品簡介
本書是一本可供國內企業參考落地的Flutter技術圖書。閑魚技術團隊在實際的技術落地過程中,既享受了Flutter研發效能帶來的紅利,也經歷了無數的技術挑戰。本書將落地過程中的完整案例通過結構化的梳理回饋行業和社區。
本書以閑魚產品為原型,通過在線產品的真實案例,完整地描述了企業級App研發落地所需的技術方案選型,以及關鍵細節和部分代碼實現。無論是構建打包、業務架構設計,還是性能測試標準和在線穩定性保障,都對其進行了詳細的闡述。同時,本書針對實際情況深入討論,切實解決一些在研發落地過程中的問題,填補了領域的空白。
無論是國內一線企業的技術負責人,還是創業公司的技術人員,本書都值得閱讀。
作者簡介
閑魚技術團隊
閑魚技術團隊不僅是阿裡巴巴集團旗下閑置交易社區的創造者,更是移動與高並發大數據應用新技術的引導者與創新者。閑魚技術團隊與谷歌Flutter小組密切合作,為社區貢獻了多個高Star的項目。閑魚技術團隊也在積極探索深度學習和視覺技術在互動、交易、社區場景的創新應用。閑魚技術團隊與阿裡巴巴集團中間件團隊共同打造的FaaS平臺每天支持數以千萬計用戶的高並發訪問場景。
一直以來,我們不斷做出技術判斷,通過創新探索更多價值,並將團隊的各項能力與實踐經驗通過多種形式面向國內外進行分享,希望讀者可以代入本書的內容去體會這份定義、思考與解決問題的喜悅。閑魚技術團隊在Flutter方向已提交多個專利及開源項目,包括Fish Redux和Flutter Boost等。
團隊出版了圖書《Flutter技術解析與實戰——閑魚技術演進與創新》。歡迎閱讀並通過公眾號給閑魚技術團隊提出建議。
於 佳
閑魚客戶端負責人,花名宗心。曾參與阿裡巴巴集團多款重量級App以及移動中間件的設計與開發。首創基於Flutter的混合架構並推動其在閑魚各業務線的落地。目前同時擔任阿裡巴巴集團AliFlutter項目負責人。
郭歆伊
閑魚項目管理專家,花名鬼才。先後在銀聯、網易和阿裡等公司負責產品經理和項目管理工作。對數據產品設計、敏捷研發實踐、技術品牌建設等有豐富的實戰經驗。主導《Flutter技術解析與實戰——閑魚技術演進與創新》和本書的出版。
名人/編輯推薦
√本書重在為企業開發者和決策者提供Flutter的完整解決方案。
√面向企業級應用場景下的絕大多數問題和挑戰,都能在本書中獲得答案。
√注重單點問題的深耕與解決,如針對行業內挑戰較大的、復雜場景下的性能問題。
√本書通過案例與實際代碼傳達實踐過程中的主要思路和關鍵實現。
√本書采用全彩印刷,提供良好閱讀體驗。
序
推薦序
恭喜阿裡巴巴集團閑魚技術團隊再次出書,這是令人興奮的一部作品。作為國內最早大規模應用Flutter 的團隊,閑魚技術團隊再次通過對Flutter 體系的實踐與演進,淬煉出了一部Flutter 著作。
本書內容豐富,全面總結了Flutter 企業級應用的解決方案,從基本概念、框架、動畫、構建、性能和高可用等方面,為讀者打開了視角,拓寬了開發者視野,是集大成之作。作為技術的先行者,閑魚技術團隊為Flutter 開發者撥開了重重迷霧,使Flutter 可以更加體系化地應用於工程實踐。
我很欣喜地看到本書由淺入深、娓娓道來地講述Flutter 核心知識點,更囊括進階與深度內容。全書結合知識點,配以相關案例與實踐進行講解,通過思路引導,舉一反三。我相信,本書裡面的知識、技巧和方法一定可以幫助讀者解決很多開發中的實際問題,有助於讀者在進階道路上獲益。
認真碼字的技術人絕不甘於只把思想停留在字節中,倘若能結集付梓,實乃一樁幸事。如果你與本書不期而遇,歡迎與閑魚技術團隊的同事們交流。
鄭葉飛(圓心)
阿裡巴巴資深總監
前言
本書的目的
隨著Flutter 在國內逐步應用,許多開發者逐漸認識到它的玄妙之處。開發者在嫻熟地使用Flutter 進行開發並提高研發效率的同時,也面臨著不小的挑戰。曾經的閑魚正所謂“懷珠踽行,雖艱自熠”,今天的閑魚不只是先行者,更是同路人。挑戰與難關固然有,幸運的是,閑魚在Flutter 開發實踐中的系統性思考與單點深鉆——也是本書的重點——為開發者提供了全新的、進階的視角和“通用基準”,用來詮釋Flutter 在各種開發場景中的權衡選擇。
本書的目的在於為企業開發者和決策者提供基於Flutter 的完整解決方案。本書的與眾不同之處:
深度:本書相比閑魚技術團隊的上一本書,兼具了更多單點問題的深耕與解決。例如,針對行業內挑戰較大的、復雜場景下的性能問題,團隊有了更深刻的認識及新的解決方案。
廣度:對於一線技術負責人和開發者來說,面向企業級應用場景下的絕大多數問題和挑戰,都能在本書中獲得答案。
實用:本書具有堅實的實踐基礎,我們努力通過案例與實際代碼傳達實踐過程中的主要思路和關鍵實現,同時堅持“授人以魚,不如授人以漁”的原則。
本書秉承以上三個維度,全面徹底、自頂向下地精心設計,彌補了Flutter 圖書市場上的空白,希望讀者可以通過閱讀本書獲得更深層次的專業領悟,充分地掌握各種問題的解決方法。
誰應該閱讀本書
• 關注研發效能的一線技術管理者;
• 熱愛鉆研技術的移動端開發者;
• 跨平臺技術的從業者;
• 對Flutter 感興趣的相關專業師生;
• 一線技術媒體和技術出版編輯的朋友們。
本書的結構
本書分為7 章,讀者可以按順序閱讀。
第1 章介紹了Flutter 技術以及相關的跨平臺技術原理與適用場景。
第2 章介紹了基於Flutter 的移動端混合架構及配套工程的搭建方法,這也是目前業內使用較多的技術方案。
第3 章列舉了不同業務場景下的技術挑戰,並給出了對應的框架設計及解決方案。
第4 章詳盡描述了Flutter 相關的性能優化和高可用體系的實踐,包括度量標準、優化工具、優化策略等一系列方案。
第5 章描述了在復雜交互下如何利用Flutter 進行UI 的進階定制和動畫框架設計。
第6 章介紹了阿裡巴巴集團其他App 在Flutter 側的應用實戰,為大家補充了更多的橫向技術內容。
第7 章針對一些熱點問題,與大家分享一些開發的心路歷程和前沿展望。
如何閱讀本書
本書體現的思想有助於讀者了解Flutter 當前的發展情況。一種更好的閱讀方法是結合Flutter 官網資料和開源社區的部分源碼,將書中的思想和案例應用到實際開發中,這會是一種絕佳的學習方法。
借用一句俗語:Talk is cheap,Show me the code.
勘誤與支持
移動端技術發展潛力巨大,且更新速度快,盡管我們對內容進行了多次校對,依然難免有不當之處。如有寶貴意見,歡迎通過“閑魚技術”公眾號、知乎號、頭條號、掘金號等渠道留言或發私信,歡迎各位專家、讀者給予批評指正。
本書的電子書也將通過公眾號與大家見面,可在關注公眾號“閑魚技術”後回復“Flutter 電子書”獲取。
Any problems,please contact“ xianyu tech” via twitter、facebook。
致謝
本書在選題立項與成書過程中,得到了阿裡巴巴集團圓心老師提供的很多建設性意見,感謝圓心老師對閑魚技術品牌的鼓勵和對本書的支持。
感謝谷歌團隊一直以來高效愉快地與閑魚技術團隊共同演進,在此表達誠摯的謝意。
感謝電子工業出版社博文視點的宋亞東編輯的鼓勵與支持。“閑魚的業務不斷地快速迭代,技術耕耘也不能停。”宋編輯對上一本書給出了很高的評價,並且深入地和閑魚團隊的鬼才同學討論了上一本書的優缺點,喚起了我們的斗志。經過一年時間的規劃與筆耕不輟,守得云開見月明,大家得以看到這一本在表達方式、思維引導、案例解析等方面更精進的著作。
最後,衷心感謝團隊的每一位同事,大家很棒!
宗心、鬼才
目次
第1章 Flutter技術簡介與適用場景概要 / 1
1.1 Flutter技術簡介 / 2
1.1.1 Flutter技術的基本原理 / 2
1.1.2 Flutter的來源與演進歷史 / 3
1.1.3 跨平臺技術的日常應用場景 / 4
1.2 Flutter技術的適用場景與案例介紹 / 5
1.2.1 創業團隊的迭代效率與人員成長 / 5
1.2.2 中臺戰略下的企業成本與核心技術沉澱 / 7
1.2.3 云原生及5G時代的研發模式探索 / 8
1.3 總結 / 9
第2章 構建基於Flutter的混合應用 / 10
2.1 Flutter工程和構建 / 11
2.1.1 工程結構 / 11
2.1.2 構建 / 14
2.1.3 私域環境建設 / 19
2.1.4 總結 / 20
2.2 混合架構下的架構設計與應用 / 22
2.2.1 混合架構下的頁面管理 / 22
2.2.2 混合架構下的平臺能力復用 / 27
2.2.3 小結 / 32
第3章 多場景應用架構和設計 / 33
3.1 Flutter編程模型分析和實踐 / 34
3.1.1 架構設計的第一性原理 / 34
3.1.2 Flutter 編程模型分析 / 35
3.1.3 Flutter 編程模型實踐 / 40
3.1.4 小結 / 42
3.2 流式場景下的架構設計與應用 / 42
3.2.1 流式頁面容器架構設計 / 43
3.2.2 協議的設計 / 44
3.2.3 事件中心的設計 / 45
3.2.4 數據中心的設計 / 47
3.2.5 小結 / 50
3.3 Flutter場景下的多媒體架構實踐 / 51
3.3.1 基本概念:外接紋理、Channel、FFI和PlatformView / 51
3.3.2 多媒體消費端實踐:視頻播放器 / 53
3.3.3 多媒體消費端實踐:圖片組件 / 55
3.3.4 Platform線程和EGLContext / 57
3.3.5 小結 / 58
3.4 遊戲化場景的架構設計與應用 / 59
3.4.1 技術選型 / 59
3.4.2 引擎總體設計 / 60
3.4.3 遊戲系統 / 61
3.4.4 渲染系統 / 61
3.4.5 遊戲內界面系統 / 64
3.4.6 事件系統 / 65
3.4.7 生命周期系統 / 66
3.4.8 動畫系統 / 67
3.4.9 資源系統 / 72
3.4.10 小結 / 73
3.5 云端一體化的架構設計與應用 / 73
3.5.1 一體化設計演進 / 73
3.5.2 云端一體化架構升級 / 78
3.5.3 一體化架構設計 / 80
3.5.4 云端一體化研發模式思考 / 81
3.5.5 小結 / 83
第4章 性能優化和高可用體系 / 84
4.1 Flutter高可用標準 / 86
4.1.1 首屏顯示時間 / 86
4.1.2 流暢度 / 88
4.1.3 CPU使用率 / 89
4.1.4 錯誤異常率 / 89
4.1.5 內存使用率 / 91
4.1.6 小結 / 92
4.2 Flutter性能優化最佳實踐 / 93
4.2.1 性能技術優化 / 93
4.2.2 交互體驗優化 / 105
4.2.3 小結 / 112
4.3 Flutter穩定性保障最佳實踐 / 112
4.3.1 異常治理 / 113
4.3.2 內存泄露治理 / 115
4.3.3 CPU使用率治理 / 119
4.3.4 小結 / 120
4.4 可持續發展的高可用體系 / 120
4.4.1 基於錄屏的卡頓分析 / 121
4.4.2 基於錄屏的頁面可交互時長分析 / 123
4.4.3 Flutter代碼規範掃描 / 124
4.4.4 小結 / 128
第5章 高級UI及動畫效果 / 129
5.1 動態布局方案DinamicX / 130
5.1.1 整體架構設計 / 130
5.1.2 DSL渲染的實現 / 132
5.1.3 Flutter Layout的原理 / 132
5.1.4 實際應用場景 / 138
5.2 流式布局PowerScrollView / 138
5.2.1 整體架構設計 / 139
5.2.2 功能完善 / 140
5.2.3 性能優化 / 141
5.2.4 數據對比 / 148
5.2.5 小結 / 149
5.3 轉場動畫 / 149
5.3.1 背景 / 149
5.3.2 Flutter動畫原理 / 149
5.3.3 轉場動畫原理 / 152
5.3.4 總結和優化 / 155
5.4 Lottie / 155
5.4.1 背景 / 155
5.4.2 項目架構 / 156
5.4.3 工作流程 / 156
5.4.4 實現差異 / 159
5.4.5 效果對比 / 162
5.4.6 最佳實踐 / 164
5.4.7 進階用法和可編程能力 / 164
5.5 總結 / 165
第6章 前沿探索與行業案例 / 166
6.1 Flutter For Windows探索 /167
6.1.1 Windows UI框架發展史 / 167
6.1.2 技術選型的思考 / 169
6.1.3 Flutter For Windows技術預研 / 171
6.1.4 小結 / 177
6.2 Flutter引擎定制與優化 / 177
6.2.1 Hummer整體架構總覽 / 178
6.2.2 Hummer引擎性能優化 / 182
6.2.3 Hummer引擎功能增強 / 190
6.2.4 Hummer引擎內存泄露檢測工具 / 197
6.2.5 小結 / 199
6.3 Flutter在ICBU的實踐 / 200
6.3.1 ICBU無線變遷 / 200
6.3.2 跨端技術和Flutter / 201
6.3.3 技術改進 / 203
6.3.4 未來探索的方向 / 208
6.3.5 小結 / 209
6.4 Flutter在淘寶特價版的實踐 / 210
6.4.1 淘寶特價版的業務特點 / 210
6.4.2 使用Flutter的業務場景 / 210
6.4.3 小結 / 224
第7章 Flutter前沿技術與熱點問題 / 225
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。