Flutter 基礎與實戰 — 從入門到 APP 跨平台開發

Flutter 基礎與實戰 — 從入門到 APP 跨平台開發

作者: 趙龍
出版社: 機械工業
出版在: 2021-11-01
ISBN-13: 9787111690627
ISBN-10: 7111690621
裝訂格式: 平裝
總頁數: 327 頁





內容描述


本書旨在幫助讀者快速入門Flutter、掌握Flutter開發技能,
從而具備一定的Flutter跨平台開發能力。
本書在內容編排上主要分為以下三個部分。
第壹部分(第1~5章)是UI構建基礎篇,縱向概述Flutter開發中用到的基礎組件(如Text、Image)、
UI佈局組件(如Column)、滑動組件(如NestScrollView)和功能性組件(如手勢識別)等。
第二部分(第6~10章)是Flutter核心功能篇,涵蓋動畫、彈框、繪圖、插件開發、文件操作與網絡請求等。
第三部分(第11~13章)是實戰應用篇,將前兩部分的內容加以應用,
並補充開發細節,如應用圖標配置、打包發布、權限請求、各種工具類封裝,
還提供了一個APP的基礎架構以及短視頻應用與電商類應用。
讀者可以直接在本書提供的源碼基礎上搭建企業級的應用。
此外,本書還具有較強的工具屬性,便於在隨時查閱,陪伴讀者完成Flutter的學習旅程。
本書適合想要入門Flutter,進行應用開發的技術人員閱讀。


目錄大綱


