本書是Flutter從基礎入門到進階實戰的教程書,也是一本面向大前端的新技術書。Flutter是谷歌新推出的一個跨平臺的、開源的UI框架,同時支持iOS系統和Android系統開發,并且是谷歌未來新操作系統Fuchsia的默認開發套件。本書共10章,內容包括Flutter簡介、Dart語言入門、一切皆組件、事件處理、動畫、使用網絡技術與異步編程、路由、持久化、插件與混合工程和項目實戰。本書不僅介紹了Flutter的基本原理、特性,而且在實戰章節全面展示了打造一個完整的基于Flutter的App的流程,包含具體細節、思想流程和代碼實操。
適讀人群:本書適合Flutter初學者,對移動開發(iOS/Android)有一定經驗的人員,以及希望了解Flutter原理并進階實戰的相關技術人員。
移動端資深架構師,專家講解,Flutter核心技術與前沿案例。
谷歌全平臺框架Flutter入門到進階實戰的教程,面向基礎學習、商業應用場景,從原理到實戰。
豐富的案例呈現,極具實操意義的項目案例剖析,即學即用的代碼結構、附贈源碼。
代碼全面適合新版本,疑點、難點解析,可直接學習上架App 。
一套代碼多端運用,大前端構建、移動開發、Dart語言學習的名鋒利器 。
Stack Overflow 2019年備受開發者追捧的框架之一。
前 言
開發者的思考
隨著移動開發技術的發展與成熟,移動端所處的萌芽階段也早已結束。現在,iOS與Android系統已經越來越成熟,各種App之間的系統差異性也越來越小,可以說,移動開發技術已經進入了下半場。其中,如何構建大前端的跨平臺方案,是近年來十分火熱的話題之一。
我在工作之余,喜歡瀏覽一些技術類網站,比如掘金、CSDN等。在這些技術網站上,我了解和學習了不少新技術,也在實踐這幾年出現的跨平臺技術,比如Hybrid、React Native、Weex等。
在2018年年初,我第一次了解到谷歌的Flutter技術,經過一番實踐之后,我認為這是一種很有前景的新技術,它可以快速在iOS和Android系統上構建高質量的原生用戶界面。很明顯,Flutter為大前端的跨平臺方案提供了一個全新的思路。為此,我專門做了一些開源項目并發表了一些文章,以便更深入地學習、推廣Flutter技術。非常榮幸,在這個過程中,電子工業出版社的陳林老師找到了我,并希望我寫一本關于Flutter的技術書,這著實讓我受寵若驚,也倍感責任重大。
由于Flutter是一門新技術,大家都處于學習的狀態中。為了便于大家理解,也便于自己的技術積累,我在學習過程中不斷總結,做筆記,逐漸整理和創作了《Flutter:從0到1構建大前端應用》一書。
讀者對象
本書是一本關于Flutter入門的書,從基礎講起,也會涉及與Dart語言相關的內容,以便于讀者快速邁向Flutter開發。同時,本書也會涉及技術原理、思維等拔高內容。
本書通俗易懂,由淺入深,既適合初學者學習,也適合專業人員閱讀。對于在Android、iOS、前端等領域有過相關工作經驗的讀者來說,閱讀體驗會更好。
本書內容
本書內容是非常系統化的,用10個章節講述了學習Flutter必須掌握的知識,內容涉及Flutter簡介、環境搭建、Dart語言簡介、組件、事件處理、動畫、網絡、路由、持久化、插件和實戰項目等。實踐項目會教你如何構建一個Flutter應用,其中會使用Node.js把服務端搭建起來。此外,還會專門寫一個Flutter異常上報的項目,用于錯誤日志的跟蹤。
本書各個章節內容比較獨立,你可以按照順序閱讀,進行從0到1的全面學習;也可以根據需要把本書作為一本工具查詢書,直接跳轉到需要查詢的章節。每章的內容摘要如下所示。
第1章,Flutter簡介:從整體上先介紹移動端近年的發展變化,然后引出Flutter,并介紹Flutter的環境搭建。
第2章,Dart語言入門:介紹要編寫Flutter項目所必須掌握的Dart語言核心語法知識,為學好Flutter做鋪墊。
第3章,一切皆組件:介紹Flutter相關的核心組件和使用場景等。
第4章,事件處理:介紹Flutter的事件處理機制等。
第5章,動畫:介紹Flutter的動畫相關內容與核心原理等。
第6章,使用網絡技術與異步編程:介紹Flutter網絡技術的相關內容、網絡層與服務端的交互,以及Flutter的異步編程等。
第7章,路由:介紹Flutter的路由跳轉方式和原理等。
第8章,持久化:介紹Flutter的幾種持久化存儲方式。
第9章,插件與混合工程:介紹Flutter的插件編寫方式以及如何在現有原生項目里加入Flutter的相關技術。
第10章,項目實戰:第一個項目從服務端與客戶端的角度,介紹一個完整的項目案例;第二個項目介紹Flutter的日志捕獲方式以及服務端采集日志的方式。
何瑞君,移動端資深架構師,擅長Android、HTML5、React Native、Flutter等技術開發。GitHub重度使用者,熱愛開源項目和技術文章寫作。目前就職于平安銀行。