接下來是開發之旅的全新篇~過去的一週裡,主要全心投入在n8n的世界,從無到有,打造了一個強大、由AI驅動的自動化內容後端。我們的「引擎」已準備就緒,蓄勢待發。
今天將從後端的伺服器,走向前端的使用者介面~是時候親手為「日更靈感App」建立初始化Flutter專案,並規劃一個能支撐未來所有功能的穩固架構。
一、flutter create我們的專案
請確保已經根據Flutter官方文件安裝並設定好Flutter SDK,可以透過在終端機執行flutter doctor來確認環境是否準備就緒。
Step1. 開啟你的終端機 (Terminal),並cd到你希望存放專案的資料夾,執行創世指令:Bash!
Step2. flutter create 3xinspire
這個指令會自動產生一個名為3xinspire的資料夾,裡面包含了Flutter 專案所需的所有基本檔案和一個經典的計數器範例 App。
或者像我一樣,直接在VScode上安裝使用~可以用幾喜歡的 IDE(推薦VS Code或 Android Studio)打開這個專案,然後選擇一個模擬器或連接你的實體手機,執行它!當你看到那個熟悉的藍色介面和可以點擊的 + 按鈕時,恭喜你,你已經成功點燃了 App 的第一簇火花。
二、建築藍圖 —— 可擴展的資料夾結構
如果我們把所有的程式碼都丟在lib資料夾底下,專案很快就會變得像一團糾纏的毛線,難以維護。因此,在寫下第一行功能程式碼之前,我們先來當一次「架構師」,規劃好我們整個房子的格局。
採用一種靈感源自於乾淨架構 (Clean Architecture) 的分層結構,將專案的職責清晰地劃分開來。在 lib 資料夾底下,建立以下三個核心資料夾:
**lib/
├── data/ # 數據層:負責所有與數據相關的事務
├── presentation/ # 表現層:使用者看得到、摸得到的 UI 與狀態
└── core/ # 核心層:整個 App 共用的工具與核心功能
三、中樞神經 —— 選擇狀態管理方案:Riverpod
什麼是狀態 (State)?簡單來說,就是任何可能隨時間變化的數據,例如使用者收藏了哪些靈感、當前顯示的是第幾張卡片等等。而「狀態管理」就是我們用來控制這些數據變化的中樞神經系統。
Flutter 社群有許多優秀的狀態管理方案,如 BLoC、Provider、GetX 等。對於這個專案,我們將選擇 Riverpod。
編譯時安全 (Compile-safe):大部分錯誤在寫程式的時候就會被發現,而不是等到 App 執行時才崩潰。
不依賴 BuildContext:你可以在專案的任何地方(包括 data 層的 Repository)存取 Provider,這讓程式碼的組織更靈活、更解耦。
簡潔且強大 (Simple yet Powerful):它的語法非常直觀,容易上手,同時也提供了強大的功能來應對複雜的狀態場景,完美符合我們 MVP 的開發理念。
可測試性高 (Highly Testable):Riverpod 的設計讓依賴注入和單元測試變得非常簡單。
不再面對n8n的節點與連線,而是擁有了一個真實、可運行的Flutter App空殼。我們為它規劃了清晰、可擴展的建築藍圖,並選擇了Riverpod作為其中樞神經系統。
地基已經打好,鋼筋骨架也已就位。從明天開始,我們就要往這個骨架裡填充血肉了。第一步,就是讓我們的 App 學會如何與我們在前幾天建立的API對話,真正地將前後端連接起來~Day 7 見!
【哈囉你好:)感謝你的閱讀!其他我會常出沒的地方:Threads】