- Flutter開發實例解析
- 王睿
- 2087字
- 2021-11-12 11:11:34
前言
PREFACE
移動端開發領域經過多年發展,已經從新興走向完善。但開發效率不高一直是移動端開發的痛點。其中主要原因在于市面上存在Android、iOS兩套操作系統,對于同一個應用,需要分別進行開發,造成冗余的工作量。
移動跨端技術是解決這一核心難題的有效手段,也是移動端開發領域中熱門的前沿方向。移動跨端技術的核心在于通過跨端框架縮小平臺差異,提供一套統一的應用開發框架,并實現“一次編寫,處處運行”。
移動跨端技術經過多年的發展,誕生了多種解決方案,其中以Facebook推出的React Native為代表。但從這幾年的實際表現來看,跨端技術并沒有在行業實際應用中得到大規模推廣,而是仍然停留在嘗試、探索階段。尚不成熟。
Flutter作為一種新興的跨端開發技術,充分研究了之前跨端技術難以大規模推廣的難點,并通過先進的技術與巧妙的架構設計實現了突破,將移動跨端技術的發展向前推進了一大步。
Flutter一經推出便獲得廣泛關注,并迅速走熱。目前,越來越多的應用選擇Flutter跨端開發,也有越來越多的成功案例證明,采用Flutter跨端開發后確實提高了移動端的開發效率,實現了提高人效、降低成本的目標。
Flutter推出至今只有兩年多的時間,在如此短的時間里取得了這么大的成就,未來的發展潛力是巨大的,甚至能為移動端開發行業帶來新的變革。
在當前這個時間點學習Flutter開發是非常明智的。首先,經過兩年多的發展,Flutter的功能已經日趨完善,其穩定性和開發效率得到了行業的充分認可,業界也有許多成功案例可供參考,消除了人們對這項新技術在可靠性上的顧慮。越來越多的大公司和創業團隊選擇使用Flutter作為核心技術棧。
同時,Flutter作為一門前沿技術,尚未在行業內全面普及,這意味著存在大量潛在業務場景,適合通過Flutter技術進行改進。這為廣大從業者提供了展現自己才華的機會。
對于希望快速實現跨端落地的初創團隊來說,Flutter也是一個優選選項。Flutter技術不僅具備高開發效率,同時能夠開發出高性能、高跨端一致性、體驗豐富的原生應用。對于初創團隊來說,這是一個性價比非常高的解決方案。
Flutter作為一門全新的技術棧,其語言和框架都是全新的,并且知識體系比較龐大,學習起來有一定的難度。對于初學者來說,最迫切的愿望是能夠快速上手,將理論知識轉化為實際經驗,并在不斷的實踐中擴充完善知識體系。
本書旨在幫助Flutter初學者實現這一愿望。本書突出實戰的特點,通過精心編排的大量實例項目,手把手帶領讀者完成多個Flutter實際應用開發。按照循序漸進的順序對這些項目進行介紹,由淺入深,從最初的簡單番茄計時器、擬物時鐘,到后續的筆記應用、Todo應用、技術頭條應用,逐步帶領讀者開發出具備地圖、定位、網絡、數據庫、狀態管理等功能的復雜應用,最終使讀者能夠掌握Flutter的中高級開發能力。
章節內容
本書共8章,通過多個實例項目帶領讀者快速入門Flutter開發。
第1章介紹了移動跨端技術的發展歷程,對Flutter技術進行了整體的綜述,并與同類技術方案進行了對比,最后介紹了如何在不同系統下搭建Flutter開發環境。
第2章介紹了Dart語言語法與Flutter的組件化思想,并介紹了Flutter項目的工程結構。最后以一個番茄鐘實戰項目對整章內容進行鞏固。
第3章通過一個擬物時鐘實戰項目,帶領讀者學習Flutter自定義視圖繪制和動畫開發,同時介紹了Container等基礎布局組件。
第4章通過一個軌跡計步器項目,介紹了如何基于Flutter開源生態,快速擴展Flutter功能,并介紹了地圖、計步器傳感器、定位GPS插件的使用方式,常用的布局組件,以及如何使用Flutter進行界面開發。
第5章通過一個局域網聊天應用,介紹了如何開發網絡應用、如何管理Flutter圖片資源,并模擬了產品功能迭代的流程,以提高Flutter開發的實際經驗。
第6章通過一個Markdown筆記應用,介紹了如何對數據進行持久化、對數據進行JSON序列化,以及在Flutter中如何對Markdown進行輸入與展示,并在此基礎上介紹了應用架構分層的架構設計思想。
第7章通過一個Todo應用,介紹了在Flutter下數據庫的使用方式。整個項目按照現代化前端架構分層的思想進行設計,實現了單一數據源、單向數據流和響應式布局,具備良好的穩定性和擴展性。
第8章通過一個技術頭條項目,實現了一個基于HTTP的GitHub客戶端。通過實例介紹了如何進行復雜Feed流的開發。
本書特色
書中所選實例均為熱門應用類型,且為完整示例項目。在突出實戰性的同時,根據主題將Flutter開發的基礎知識安排在各個章節中,覆蓋了Flutter開發中的常用知識,實現了理論與實踐相互助益的效果。通過這些實戰,讀者能夠快速熟悉上手,并能直接應用到工作中。書中同時也介紹了移動端架構和狀態管理等中高級主題。完成本書學習后,開發者能夠具備中高級Flutter應用開發水平。
本書適合不同層次的移動端開發工程師、前端開發工程師,以及希望快速入門Flutter移動端開發的讀者閱讀學習。
致謝
感謝本書的策劃編輯李培培老師,在她的指導與鼓勵下,我完成了本書的寫作。感謝家人對我的支持與鼓勵,特別感謝我的妻子,在我寫作的這近一年時間里,一直陪伴著我,為家庭付出很多。感謝領導和同事們的幫助,讓我每天都在成長和進步。
由于本人技術水平有限,書中難免會有疏漏。歡迎大家批評、指正。反饋郵箱:max-ieewong@gmail.com,勘誤信息會發布在作者的個人網站maxiee.github.io上。
互動地址
作者新浪微博:@Maxiee,歡迎共同討論Flutter技術。
QQ交流群:965765951。
書中實戰項目源碼,以及實戰項目介紹視頻下載地址:https://github.com/maxiee/flutter-book-examples。
作者博客地址:https://maxiee.github.io/。
作者GitHub:https://github.com/maxiee。
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- JavaScript全程指南
- Java EE 6 企業級應用開發教程
- Learning Spring 5.0
- Magento 2 Theme Design(Second Edition)
- C語言程序設計
- Java編程技術與項目實戰(第2版)
- 自然語言處理Python進階
- Scala編程實戰(原書第2版)
- Corona SDK Mobile Game Development:Beginner's Guide(Second Edition)
- 持續輕量級Java EE開發:編寫可測試的代碼
- 智能手機APP UI設計與應用任務教程
- ASP.NET程序開發范例寶典
- Java SE實踐教程
- 區塊鏈架構之美:從比特幣、以太坊、超級賬本看區塊鏈架構設計