正如自我介紹,我是一位成日寫 iOS , Android APPS 嘅 膠登Engine仔,大學畢業後從事程式編寫,軟性工程與設計,在公在私也不斷參與編寫網頁和流動應用程式(Application Program for Mobile devices , such as smartphones and tablets,下稱Apps)。有見經濟日報與明報不斷報導出IT行業前景良好,寫Apps的月薪比其他相關行業高,但出現青黃不接現象,理應腳踏實地,踴躍加入。小弟轉工數次,多數編寫 Android Apps,最新的工作崗位更要求小弟三個月內極度學習 iOS Apps (用於 iPhone , iPad 上),最近已成功上手,更掌握開發和發佈精髓,加速工作流程。另外,君見數位同袍上前請教,或分享學習心得,因此提筆,訴說我學習寫Apps的心路歷程和開發細節。

首先,要深入了解 Classes,Objects 的模組開發和設計原理。以前寫程式,開發者要包含所有邏輯運作都寫進同一個檔案,修改和發佈所需極多時間,清除贅作或錯誤難過度高,時會創出更多錯誤。現今JAVA 和 Objective–C 貴為Android 和 iOS 的主要編寫程式,本質都是以物件為主要單位,編寫和設計走向模組,有利分工。現今 Developers 可以利用 Classes 去分割邏輯計算,Objects 去新增物件利用自己編寫的運算方法(Methods)。編寫人不再需要常常複製同一個運算方法到其他程式檔案。更重要的是,編寫人可以利用 extends , inherits 去重複使用設計模組和運算方法,什至可以訂立程式設計骨架。這除了可以省略設計時間和難度,更有助分工合作。不過,能否享受以上便利就有賴於編寫人能否充份掌握 Object–Oriented Programming 的設計精髓,而精髓就是運用 Classes 和 Objects的基本原理和利用技巧。這一定要透過不斷練習去實踐理念可以達成,只有苦心經營,沒有背誦能明的捷徑。

其次,細心準備「上架」的內容和規則。「上架」,禮稱發佈應用程式,就是把你設計的Apps 匯出成檔,放上 Market。Android 就上載至 Google Play,iOS 就上載至 App Store。「上架」,必先準備一張 Icon 圖片、數張主要操作畫面、描述、類別、程式更新 (What’s New)等,缺一不可。唯 Android 需要 Promotion Graphic (1024w X 500h)。 Icon、數張主要操作畫面、等圖片固然要高像素 , png format,充份顯示 Apps 特色。不過,如何脫穎而出,就必先參考同類 Apps 和熱賣 Apps 的宣傳方法。除了可以參考他們的描述方法外,更可以學習管理社交媒體的專頁,成為跟用家互動的平台。由 Puzzle and Dragon、到膠登Apps的HKGalden、都有設起Facebook 專頁定時update Apps 更新資料和其他使用注意,好讓用家或有興趣人士可以定時了解Apps 特性和常用問題。至於上架的時間就取決於查核者的取態。上載一個 Android Apps 只需數個小時,靠上載系統查核有沒有惡意程式而已。上載一個 iOS Apps ,可能需要數天至兩個星期。Apple 的 Developer Centre 會派專人查核,檢查 Apps 是否符合規格和遵守 Apple 規則。如你的Apps 涉及相關硬件,需要 Wi-Fi或Bluetooth 溝通,更需要拍攝一個影片去示範Apps使用和電子儀器所帶來的反應,如著燈。iOS Apps查核者可能會借 E-mail 通知你呈上硬件,所需費時。所以,編寫人要呈上常心傑作時,需要考慮預期審核至上架的時間和所需內容。如時間緊湊,先呈上一個簡單版本吧。

還有,不要害怕連綿不斷的「砍掉重練」和「介面測試」。寫Apps 固然不易,要應付用家不斷改變的需求,更難。要符合不同型號的 Apps ,難上加難。因為smartphone 興起,Samsung、LG 帶起機海攻勢,向 Apple 反攻,使不同螢幕尺寸的智能電話或平版電腦推出市面。2014 的iOS Release 發佈會明言推出 4.7 吋的iPhone 6, 5.5吋iPhone 6+,iPad Mini , iPad Air 大肆反擊,忘記 Steve Jobs 以人為本,解決問題,營造態度的理念。所以,介面設計上,編寫人需要設計不同像素和比例的圖片,提取電腦、或電話的硬體數據計算合乎比例的頁面設計和介面鋪排。為求應付以上不斷改變的螢幕尺寸,基本的修圖技巧和改圖工具要缺一不可。最起碼,你要先掌握好 Paint.NET 、Pixelmator、Photoshop 等改圖軟件的使用原理和概念。因為,透過不斷學習以上改圖工具,你可掌握如何調較不同尺寸,匯出不同圖片、為圖片去底、什至合併不同層面(Layers)去做出新圖,匯出新介面。「介面測試」除了完善介面設計,更容許不同用家嘗試不同形式去輸入,試出異常狀況。編寫人就可以定下規則,以程式邏輯和用家需求的前提下規範用家輸入特定模式的英數符號和輸入次序。至於應付用家不斷改變的需求,就是要求編寫人不斷得取用家意見,完善功能,什至由頭改變設計都在可能之列。在最新科技不斷推出的前提下,利用Apps 控制儀器已是一種不可抗拒的風潮。一有新 Idea 就會引致一連串的 Apps 應運而出。所以,如想在Apps界突圍而出,必需不斷度橋、設計、試驗、下問、檢討,缺一不可。

以上就是做了數年Developer,參與寫Apps 時的點滴。希望有心學習編寫Apps ,什至借 Apps 創業的朋友可以參考以上意見。下文會集中討論 User Experience 。