幫助中心 | 我的帳號 | 關於我們

Flutter內核源碼剖析

  • 作者:趙裕|責編:秦健
  • 出版社:人民郵電
  • ISBN:9787115575463
  • 出版日期:2022/01/01
  • 裝幀:平裝
  • 頁數:338
人民幣:RMB 89.9 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書系統介紹Flutter跨平台技術的底層原理,橫跨Java、C++、Dart 3種編程語言,可以幫助程序員學習前沿的跨平台技術,編寫高質量的代碼,深刻理解Flutter的內部運行機制。
    本書共11章。第1章?第3章講解閱讀Flutter內核源碼的前置知識,如何獲取和構建源碼,以及Dart的高級特性等。第4章?第7章講解Flutter內核源碼的核心內容,涉及Embedder層、Engine層、Framework層等。第8章?第11章基於對Flutter內核源碼的分析,探討如何編寫高性能的業務代碼,定位代碼中的性能瓶頸,使用DevTool等工具的高階特性,以及底層原理等高級主題。
    本書適合對跨平台技術感興趣的開發人員、前端開發人員、Android/iOS開發人員,希望深入了解Flutter或有性能調優需求的開發人員,對移動端渲染框架感興趣的開發人員,以及渴望深入了解Flutter底層實現的開發人員閱讀。

作者介紹
趙裕|責編:秦健

目錄
第1章  準備工作
  1.1  移動端跨平台簡史
    1.1.1  跨平台的起源
    1.1.2  跨平台的價值
    1.1.3  跨平台的演進
    1.1.4  跨平台的未來
  1.2  Flutter框架概覽
    1.2.1  分層架構模型
    1.2.2  響應式與Widgets
    1.2.3  初識渲染管道
    1.2.4  平台嵌入與交互
  1.3  本章小結
第2章  環境搭建
  2.1  Flutter源碼獲取
  2.2  Flutter源碼結構
  2.3  Flutter源碼構建
  2.4  Flutter源碼調試
    2.4.1  Framework源碼調試
    2.4.2  Embedder源碼調試
    2.4.3  Engine源碼調試
  2.5  本章小結
第3章  flutter tool
  3.1  flutter tool啟動流程
    3.1.1  基於Bash的環境準備
    3.1.2  基於Zone的上下文管理
    3.1.3  基於args的子命令管理
  3.2  flutter create詳解
  3.3  flutter build詳解
    3.3.1  BuildApkCommand流程分析
    3.3.2  flutter.gradle流程分析
    3.3.3  AssembleCommand流程分析
  3.4  flutter attach詳解
    3.4.1  環境準備階段
    3.4.2  服務連接階段
    3.4.3  增量編譯階段
  3.5  flutter run詳解
  3.6  本章小結
第4章  啟動流程
  4.1  Embedder啟動流程
    4.1.1  Embedder關鍵類分析
    4.1.2  啟動準備階段
    4.1.3  FlutterEngine初始化
    4.1.4  FlutterView初始化
    4.1.5  Framework啟動
    4.1.6  Engine入口整理
  4.2  Engine啟動流程
    4.2.1  Engine關鍵類分析
    4.2.2  JNI介面綁定
    4.2.3  Settings解析
    4.2.4  關鍵類初始化

  4.3  Surface啟動流程
    4.3.1  Flutter繪製體系介紹
    4.3.2  PlatformViewAndroid初始化
    4.3.3  Surface初始化
  4.4  Dart Runtime啟動流程
    4.4.1  Dart Runtime介紹
    4.4.2  Dart VM創建流程
    4.4.3  Isolate啟動流程
  4.5  Framework啟動流程
    4.5.1  Framework關鍵類分析
    4.5.2  Binding啟動流程
  4.6  本章小結
第5章  渲染管道
  5.1  首幀渲染
    5.1.1  Widget、Element與RenderObject
    5.1.2  根節點構建流程
    5.1.3  案例分析
    5.1.4  請求渲染
  5.2  Vsync機制分析
    5.2.1  Vsync準備階段
    5.2.2  Vsync註冊階段
    5.2.3  Vsync響應階段
    5.2.4  Framework響應階段
    5.2.5  Continuation設計分析
  5.3  Build流程分析
    5.3.1  Mark階段
    5.3.2  Flush階段
    5.3.3  清理階段
  5.4  Layout流程分析
    5.4.1  Mark階段
    5.4.2  Flush階段
    5.4.3  Layout實例分析
  5.5  Paint流程分析
    5.5.1  Compositing-State Mark階段
    5.5.2  Compositing-State Flush階段
    5.5.3  Paint Mark階段
    5.5.4  Paint Flush階段
  5.6  Composition流程分析
    5.6.1  Mark階段
    5.6.2  Flush階段
  5.7  Rasterize流程分析
  5.8  本章小結
第6章  Box布局模型
  6.1  Box布局概述
  6.2  Align布局流程分析
  6.3  Flex布局流程分析
  6.4  本章小結
第7章  Sliver布局模型
  7.1  Sliver布局概述
  7.2  RenderViewport布局流程分析

  7.3  RenderSliverToBoxAdapter布局流程分析
  7.4  本章小結
第8章  Framework探索
  8.1  StatefulWidget生命周期分析
  8.2  InheritedWidget原理分析
  8.3  Key原理分析
    8.3.1  GlobalKey
    8.3.2  LocalKey
  8.4  Animation原理分析
    8.4.1  補間動畫
    8.4.2  物理動畫
  8.5  Gesture原理分析
    8.5.1  目標收集
    8.5.2  手勢競爭
    8.5.3  雙擊事件
    8.5.4  拖曳事件與列表滑動
  8.6  Image原理分析
    8.6.1  框架分析
    8.6.2  網路圖片載入
    8.6.3  緩存管理
  8.7  Navigation原理分析
  8.8  本章小結
第9章  Embedder探索
  9.1  Platform Channel原理分析
    9.1.1  Platform Channel架構分析
    9.1.2  BasicMessageChannel流程詳解
    9.1.3  MethodChannel流程分析
    9.1.4  EventChannel原理分析
  9.2  Platform View原理分析
    9.2.1  Platform View架構
    9.2.2  Virtual Display原理分析
    9.2.3  Hybrid Composition原理分析
  9.3  Plugin原理分析
  9.4  本章小結
第10章  Engine探索
  10.1  消息循環原理分析
    10.1.1  消息循環啟動
    10.1.2  任務註冊
    10.1.3  任務執行
  10.2  動態線程合併技術
    10.2.1  合併、維持與消解
    10.2.2  合併狀態下的任務執行
  10.3  本章小結
第11章  優化實踐
  11.1  平台資源復用
  11.2  Flex布局實戰
  11.3  本章小結

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032