目錄
前言
UI 構建基礎篇
第1 章 Flutter 開發起步 
1.1 Dart 語言概述 
1.1.1 Dart 與Flutter 的發展史
1.1.2 編譯模式概述
1.2 Dart 語言核心
1.2.1 Dart 方法函數
1.2.2 Map、List、Set 的基本使用
1.2.3 Dart 中的流程控制
1.3 Flutter 項目配置文件
1.3.1 pubspec 配置文件依賴庫引用說明
1.3.2 圖片等資源管理配置 
1.4 Flutter APP 的調試技巧
1.4.1 Android Studio 的日誌使用技巧
1.4.2 斷點調試——逐行追踪代碼
1.4.3 Flutter Inspector 調試快速定位元素 
1.4.4 Flutter Performance 調試應用繪製消耗 
小結
第2 章 基礎組件
2.1 MaterialApp
2.1.1 路由配置
2.1.2 語言環境與主題配置
2.2 Scaffold 組件
2.2.1 FloatingActionButton 懸浮按鈕
2.2.2 側拉頁面drawer 配置
2.2.3 bottomNavigationBar 配置底部導航欄菜單
2.3 AppBar
2.3.1 AppBar 的基本使用
VI
2.3.2 在AppBar 中實現可滑動切換的標籤欄
2.4 文本顯示 Text 組件
2.4.1 Text 組件的樣式TextStyle
2.4.2 RichText 組件的基本使用
2.5 文本輸入框TextField 組件
2.5.1 背景樣式InputDecoration
2.5.2 文本控制器TextEditingController
2.5.3 輸入焦點與鍵盤控制
2.6 容器Container 組件
2.7 按鈕Button
2.8 圖片Image 組件
2.8.1 加載網絡圖片
2.8.2 加載本地圖片
小結
第3 章 UI 佈局排版組件
3.1 線性佈局Column 與Row
3.1.1 Column 與Row 的寬與高自適應
3.1.2 Column 與Row 中子Widget 的對齊方式分析
3.1.3 Column 與Row 中子Widget 按比例權重佈局
3.2 非線性佈局
3.2.1 幀佈局 Stack
3.2.2 彈性佈局Flex
3.2.3 流式佈局Wrap
3.2.4 流式佈局Flow
3.3 實現一個酷炫的登錄頁面
3.3.1 頁面主體結構構建
3.3.2 輸入層UI 佈局
3.3.3 輸入層的事件交互操作
3.3.4 抖動文本輸入框ShakeTextFiled
3.3.5 鍵盤佔位 KeyboardPlaceholderWidget
小結
第4 章 功能性組件
4.1 進度指示器
4.1.1 線性指示器LinearProgressIndicator
4.1.2 圓形指示器CircularProgressIndicator
4.1.3 蘋果風格CupertinoActivityIndicator
4.1.4 Material 風格RefreshIndicator
4.1.5 蘋果風格CupertinoSliverRefreshControl
4.2 單選框Radio、複選框CheckBox、開關Switch
4.2.1 單選框Radio 組件
4.2.2 單選框RadioListTile 的基本使用
4.2.3 複選框CheckBox 的基本使用
4.2.4 複選框CheckboxListTile 的基本使用
4.2.5 開關Switch 的基本使用
4.2.6 開關SwitchListTile 的基本使用
4.3 手勢處理
4.3.1 GestureDetector 的使用
4.3.2 Ink 與InkWell
4.3.3 手勢拖動與放大圖片的組件
小結
第5 章 滑動視圖
5.1 ScrollView
5.1.1 滑動組件SingleChildScrollView
5.1.2 滑動佈局NestedScrollView 與SliverAppBar
5.1.3 滑動組件CustomScrollView
5.2 PageView
5.3 ListView 與GridView
5.3.1 ListView 基本使用
5.3.2 GridView 的基本使用
5.3.3 下拉刷新與上拉加載更多
小結
核心功能篇
第6 章 動畫專題—讓畫面動起來
6.1 基本動畫
6.1.1 透明動畫
6.1.2 縮放動畫
6.1.3 平移動畫
6.1.4 旋轉動畫
6.2 Tween 動畫
6.2.1 數值類型的Tween
6.2.2 顏色類型的 Tween
6.2.3 各系列的Tween
6.2.4 CurvedAnimation 使用分析
6.2.5 TweenSequence 串行動畫使用分析
6.3 其他動畫概述
6.3.1 抖動動畫實現
6.3.2 Hero 屏幕共享元素動畫
6.3.3 Path 繪圖高級動畫
6.3.4 ClipReact 裁剪動畫
6.3.5 Material Design Motion 規範的預構建動畫
小結
第7 章 彈框專題—提升交互體驗的關鍵
7.1 基本彈框的使用
7.1.1 showDialog
7.1.2 showCupertinoDialog
7.1.3 showGeneralDialog
7.1.4 showBottomSheet
7.1.5 showModalBottomSheet
7.1.6 showCupertinoModalPopup
7.2 Dialog 中的狀態更新
7.3 自定義彈框
小結
第8 章 繪圖專題—裝飾讓界面更美觀
8.1 Flutter 中繪圖功能實現
8.1.1 CustomPaint 簡述
8.1.2 CustomPainter 簡述
8.1.3 畫筆Paint
8.2 繪製基本圖形
8.2.1 繪製點
8.2.2 繪製直線
8.2.3 繪製矩形
8.2.4 繪製弧或者餅drawArc
8.2.5 繪製圓角矩形
8.2.6 繪製圓形
8.2.7 繪製橢圓drawOval
8.2.8 通過Path 繪製基本圖形
8.3 貝塞爾曲線
8.3.1 使用二階貝塞爾曲線繪製弧線
8.3.2 使用三階貝塞爾曲線繪製不規則弧線
8.4 繪製文本
8.5 繪製圖片
8.5.1 ui.Image 圖片
8.5.2 Uint8List 圖片
8.5.3 繪製一個圖片
小結
第9 章 插件開發專題—滿足你的個性化開發需求
9.1 Flutter 與原生(Android、iOS)雙向通信
9.1.1 MethodChannel 實現Flutter 與原生(Android、iOS)雙向通信
9.1.2 BasicMessageChannel 實現Flutter 與原生(Android、iOS)雙向通信 
9.1.3 EventChannel 實現原生(Android、iOS)向Flutter 發送消息
9.1.4 Flutter 調用Android 原生TextView
9.1.5 Flutter 調用iOS 原生UIView
9.2 插件發布
9.2.1 插件發布前的準備
9.2.2 插件發布pub 倉庫
小結
第10 章 文件操作與網絡請求
10.1 異步編程
10.1.1 Flutter 異步編程async 與await 的基本使用
10.1.2 延時任務與定時任務概述
10.1.3 Future 與Timer 常用方法概述
10.1.4 Future 任務原理分析
10.1.5 異步加載FutureBuilder 概述
10.2 文件File 的讀寫
10.2.1 資源目錄assets 文件讀取
10.2.2 手機磁盤文件讀寫
10.2.3 SharedPreferences 輕量級數據保存
10.2.4 sqflite 數據庫數據操作
10.3 網絡請求庫
10.3.1 網絡請求框架HttpClient
10.3.2 網絡請求庫Dio
小結
實戰應用篇
第11 章 APP 從0 起步—用Flutter 搭建基礎框架
11.1 項目創建及打包配置
11.1.1 Flutter 項目配置概述
11.1.2 Android 配置文件與清單文件概述
11.1.3 iOS 清單info.plist 配置概述
11.2 基礎工具類封裝
11.2.1 常用工具類封裝
11.2.2 路由工具類封裝
11.2.3 網絡請求工具類封裝
11.3 基礎組件封裝
11.3.1 自定義路由彈框
11.3.2 權限請求彈框
11.3.3 基類BaseState 構建
11.3.4 App 版本升級組件
11.3.5 Html 加載組件
11.4 啟動流程配置
11.4.1 Android 與iOS 雙平台的閃屏頁面
11.4.2 啟動初始化頁面
11.4.3 廣告倒計時頁面
11.4.4 滑動引導功能頁面
11.4.5 應用首頁面
11.4.6 應用登錄頁面
11.4.7 設置中心頁面
小結
第12 章 短視頻應用的跨平台開發—打造社交新體驗
12.1 視頻列表頁面
12.1.1 狀態欄顏色設置
12.1.2 下拉刷新與上拉加載更多功能
12.1.3 列表構建
12.1.4 加載數據處理
12.2 視頻列表子Item
12.3 視頻播放詳情 VideoPlayDetailedWidget
12.3.1 視頻播放控制器的常用操作方法
12.3.2 視頻播放視圖構建
12.3.3 視頻播放控制
12.4 視頻首頁面
小結
第13 章 電商類應用的跨平台開發—呈現訪客至上的購物頁面
13.1 指紋登錄功能
13.2 主頁面根視圖
13.2.1 剪切板功能
13.2.2 雙擊退出應用功能
13.2.3 主體頁面
13.3 滑動折疊的首頁面
13.3.1 首頁面背景
13.3.2 首頁面主體
13.3.3 首頁面縮放平移搜索框
13.3.4 搜索框
13.3.5 子頁面 HomeItemTabbarPage
小結


作者介紹


趙龍,華為HDE認證專家,CSDN認證年度博客專家,網易云課堂“玩轉大前端”網校創始人。先後從事過Java EE 領域、Android開發架構領域、iOS開發領域、產品設計領域相關工作。同時對React native 、Uni-app、Flutter跨平台開發有系統和豐富的開發與架構實戰經驗。
曾在CSDN技術平台撰有“Flutter開發的點滴積累”系列專欄,通過100多篇技術文章幫助廣大開發者解決了在Flutter開發中遇到的疑難問題。




相關書籍

AngularJS in Action (Paperback)

作者 Lukas Ruebbelke

2021-11-01

Programming Grails (Paperback)

作者 Burt Beckwith

2021-11-01

React : 引領未來的用戶界面開發框架, 2/e

作者 卓越開發者聯盟 (League of Extraordinary Developers)

2021-11-01