W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本書是第一本系統(tǒng)介紹 Flutter 技術的中文書籍,它是 Flutter 中文社區(qū)發(fā)起的開源項目之一,旨在幫助開發(fā)者入門,系統(tǒng)地、循序漸進的了解 Flutter。
本書官網(wǎng)訪問量較大,由于服務器配置有限,所以某些時段訪問本站可能略有延遲,如果延遲較久,讀者可以直接在Github上閱讀本書 (opens new window)。
在全球,隨著 Flutter 被越來越多的知名公司應用在自己的商業(yè)APP中,F(xiàn)lutter這門新技術也逐漸進入了移動開發(fā)者的視野,尤其是當 Google 在 2018 年 IO 大會上發(fā)布了第一個 Preview 版本后,國內(nèi)刮起來一股學習 Flutter 的熱潮。
在 Flutter 發(fā)布之初,當時,我在看完 Flutter 原理介紹后,就對它產(chǎn)生了濃厚的興趣。當時筆者身邊也一些人比較關注 Flutter,我也被經(jīng)常問到關于 Flutter 的一些問題,比如 Flutter 怎么樣?和 RN 有什么區(qū)別?Flutter 為什么要用 Dart?當時也聽到了一些批評的聲音,比如有些人說 Flutter 只是重復造輪子,沒啥亮點、Flutter 最大的缺點就是使用了 Dart 語言等。在聽到這些問題及論調(diào)后,我深知這是對 Flutter 的不了解而造成的,這和當時國內(nèi)缺乏 Flutter 中文文檔和教程有直接關系,很多人對 Flutter 的了解都只停留在 Google 的發(fā)布會介紹(有中文翻譯)。
在筆者深入的了解 Flutter 后,深知 Flutter 必將是一個會改變移動開發(fā)格局的里程碑級作品,它從設計之初就對性能和開發(fā)效率兼顧,并且借鑒了 React(一個 Web 開發(fā)框架)的響應式的 UI 框架設計思想等,總之,很難用一兩句話說完 Flutter 的優(yōu)點,同時我也很快成為了 Flutter 的路轉(zhuǎn)粉。
為了更好的幫助中國開發(fā)者了解這門新技術,我在2018年初開始翻譯Flutter官網(wǎng)文檔,同年4月份上線了Flutter中文網(wǎng) (opens new window),上線后反響很強烈,F(xiàn)lutter 中文網(wǎng)也很快被傳播開,百度搜索排名迅速躥升到前三,截止目前,F(xiàn)lutter 中文官網(wǎng)日 PV 在 7 萬左右,每日獨立訪問人數(shù)近一萬多。
雖然 Flutter 中文網(wǎng)給中國開發(fā)者提供了很好的第一手了解 Flutter 的資料,但是筆者還會經(jīng)常遇到一些對 Flutter 技術處于圍觀而不愿嘗試的開發(fā)者。這主要是因為當時 Flutter 在國內(nèi)沒有成功案例,再加上新技術都有學習成本,所以即使有文檔,也會有一些開發(fā)者猶豫是否來學習。為了解決這部分開發(fā)者的疑慮,我就想如果能用Flutter開發(fā)一個完整的APP發(fā)布到應用商店,這樣開發(fā)者就可以在猶豫的時候可以先實際感受一下Flutter應用,這樣有個直觀的了解后,就會容易做出判斷,為此,我開發(fā)了Gitme (opens new window),它是一個 Github 客戶端,它支持了源碼瀏覽、Issue、Label 等 Github 的大多數(shù)功能,到目前為止,通過 Gitme 登錄過 Github 賬號的用戶有 8000 多人,日活用戶有 1000 人。更重要的是,有很多人正是用了 Gitme 后,才來學 Flutter 的。
無論是做 Flutter 中文網(wǎng),還是寫 Gitme,主要目標都是幫助開發(fā)者學習 Flutter,同時消除圍觀開發(fā)者疑慮。但當開發(fā)者們真正開始動手時,F(xiàn)lutter 的生態(tài)問題就變得尤為突出。由于在 2018 年初 Flutter 剛起步時,很多基礎的包和庫都是空白,少數(shù)已有的一些庫也大都是預覽版(未到 1.0),存在很多 bug。這個狀況不是一兩個人花一兩天能搞定的,這是需要聚整個 Flutter 開發(fā)者社群之力,耗費數(shù)年時間才可能有所改善。因此,在2018年4月份,我以 Flutter 中文網(wǎng)名義發(fā)起了 Flutter 開源計劃,該計劃主要是開發(fā)一些常用的包來豐富 Flutter 生態(tài),幫助開發(fā)者提高開發(fā)效率。自在 github 建立 Flutter中文開發(fā)者社區(qū)賬號 (opens new window)以來,前后開源了 dio、cookieJar、flukit 等多個項目,而 dio 在開源兩周后,就迅速成為 Flutter 第三方包中 Star 排名第一的開源庫。
雖然做的事情已經(jīng)夠多了,但是仍有一些很有必要去做的事情,由于時間原因,一直被擱置。
隨著學習 Flutter 的人越來越多,一部分開發(fā)者通過查看官網(wǎng)的文檔就能入門,但也有很多開發(fā)者感覺學習時仍然有些吃力,主要原因有兩個,首先官網(wǎng)的文檔主要是為了引導開發(fā)者快速上手的,講的并不是很細;其次是我們雖然翻譯了官方文檔,但是對于 Flutter SDK 文檔并沒有翻譯,而在開發(fā)中遇到的一些具體問題通常都得去查看 SDK 文檔。所以,要解決這兩個問題,必須得有一個系統(tǒng)化的 Flutter 教程,它不僅可以快速引導開發(fā)者入門,而且也能觸及到一些細節(jié)和原理,最好也能提供一些學習和研究 Flutter 的方法。因此,如果能有一本能系統(tǒng)地介紹 Flutter 的書籍便是便是非常棒的!但是,當時沒有一本關于 Flutter 的中文書籍,因此,我便計劃寫一本能由淺入深、系統(tǒng)介紹Flutter的書。2018 年 12 月,《Flutter 實戰(zhàn)》完成初稿,并在 Github 上開源,同時上線了《Flutter實戰(zhàn)》電子書官網(wǎng) (opens new window),至今每天有 3000 多人在線瀏覽本書。那為什么不直接出版?如果直接出版,不僅有稿費,而且也能保護知識產(chǎn)權,而直接開源,不就只能當雷鋒了?其實,無論是做中文網(wǎng)、寫 Gitme、做Flutter開源項目,我的出發(fā)點都是為了能幫助中國開發(fā)者了解、學習 Flutter,而這是一件非常有意義的事,只要堅持做對別人有價值的事,那么上帝遲早會獎賞你;當然我們也在網(wǎng)站中留了打賞的按鈕,如果讀者覺得有幫助,可以掃碼打賞,請筆者喝一杯咖啡。另外由于成書比較倉促,當時書中也有很多錯誤,開源后,有很多讀者提PR來糾正書中的錯別字,時至今日,有 78 名開發(fā)者為本書提過 PR,我在此,衷心的感謝你們。
起初,我沒有出版實體書的打算,當時我以為開發(fā)者直接通過在線訪問本書官網(wǎng)即方便又不用付費,何樂而不為。但在本書上線后,很多讀者來添加微信好友,表示非常有收益,很期待出版紙質(zhì)書,甚至有比較熱心的讀者想提前付定金預定!我理解,這是大家對我所做之事的認可和鼓勵??紤]到,確實有一部分讀者,尤其是還沒畢業(yè)的同學,可能更喜歡通過書籍去學習,為此,我已經(jīng)和機械工業(yè)出版社合作,目前本書紙質(zhì)版正在出版中,敬請關注。
本書采用由淺入深的方式介紹 Flutter 技術原理,分為三篇,總計 15 章,各篇的主要內(nèi)容如下。
筆者在大學時讀過候捷(真名侯俊杰)寫的一些 C++ 相關書籍,在他的《深入淺出 MFC》一書中,有一句話我印象像非常深 “唯有深入,方能淺出”。我非常認同這句話,對于一門技術,只有了解的深入,才能用最淺顯、通俗的話語描述出。我在寫作本書時,深入淺出就是一個主要目標。所以,本書的目標不僅是想告訴讀者如何使用 Flutter,而且也非常關注各個知識點的底層實現(xiàn)以及設計思想。從本書章節(jié)劃分上來看,入門篇為“淺出”,進階篇則是“深入”。另外由于 PC 客戶端開發(fā)、移動開發(fā)、Web 開發(fā)這些經(jīng)驗我都有,而 Flutter 本質(zhì)上是一個 UI 系統(tǒng),而 UI 系統(tǒng)的設計和實現(xiàn)在”大前端“下有很多相通之處,所以在本書中的一些知識點我也會對比一些其他 UI 系統(tǒng)(主要是 Android 或Web)相應的實現(xiàn),便于有相關開發(fā)經(jīng)驗的讀者對比理解。
由于篇幅所限,本書中大多數(shù)示例代碼都只是部分核心代碼,讀者可以去這里 (opens new window)查看下載。
感謝一直以來支持 Flutter 中文網(wǎng)、Flutter 開源項目的人以及所有對本書提過 PR 的人,正是因為有你們,才有這本書。另外尤其感謝給本書打賞過的同學,你們的支持給了我很大的鼓勵。
最后,知識是應該付費的,創(chuàng)作不易,開源不等于免費,如果您是本書讀者并手頭寬裕,可以點擊下面打賞按鈕打賞;當然,如果您囊中羞澀,您也可以閱讀本書,但我對您有個小小的要求,希望您在閱讀的過程中能積極參與到本書的糾錯以及未完成內(nèi)容的創(chuàng)作上來,也算是有所付出。
近來在網(wǎng)上發(fā)現(xiàn)很多原封不動復制本書的鏡像網(wǎng)站和大量復制或引用了本書但未注明出處的博客、文章甚至書籍;對此,筆者在此聲明,本書著作權歸 wendux 所有,任何組織或個人在未經(jīng)授權的情況下復制、拷貝、抄襲本書用于商業(yè)目的,筆者保留追究其法律責任的權利。如果是非商業(yè)目的的轉(zhuǎn)載和引用,請注明出處并附上本書網(wǎng)址。另外如有出版機構(gòu)愿意為本書出版實體書或者想轉(zhuǎn)載本書內(nèi)容,亦或是想合作,請加微信 Demons-du.
由于 Flutter SDK 在不斷更新,本書中的部分內(nèi)容(如類的繼承關系、參數(shù)等)可能會和新版本的 Flutter 不一致,讀者以最新的 Flutter SDK 為準。另外,由于時間倉促,書中難免有錯誤之處,如果您發(fā)現(xiàn)本書中的錯誤,歡迎點擊右上角的”編輯按鈕“,提 PR。如果您想一起參與本書創(chuàng)作,可以參考《Flutter實戰(zhàn)》貢獻指南 (opens new window)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: