前言
開發者的思考
隨著行動開發技術的發展與成熟,行動端所處的萌芽階段也早已結束。現在,iOS 與Android 系統已經越來越成熟,各種App 之間的系統差異性也越來越小,可以說,行動開發技術已經進入了「下半場」。其中,如何建置大前端的跨平台方案,是近年來十分熱門的話題之一。
我在工作之餘,喜歡瀏覽一些技術類網站,例如掘金、CSDN 等。在這些技術網站上,我了解和學習了不少新技術,也在實作這幾年出現的跨平台技術,例如Hybrid、React Native、Weex 等。
在2018 年年初, 我第一次了解到Google 的Flutter 技術。經過一番實作之後,我認為這是一種很有前景的新技術。它可以快速在iOS 和Android 系統上建置高品質的原生使用者介面。很明顯,Flutter 為大前端的跨平台方案提供了一個全新的想法。為此,我專門做了一些開放原始碼專案並發表了一些文章,以便更深入地學習、推廣Flutter 技術。
Flutter 是一種新技術,大家都處於學習的狀態中。為了便於大家了解,也便於自己的技術累積,我在學習過程中不斷歸納、做筆記,逐漸整理和創作了本書。
適合讀者群
這是一本關於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 的記錄檔捕捉方式以及服務端擷取記錄檔的方式。
原始程式下載
建議讀者在學習本書的時候先把相關的案例原始程式執行一遍,然後按照自己的想法重寫,這樣可以加深印象。切勿直接複製、貼上、執行原始程式,只有親手實作才會有所收穫。本書原始程式在Flutter 1.5.4 版本中是相容的,讀者可以正常使用和練習。
原始程式下載網址:github.com/heruijun/FlutterFrom0To1。
技術交流
這本書雖然是關於新技術的,但也代表作者多年技術經驗的累積和技術思維的沉澱。當然,書中所寫內容難免會有紕漏之處,希望讀者朋友能及時指正,希望我們相互學習、共同進步。
讀者可以加入Flutter 技術交流QQ 群(群號:468010872),群裡有不少技術「高手」和前端專家,也可以在群內回饋和交流本書學習心得。