-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Flutter入門與實踐

( 簡體 字)
作者:[美]亞歷山德羅·比薩克 著 類別:1. -> 程式設計 -> 手機程式 -> Flutter
譯者:李強 譯
出版社:清華大學出版社Flutter入門與實踐 3dWoo書號: 53187
詢問書籍請說出此書號!

缺書
NT售價: 645

出版日:6/1/2020
頁數:395
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302557050
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

本書將引領讀者探討Flutter框架并構建精彩的移動應用程序,其中涉及Dart語言的詳細內容,以及編寫高級應用程序所需的全部Flutter塊,從而構建一個功能齊全的應用程序。通過清晰的代碼示例,我們將學習如何開始一個小型的Flutter項目、添加微件(widget)、應用樣式和主題、與遠程服務(如Firebase)連接、獲取用戶輸入內容、添加動畫效果以提升用戶體驗,等等。除此之外,讀者還將學習如何應用高級特性、地圖集成,與包含本地編程語言的特定平臺代碼協同工作,并利用個性化的動畫效果生成精美的UI。簡而言之,本書將通過Flutter框架向讀者展示移動開發的未來趨勢。
適用讀者
本書是針對打算學習谷歌革命性框架Flutter的開發人員而編寫的,讀者不需要具備Flutter和Dart語言方面的背景知識,但應理解編程語言的基本知識。
本書內容
第1章介紹Dart語言的基本知識。
第2章考查Dart語言中的面向對象編程特性和高級概念、庫、包和異步編程。
第3章主要介紹Flutter。
第4章討論如何在Flutter中構建布局。
第5章利用微件向讀者展示如何處理用戶輸入內容。
第6章學習如何向Flutter微件應用不同風格的樣式。
第7章考查如何向應用程序屏幕中加入導航。
第8章講解如何在Flutter應用程序中使用Firebase插件。
第9章解釋如何創建自己的插件。
第10章深入討論如何與設備特性進行交互,如相機和聯系人列表。
第11章向讀者展示如何將地圖視圖添加至Flutter應用程序中。
第12章深入討論Flutter工具,以提升開發人員的生產力。
第13章探討如何利用相關特性改善用戶體驗,如Dart后臺執行和國際化。
第14章考查如何利用圖形操控創建獨特的視覺效果。
第15章涉及如何向Flutter微件中添加動畫效果。
環境需求
具體的需求條件將在每章的學習過程中予以介紹。首先,讀者需要安裝一個瀏覽器,以便訪問DartPad站點并嘗試運行Dart代碼。
當開發和發布iOS應用程序時,讀者應持有開發者證書(需繳納年費)、一臺Mac機,或者至少一臺用于測試應用程序的設備。但對于學習Flutter來說,這些都不是必需條件。
讀者可訪問Flutter的官方網站(https://flutter.dev/docs/get-started/install)查看Flutter環境的安裝過程和具體需求。不必擔心,我們將從最簡單的任務開始,并在必要時安裝附加功能。
下載示例代碼文件
讀者可訪問www.packt.com,使用賬號登錄后即可下載本書的示例代碼文件。如果讀者購買了本書,還可訪問www.packtpub.com/support,注冊后,我們將通過郵件方式將文件發送與讀者。
下載過程包括以下步驟。
(1)訪問www.packt.com,登錄并注冊。
(2)選擇Support選項卡。
(3)單擊Code Downloads。
(4)在Search搜索框中輸入本書書名,并遵循后續各項指令。
在文件下載完畢后,可利用下列軟件的最新版本解壓或析取相關文件夾。
? 對于Windows平臺,WinRAR/7-Zip。
? 對于Mac平臺,Zipeg/iZip/UnRarX。
? 對于Linux平臺,7-Zip/PeaZip。
除此之外,本書代碼包還發布于GitHub中,對應網址為https://github.com/PacktPublishing/ Flutter-for-Beginners。如果代碼有更新,將在現有的GitHub存儲庫中更新。
不僅如此,讀者還可訪問https://github.com/ PacktPublishing/以查看其他代碼包和視頻內容。
下載彩色圖像
我們還進一步提供了本書中的截圖/圖表的彩色圖像,讀者可訪問https://static.packt- cdn.com/downloads/9781788996082_ColorImages. pdf進行查看。
本書約定
本書在文本內容方面包含以下約定。
代碼塊如下所示。

main() {
var yeahDartIsGreat = "Obviously!";
var dartIsGreat = yeahDartIsGreat ?? "I dont know";
print(dartIsGreat); // prints Obviously!
}

對于希望引起讀者足夠重視的特定代碼塊,相關代碼行采用了粗體顯示,如下所示。

main() {
var someInt = 1;
print(reflect(someInt).type.reflectedType.toString()); // prints: //int
}

命令行輸入或輸出如下所示。

dart code.dart

圖標表示較為重要的說明事項。
圖標則表示提示信息和操作技巧。
讀者反饋和客戶支持
歡迎讀者對本書提出建議或意見。對此,讀者可向feedback@packtpub.com發送郵件,并以書名作為郵件標題。
若讀者針對某項技術具有專家級的見解,抑或計劃撰寫書籍或完善某部著作的出版工作,則可訪問www.packtpub.com/authors。
勘誤表
盡管我們全力做到盡善盡美,但錯誤依然在所難免。如果讀者發現謬誤之處,無論是文字錯誤還是代碼錯誤,都望不吝賜教。對此,讀者可訪問http://www.packtpub.com/submit- errata,選取對應書籍,單擊Errata Submission Form超鏈接,并輸入相關問題的詳細內容。
版權須知
一直以來,互聯網上的版權問題從未間斷,Packt出版社對此類問題異常重視。若讀者在互聯網上發現本書任意形式的副本,請告知網絡地址或網站名稱,我們將對此予以處理。關于盜版問題,讀者可發送郵件。
問題解答
若讀者對本書有任何疑問,均可發送郵件,我們將竭誠為您服務。
內容簡介:

本書首先介紹Flutter框架和Dart的基礎知識,讀者將學習如何設置開發環境來開始您的Flutter項目,指導讀者設計應用程序的用戶界面和用戶輸入功能。隨著學習進度的深入,讀者將探索navigator小部件來管理您的應用程序路由,并了解如何添加屏幕之間的轉換,將著手開發自己的插件,并了解如何構造良好的插件代碼。本書將幫助您顯示來自Flutter應用程序的地圖,添加標記和交互,并使用谷歌Places API。不僅可以通過添加測試來創建一個沒有bug的應用程序,而且還可以將其部署到蘋果的應用程序商店和谷歌Play上。
目錄:

第1部分Dart語言簡介
第1章Dart語言概述3
1.1Dart語言3
1.1.1Dart語言的發展史4
1.1.2Dart語言的工作方式4
1.1.3Dart語言的基本語法和工具5
1.2Flutter與Dart8
1.2.1提升生產力8
1.2.2易于學習9
1.2.3成熟度11
1.3Dart語言的結構12
1.3.1Dart運算符13
1.3.2數據類型和變量16
1.3.3類型推斷—動態機制19
1.3.4控制流和循環20
1.3.5函數21
1.3.6數據結構、集合和泛型24
1.3.7泛型24
1.3.8泛型的使用原因和時機24
1.3.9泛型和Dart字面值25
1.4Dart中的面向對象編程26
1.4.1Dart面向對象特性26
1.4.2封裝27
1.4.3繼承28
1.4.4抽象28
1.4.5多態28
1.5本章小結28
1.6進一步閱讀29
第2章Dart中級編程31
2.1Dart類和構造方法31
2.1.1枚舉類型32
2.1.2級聯符號33
2.1.3構造方法34
2.1.4字段訪問器—get和set36
2.1.5靜態字段和方法37
2.1.6類繼承機制39
2.2抽象類、接口和混入40
2.2.1抽象類41
2.2.2接口42
2.2.3混入—向類中添加行為43
2.2.4可調用的類、頂級函數和變量45
2.3理解Dart庫和包47
2.3.1導入機制和庫的使用47
2.3.2創建Dart庫51
2.3.3Dart包58
2.3.4包結構59
2.3.5Stagehand—Dart項目生成器61
2.3.6pubspec文件62
2.3.7包依賴關系—pub64
2.4基于Future和Isolate的異步編程68
2.4.1DartFuture68
2.4.2DartIsolate72
2.5基于Dart的單元測試73
2.5.1Darttest包74
2.5.2單元測試74
2.6本章小結76
第3章Flutter簡介79
3.1移動應用程序開發框架間的比較79
3.1.1Flutter解決的問題80
3.1.2現有框架間的差異80
3.2Flutter編譯(Dart)85
3.2.1開發編譯86
3.2.2發布編譯86
3.2.3所支持的平臺86
3.3Flutter渲染機制86
3.3.1Web技術87
3.3.2框架和OEM微件88
3.3.3自身的渲染機制88
3.4微件簡介89
3.4.1可組合性89
3.4.2不可變性90
3.4.3一切均是微件90
3.5HelloFlutter92
3.5.1pubspec文件94
3.5.2運行生成后的項目96
3.6本章小結99
第2部分Flutter界面—一切均為微件
第4章微件—在Flutter構建布局103
4.1無狀態/有狀態微件103
4.1.1無狀態微件103
4.1.2有狀態微件104
4.1.3代碼中的無狀態微件和有狀態微件105
4.1.4繼承的微件109
4.1.5微件中的key屬性110
4.2內建微件111
4.2.1基本微件111
4.2.2Text微件111
4.2.3Image微件112
4.2.4材料設計和iOSCupertino微件113
4.3內建布局微件116
4.3.1容器116
4.3.2樣式和定位117
4.3.3其他微件(手勢、動畫和轉換)117
4.4利用微件創建UI(FriendFavors管理器應用程序)117
4.4.1應用程序屏幕118
4.4.2應用程序代碼118
4.4.3應用程序主屏幕119
4.4.4請求任務屏幕127
4.5創建自定義微件131
4.6本章小結132
第5章處理用戶手勢和輸入133
5.1處理用戶手勢133
5.1.1指針133
5.1.2手勢134
5.1.3MaterialDesign微件中的手勢138
5.2輸入微件139
5.2.1FormField和TextField139
5.2.2Form微件141
5.3驗證輸入(Form)143
5.4自定義輸入和FormField144
5.4.1創建自定義輸入144
5.4.2自定義輸入微件示例144
5.5整合工作148
5.5.1任務屏幕149
5.5.2任務請求屏幕154
5.6本章小結157
第6章主題和樣式159
6.1主題微件159
6.1.1Theme微件159
6.1.2主題的應用162
6.1.3Platform類164
6.2MaterialDesign準則165
6.2.1MaterialApp微件166
6.2.2Scaffold微件167
6.2.3自定義主題168
6.3iOSCupertino171
6.3.1CupertinoApp171
6.3.2Cupertino應用172
6.4使用自定義字體173
6.4.1將字體導入Flutter項目中173
6.4.2在應用程序中重載默認的字體175
6.5基于LayoutBuilder和MediaQuery的動態樣式175
6.5.1LayoutBuilder176
6.5.2MediQuery178
6.5.3其他響應類181
6.6本章小結182
第7章路由機制—屏幕間的導航183
7.1Navigator微件183
7.1.1Navigator183
7.1.2Overlay184
7.1.3路由184
7.1.4MaterialPageRoute和CupertinoPageRoute185
7.1.5整合操作185
7.1.6WidgetsApp方式189
7.2命名路由190
7.2.1移至命名路由190
7.2.2從Route中檢索結果192
7.3屏幕過渡194
7.3.1PageRouteBuilder194
7.3.2自定義過渡轉換操作195
7.4Hero動畫196
7.4.1Hero微件196
7.4.2實現Hero轉換197
7.5本章小結204
第3部分開發全功能的應用程序
第8章Firebase插件207
8.1Firebase概述207
8.1.1設置Firebase208
8.1.2將Flutter應用程序連接至Firebase210
8.2Firebase身份驗證214
8.2.1在Firebase中啟用身份驗證服務215
8.2.2身份驗證屏幕217
8.2.3利用Firebase進行登錄218
8.3基于CloudFirestore的NoSQL數據庫222
8.3.1啟用Firebase上的CloudFirestore223
8.3.2CloudFirestore和Flutter224
8.3.3從Firestore中加載幫助任務225
8.3.4更新Firebase中的幫助任務228
8.3.5在Firebase上保存一項幫助任務228
8.4基于FirebaseStorage的CloudStorage230
8.4.1FirebaseStorage簡介231
8.4.2添加Flutter存儲依賴關系231
8.4.3向Firebase上傳文件232
8.5FirebaseAdMob和廣告235
8.5.1AdMob賬戶235
8.5.2創建一個AdMob賬戶235
8.5.3Flutter中的AdMob238
8.5.4在Flutter中顯示廣告240
8.6基于FirebaseMLKit的機器學習243
8.6.1向Flutter中添加MLKit243
8.6.2在Flutter中使用標記檢測器243
8.7本章小結246
第9章構建自己的Flutter插件247
9.1創建包/插件項目247
9.1.1Dart包和Flutter包247
9.1.2啟動一個Dart包項目248
9.1.3Flutter插件包249
9.2插件項目結構250
9.2.1MethodChannel類251
9.2.2實現Android插件252
9.2.3實現iOS插件253
9.2.4DartAPI254
9.2.5插件包示例254
9.2.6使用插件255
9.3向包中添加文檔256
9.3.1文檔文件256
9.3.2庫文檔257
9.3.3生成文檔257
9.4發布包258
9.5插件開發中的一些建議258
9.6本章小結259
第10章從Flutter應用程序訪問設備功能261
10.1從應用程序啟動一個URL261
10.1.1顯示鏈接262
10.1.2打開一個鏈接263
10.2管理應用程序權限265
10.2.1管理Flutter上的權限266
10.2.2使用permission_handler插件266
10.3導入聯系人267
10.3.1利用contact_picker導入聯系人267
10.3.2基于permission_handler的聯系人權限270
10.4集成相機設備271
10.4.1利用image_picker拍攝照片272
10.4.2基于permission_handler的相機權限273
10.5本章小結275
第11章平臺視圖和地圖集成277
11.1顯示一幅地圖277
11.1.1平臺視圖277
11.1.2創建平臺視圖微件279
11.1.3google_maps_flutter插件284
11.1.4利用google_maps_flutter顯示一幅地圖286
11.2向地圖中添加標記291
11.2.1Marker類291
11.2.2向GoogleMap微件中添加標記291
11.3添加地圖交互行為293
11.3.1動態添加標記294
11.3.2GoogleMapController295
11.3.3獲取GoogleMapController295
11.3.4地圖相機與位置間的動畫效果295
11.4使用GooglePlacesAPI296
11.4.1啟用GooglePlacesAPI296
11.4.2google_maps_webservice插件297
11.4.3利用google_maps_webservice插件獲取地址297
11.5本章小結300
第4部分復雜應用程序的高級資源
第12章測試、調試和開發303
12.1Flutter測試—單元和微件測試303
12.1.1微件測試303
12.1.2flutter_test包304
12.1.3testWidgets()函數304
12.1.4微件測試示例304
12.2調試Flutter應用程序306
12.2.1Observatory工具306
12.2.2附加的調試特性308
12.2.3DevTools309
12.3分析Flutter應用程序310
12.3.1Observatory分析器310
12.3.2profile模式311
12.4Flutter微件樹313
12.5應用程序開發的準備階段314
12.5.1release模式315
12.5.2發布Android應用程序315
12.5.3發布iOS應用程序320
12.6本章小結322
第13章改進用戶體驗323
13.1Flutter中的可訪問性以及翻譯功能323
13.1.1Flutter的訪問支持323
13.1.2Flutter國際化324
13.1.3向Flutter應用程序中添加本地化功能325
13.2基于平臺通道的本地和Flutter間的通信330
13.2.1平臺通道331
13.2.2消息編碼解碼333
13.3創建后臺進程333
13.3.1Flutter中的compute()函數334
13.3.2compute()函數示例335
13.3.3后臺進程336
13.3.4初始化計算337
13.4添加Android代碼并在后臺運行Dart代碼339
13.4.1HandsOnBackgroundProcessPlugin類340
13.4.2BackgroundProcessService類341
13.5添加iOS代碼并于后臺運行Dart代碼345
13.6本章小結350
第14章微件圖形控制351
14.1利用Transform類轉換微件351
14.1.1Transform微件351
14.1.2Matrix4類352
14.2轉換類型353
14.2.1旋轉轉換353
14.2.2縮放轉換354
14.2.3平移轉換355
14.2.4組合轉換356
14.3轉換微件357
14.3.1旋轉微件357
14.3.2縮放微件358
14.3.3平移微件359
14.3.4使用多重轉換359
14.4使用自定義畫筆和畫布360
14.4.1Canvas類360
14.4.2CustomPaint微件362
14.4.3CustomPainter對象363
14.5示例364
14.5.1定義微件364
14.5.2定義CustomPainter365
14.6射線圖的變化版本368
14.6.1定義微件369
14.6.2定義CustomPainter370
14.7本章小結373
第15章插件的動畫效果375
15.1動畫簡介375
15.1.1Animation<T>類375
15.1.2AnimationController類376
15.1.3TickerProvider和Ticker377
15.1.4CurvedAnimation類377
15.1.5Tween類378
15.2使用動畫378
15.2.1旋轉動畫378
15.2.2縮放動畫382
15.2.3平移動畫383
15.2.4多重轉換和自定義Tween385
15.2.5自定義Tween類387
15.3使用AnimatedBuilder390
15.3.1AnimatedBuilder類390
15.3.2再訪動畫390
15.4使用AnimatedWidget393
15.4.1AnimatedWidget類394
15.4.2利用AnimatedWidget重新實現動畫394
15.5本章小結395
序: