錯誤一:寫規格書而不是寫一句話
曾經被爛軟體傷過的人,往往一打開建構工具就打一整段話。評分系統、單位偏好、離線模式、配色方案,全都在第一次回應出來前就一股腦兒交代清楚。感覺很負責任,實際上並不是。建構工具讀取你的一句話,推斷出你大概想要什麼,大約十五秒後就帶著一份計畫回來——「一份給攀岩者用的訓練紀錄」會變成一個訓練紀錄檢視、一個等級追蹤畫面、一個儀表板,並預設採用 V-scale 抱石與 YDS 路線等級,因為大多數攀岩者實際上就是用這套系統。它會在計畫裡明白告訴你它選了什麼,所以如果你是例外,一句話就能修正。事先寫一整段並不能省下這個步驟。你還是會拿到一份計畫,還是得讀它,而你剛剛花了三分鐘打出的限制條件,其實計畫本來就會依照真正重要的順序主動呈現給你。
這份計畫不是一張要你填空的表單。它是文字敘述,你也用文字敘述來回應。「其實幫我改成 Font 等級,我人在歐洲」就是一個完整的修改指示。「加一個夥伴/確保紀錄欄位,我常跟不同的人一起爬」也是。每次修改都會重新產生計畫,而不是重新開始建構——你是在真正耗費資源的階段開始前就先調整方向,而不是事後重來。核准這份計畫,是你唯一必須做的最後一個決定。之後的一切都是生成與驗證。
錯誤二:盯著動態消息,好像它是卡住的終端機
建構是在伺服器端執行的,而這裡的「災難現場」幾乎都是假警報:有人盯著安靜的動態消息看了兩分鐘,就以為它卡住了。其實沒有——它正處於一個不會每秒都產生可見輸出的階段,而動態消息會標示你目前所在的階段,正是為了避免這種誤會。你完全可以直接關掉分頁。這個執行過程並不活在你的瀏覽器裡。
你實際該期待的時間,會因建構的性質而有很大差異。這個攀岩紀錄——幾個頁面、一個本地資料模型、不呼叫任何外部 API——不到三分鐘就完成了,這對於「記錄這個、畫這個圖表、給我一份清單」這類基本需求來說是很典型的速度。一旦建構需要真正的後端、驗證機制、有關聯性的資料庫、背景工作,你就要準備花上八到十二分鐘,因為這時需要產生並遷移資料結構(schema),而且驗證流程還會針對伺服器端程式碼再跑一次,而不只是標記語言。遊戲則更慢,因為需要產生素材:圖像精靈、音效提示,有時如果第一次成果在預定顯示尺寸下看起來不對,還需要再做一次視覺調整。而原生封裝——真正可安裝的 APK,而不是包在殼裡的網頁檢視器——則會交給真正的工具鏈處理。Gradle、簽署,全都包含在內。光是這個步驟就可能在其他所有工作之外再增加五到十分鐘,而這正是動態消息安靜下來、代表工具鏈正在做工具鏈該做的事,而非出了什麼問題的那個階段。
這套模式的誠實代價是,你會失去那種即時、逐字元看著程式碼寫進編輯器的回饋感。取而代之的是一套系統:即使你的筆電進入睡眠、Wi-Fi 斷線,它依然能持續運作,你可以用手機查看進度,不論你是否盯著它看,它都會繼續執行。對於一個九十秒完成的建構來說,這種取捨幾乎感覺不到。但對於那個十二分鐘的後端建構來說,這就是「守著終端機」和「去喝杯咖啡」之間的差別。
錯誤三:把「已生成」誤認為「已完成」
這是代價最高的一個。一個很快完成、卻沒經過檢查的建構,並不是完成的產品,而是一份剛好能執行的草稿——而這兩者之間的落差,正是許多「快速建站工具」惡名昭彰的原因,它們交出的表單沒有做資料清理,按鈕也無法用鍵盤操作。在這個平台把任何東西標記為「完成」之前,會有各自獨立的驗證代理(agent)進行審查:程式碼、安全性、連結、SEO、無障礙性,以及是否符合你核准的計畫。這是真正獨立的一道審查,而不是同一個代理重讀自己的輸出並點頭認可。
安全性檢查會找出那些看似平凡、卻真的會在正式環境中咬人的問題:提交到前端程式碼裡的 API 金鑰、接受輸入卻沒有做清理的表單、信任客戶端提供的使用者 ID 而不是從連線階段(session)推導的端點。無障礙性檢查不是那種可以用一行註解就消音的檢查工具——它會檢查真實的對比度,以及互動元素能否用鍵盤操作。
最容易被低估的是「符合度」檢查。一次生成流程很容易在不知不覺間漏掉你要求的東西——比如你在修改計畫時加入的那個夥伴/確保紀錄欄位——在建構進行到第三個檔案時就被悄悄降低優先度而略過,沒有任何人真正決定要拿掉它。符合度檢查會重新對照你核准的計畫與實際輸出,找出這類落差。一旦發現問題,修正會自動套用並重新檢查;你得到的不是一份待辦清單,而是一個你根本看不到的修正,或者根本沒有任何問題。每個驗證代理具體檢查什麼、以及連續失敗兩次會發生什麼事,詳見建構如何自我驗證。這一節值得記住的一點是:「完成」代表通過驗證,而不是已生成。把這兩者混為一談,你遲早會不小心上線曝露的金鑰或無法操作的按鈕。
避開這三個錯誤之後,你會得到什麼
- 一個真正可用的產品,呈現在真實的預覽環境中,可以直接點擊操作——是一個接上了你資料的實際運作實例,而不是一張「完成後大概會長這樣」的截圖。
- 附加在上面的一條對話串,你只要說「把標題改深一點,再加一個統計頁面」,就會在版本一旁邊產生版本二。舊版本不會消失,它會留在那裡作為備援,而新版本則接手實際預覽畫面。
- 真正有用的按鈕:直接上線發布、下載程式碼、建置原生安裝檔、上架到商店。而不是包裝成按鈕樣式的升級促銷彈窗。
那個「下載程式碼」的按鈕值得多看一眼,因為它正是區分「你會信任它做真正重要的事」與「只用來做拋棄式原型」這兩種工具的關鍵。如果程式碼真的完全屬於你,結構清晰可讀,除了你真正要求的以外沒有任何奇怪的綁定,那麼平台就必須靠持續提供價值來贏得你下一次使用,而不是仗著你已經被困在裡面而安於現狀。



