Flutter 實戰 Practical Flutter: Improve Your Mobile Development with Google's Latest Open-Source SDK

[荷蘭]弗蘭克·扎米蒂(Frank Zammetti) 著;貢國棟 任強 譯

  • Flutter 實戰 -preview-1
  • Flutter 實戰 -preview-2
  • Flutter 實戰 -preview-3
Flutter 實戰 -preview-1

買這商品的人也買了...

商品描述

《Flutter實戰》圍繞Flutter的跨平臺能力及其來龍去脈展開講解。當今,移動開發領域發展迅速,Flutter是由Google公司推出的開源移動應用開發SDK,使用Flutter可以為Android、iOS和Google Fuchsia系統開發應用。   通過學習本書,你將掌握三個可直接安裝在自己的移動設備上並實際體驗的應用(個人信息管理、聊天系統和游戲)。你將扎實掌握Flutter基礎知識,並由此快速構建兩個常見應用,你還將通過學習構建游戲項目,從完全不同的角度瞭解Flutter的強大功能。通過構建這三個應用,你將瞭解現實世界中發生的問題,並通過相關提示及技巧掌握解決辦法,所有這些都將使你的Flutter學習高效且充滿樂趣!   本書將使你掌握使用Flutter構建應用的能力,進而可以自行構建更高級的應用。完成本書的學習後,你將站在更高的起點並且能夠做好充分準備,在Flutter開發領域從容應對任何挑戰。本書是學習Flutter不可錯過的經典作品。

目錄大綱

目    錄

 

第1章  初識Flutter   1

1.1  在深淵中沉思   1

1.2  透過名字這一表象   3

1.3  Dart:眾神的語言   4

1.4  擁抱微件   7

1.5 言歸正傳:Flutter的優劣對比   11

1.6 無須多言,向Flutter進發吧   13

1.7 Flutter SDK   14

1.8  Android Studio   14

1.9  (不那麽)經典的“Hello, World!”應用   15

1.10  熱重載:你會喜歡上它的   23

1.11  Flutter應用的基本結構   24

1.12  其他一些“隱藏的”細節   27

1.13  小結   28

第2章  Dart核心技術   29

2.1  必知必會   29

2.1.1  沒有註釋:關於註釋的一切   30

2.1.2  萬物皆可變:變量   32

2.1.3  物以類聚:數據類型   34

2.2  當單個值不夠用時:使用枚舉   39

2.3  是什麽類型:關鍵字as和is   40

2.4  順序執行:流程控制(及邏輯)結構   41

2.5  一無所有:void   43

2.6  操作符   44

2.7  將結合點分類:Dart中的面向對象   46

2.8  讓函數變得有趣   55

2.9  斷言   58

2.10  超時了:異步   58

2.11  保持安靜:庫(及可見性)   59

2.12  凡事總有例外:異常處理   61

2.13  生成器   62

2.14  元數據   64

2.15  泛泛而談:泛型   64

2.16  小結   66

第3章  你好Flutter,第一部分   67

3.1  微件速覽   67

3.1.1  佈局微件   68

3.1.2  導航微件   78

3.1.3  輸入表單類微件   87

3.1.4  對話框、彈窗、消息微件   100

3.2  小結   108

第4章  你好Flutter,第二部分   109

4.1  微件樣式   109

4.1.1  Theme微件和ThemeData   109

4.1.2  Opacity微件   111

4.1.3  DecoratedBox微件   111

4.1.4  Transform微件   112

4.2  動畫和過渡   113

4.2.1  AnimatedContainer   113

4.2.2  AnimatedCrossFade微件   114

4.2.3  AnimatedDefaultTextStyle微件   116

4.2.4  其他微件   117

4.3  拖放   117

4.4  數據視圖   119

4.4.1  Table微件   119

4.4.2  DataTable微件   121

4.4.3  GridView微件   123

4.4.4  ListView和ListTile微件   125

4.5  其他微件   127

4.5.1  CircularProgressIndicator(CupertinoActivityIndicator)和LinearProgressIndicator微件   127

4.5.2  Icon微件   128

4.5.3  Image微件   130

4.5.4  Chip微件   131

4.5.5  FloatingActionButton微件   133

4.5.6  PopupMenuButton微件   134

4.6  常用API   136

4.6.1  核心Flutter框架庫   136

4.6.2  Dart庫   138

4.6.3  其他(支持)庫   140

4.7  小結   141

第5章  FlutterBook,第一部分   143

5.1  我們在構建什麽   143

5.2  啟動項目   145

5.3  配置和插件   145

5.4  UI結構   147

5.5  應用的代碼結構   148

5.6  起跑線   148

5.7  一些全局工具類   151

5.8  關於狀態管理   153

5.9  從簡單的開始:便簽   156

5.9.1  起點:Notes.dart   157

5.9.2  模型:NotesModel.dart   158

5.9.3  數據庫層:NotesDBWorker.dart   160

5.9.4  列表頁:NotesList.dart   165

5.9.5  輸入頁:NotesEntry.dart   171

5.10  小結   179

第6章  FlutterBook,第二部分   181

6.1  搞定這一切:任務   181

6.1.1  TasksModel.dart   181

6.1.2  TasksDBWorker.dart   182

6.1.3  Tasks.dart   182

6.1.4  TasksList.dart   183

6.1.5  TasksEntry.dart   185

6.2  定個日子:約會   187

6.2.1  AppointmentsModel.dart   187

6.2.2  AppointmentsDBWorker.dart   188

6.2.3  Appointments.dart   188

6.2.4  AppointmentsList.dart   188

6.2.5  AppointmentsEntry.dart   196

6.3  伸出你的手:聯系人   198

6.3.1  ContactsModel.dart   198

6.3.2  ContactsDBWorker.dart   199

6.3.3  Contacts.dart   199

6.3.4  ContactsList.dart   199

6.3.5  ContactsEntry.dart   204

6.4  小結   210

第7章  FlutterChat,第一部分:服務端   211

7.1  我們要構建的是什麽   211

7.2  Node   212

7.3  保持通信暢通:socket.io   215

7.4  FlutterChat服務端代碼   218

7.4.1  兩個狀態和一個對象相遇   219

7.4.2  消息鉤子   221

7.5  小結   230

第8章  FlutterChat,第二部分:客戶端   231

8.1  Model.dart   231

8.2  Connector.dart   234

8.2.1  服務端消息函數   237

8.2.2  客戶端消息函數   239

8.3  main.dart   241

8.4  LoginDialog.dart   245

8.5  Home.dart   250

8.6  AppDrawer.dart   251

8.7  Lobby.dart   254

8.8  CreateRoom.dart   257

8.9  UserList.dart   262

8.10  Room.dart   265

8.10.1  聊天室功能菜單   266

8.10.2  主界面內容   269

8.10.3  邀請或踢出用戶   272

8.11  小結   276

第9章  FlutterHero:一款Flutter游戲   277

9.1  故事起源   277

9.2  基本佈局   278

9.3  目錄結構與組件源文件   279

9.4  配置:pubspec.yaml   280

9.5  GameObject類   281

9.6  GameObject類的擴展:Enemy類   286

9.7  GameObject類的擴展:Player類   287

9.8  一切開始的地方:main.dart   291

9.9  主游戲循環和核心游戲邏輯   296

9.9.1  起始   296

9.9.2  首次初始化   297

9.9.3  Flutter動畫簡介   298

9.9.4  重置游戲狀態   300

9.9.5  主游戲循環   302

9.9.6  檢查碰撞   305

9.9.7  隨機定位對象   307

9.9.8  轉移能量   307

9.10  控制:InputController.dart   310

9.11  小結   312