天天看點

Flutter之踩坑的日子(1)

這些天走馬觀花閱讀了很多flutter的入門與實戰書籍,說起來還是有點小失望的。現在程式設計類的書籍,其流程幾乎千篇一律,都是從搭建運作環境開始,接着是相關語言的基礎,基本元件的使用這些内容,最後用綜合案例來做總結。

對于“做出一點東西”來說,這些介紹足夠了。

但是對于“做出一個實用的項目”來說,這些介紹尚嫌不足。

我希望自己在做相關開發的時候,能夠高屋建瓴,搭建起一個并非僅僅适用于一個項目的骨架,并且将這個骨架運用起來。

從這個角度來說,常見的入門與實戰書籍,起到的作用實際上是工具參考書。

那麼,就以一個足夠實用的項目,和這個骨架,來作為這篇文章的内容吧。

首先這篇文章裡不打算介紹安裝運作環境之類的事情。想要進行flutter的開發,能夠自己找到足夠的資料,搭建一個合适的運作環境是起碼的素質。

然後這篇文章也不打算按照元件a、元件b、元件c...這樣的模式來介紹各種元件的使用方法。我這次預備介紹一個完整項目從靈感到立項,從草圖到設計,從編碼到測試,從調試到調整的全部過程。

這個項目的靈感是來自印象筆記。最近我需要一個多平台的筆記軟體,來記錄和攜帶一些靈感、随筆和簡單的記事。

但是試用了很多筆記軟體,并不完全地符合我的需求。

我的感覺裡,筆記這種玩意,應該是一個本子,拿起來就寫,不用了就放下。然而現在的筆記軟體動辄登入、會員、廣告...

我另外有一個需求,就是将我自己的筆記釋出給别人看。現在有些筆記軟體支援了群組之類的功能,但是相對來說,就比較私密,隻有對應的好友分組,對應的成員,才可以看到釋出的筆記。

以上種種,是以自己做一個吧。

當然了,我開始的計劃裡,是準備在flutter的支援下做一個項目骨架的。但是在那之前,我必須對flutter有足夠的了解。是以接下來,還是從flutter提供的基礎項目模闆開始。

這個項目的起始點,是main.dart ,等同于c語言中的主函數。對于具備其他語言程式設計基礎的人員來說,文法這種東西,隻需要一本手冊,就可以在使用過程中慢慢熟悉起來。

首先,這個main.dart運作起來之後,我們會得到一個界面。在桌面開發裡,我們稱這個界面為主視窗,而在智能手機開發時,我們通常稱這個界面為首頁面。

在進行flutter開發時,我們需要記住這樣一件事情:

所有的東西,都是元件。

widget

這句話先記住,但是不用想太多。程式設計這種事需要熟悉,需要日積月累。接下來我們需要了解的,是flutter開發的步驟。

對于一個頁面來說,flutter開發至少包括下列内容:

1 搞清楚自己需要做一個什麼樣的頁面。

2 将頁面劃分為不同的元件。

3 在合适的布局裡安排這些元件。

4 考慮頁面的響應,與背景的處理。

5 适當的美化。

對于一個項目來說,flutter開發至少包括下列内容:

1 項目的主要功能是什麼?确認項目的所有功能。

2 項目的使用者是哪些人?确認可能用到項目的所有角色。

3 項目具備多少個頁面?為每項功能設計相關頁面。

4 項目功能是否都可以實作?考慮功能的背景實作。

5 實作功能要求的所有頁面。

6 将頁面與背景聯系起來。

7 進行測試、釋出、和後續的宣傳。

首先我使用草圖設計出整個筆記軟體的界面,進而初步确定項目所有的頁面。

一共22個主要頁面。

首先是所有軟體預設都具備的歡迎界面。

顯示軟體資訊,等待幾秒,或者使用者單擊界面後,進入後續。

從功能上來說,歡迎頁面用來展示界面資訊以及必要的公告、提示。

Flutter之踩坑的日子(1)

這個頁面如何實作,用到哪些元件,在flutter裡如何執行?這些事情,我們留在下一篇文章介紹。