Uxlicious logo

寫App教學:iOS/Android手機應用程式開發流程3分鐘看懂

發布時間:2022年11月13日・閱讀時間:3分鐘

How to start mobile app development?

隨著手機日漸普及和流行,用戶對於App設計要求越來越高,越來越多的商戶希望通過手機App銷售渠道吸引客戶,提升用戶黏性,增加銷售量。COVID-19疫情加速了電子化的進程,傳統實體店都開始推出電子點餐、網上提前預訂、電子會員卡等一系列的線上化服務。

想搵人幫你公司寫App?很多經營者對於手機App的開發過程和技術並不了解,在選擇外判服務商或與工程師溝通時,往往不知從何入手。

在這篇寫App教學中,UXlicious總結關於手機App設計開發的流程、模式和技術。不論你希望整App賺錢,更好的與妳的團隊或外包商合作,為尋找一家好的App開發公司做準備,還是只是對App開發有興趣而想多了解App製作及開發知識,您都可以從這篇文章中找到實用資訊。

寫App及上線流程

一個手機App從開發立項到上線運營可以分為三個主要階段:

iOS/Android App設計及開發階段

一個App的設計開發一般會經過5個階段:

  • 了解項目需求:手機App開發公司會先了解客戶的需求,研究項目可行性及評估工作量,並就App開發項目提出大概解決方及初步報價。
  • 確定項目方案:經過詳細討論後,App開發公司會制定相關手機應用程式開發計劃及詳細報價,並確定開發中需要的第三方接口(支付網關,雲存儲,視頻科技等)。
  • App界面設計:設計師繪製UI界面圖,考量符合用戶體驗(UX)的介面方法,依照前述所評估的規劃擇定介面示意圖與風格。通常對於B2C的產品,我們會進行一系列的用戶體驗研究以確定客群的需求和痛點。
  • App系統開發:工程師開始進行App開發,App以敏捷開發的方式繼續,直至最後一部份完成。工程師會進行功能測試、非功能測試、安全測試、兼容性測試、穩定性測試、用戶體驗測試等,並定時向客護回報執行狀況。
  • 客護驗收測試:用戶驗收測試(UAT)供客護測試各種功能並提出意見,也是給予開發者修改錯誤的時間。設計師和工程師會對客護提出的意見作出評估,看其是否屬於項目範圍之內,如屬於項目範圍則會進行修正。 

手機App上架應用商店(Apple App Store / Google Play )

整個App開發完成,就會上架到Apple App Store和/或Google Play應用商店。在上架前,需要註冊開發者帳號。以申請「企業版」iOS開發者帳號為例,流程分為五步驟:

 

  • 第一步:申請Apple ID
  • 第二步:於Apple手機開啟雙重認證
  • 第三步:申請鄧白氏認證 (DUNS)
  • 第四步:申請成為開發者帳號 (Developer Account)
  • 第五步:付款完成申請

 

在申請Apple ID時需要填寫個人信息,電話號碼和創建Apple ID, 建議填寫公司負責人或秘書、經理等穩定的授權管理人資料並使用公司會持續使用的電子信箱和電話,以方便整個雙重認證和申請過程。

之後便可以上傳App,工程師需要在開發者後台生成並安裝.cer(憑證檔)、App ID、Provisioning Profile,之後便可登入 App Store Connect (iOS)點選我的App,選擇新增App。我們需要填寫App的名稱、主要語言、類別、定價、描述、關鍵、支援URL,並提供各個裝置的 App 螢幕快照。

最後,我們需要透過Xcode打包App並上傳,上傳後再登入iTune Connect就可以看到剛剛上傳的新版本, 點選右上角的「提交以供審查」, 選擇「出口合規資訊」、「內容版權」、「廣告識別碼」等相關選項後,點選「提交」。

之後便是等待審查结果的過程,平均而言,Apple App Store 50%的App会在24小時內完成審核,超過90%的App會在48小時內完成審核。如果長時間(超過7天)仍處於“審核中”(In Review)狀態,建議撤回重新提審以免耽誤時間。

Google Play上架的流程與AppLE類似,開發者需要Google Play註冊開發者帳號並填寫主要產品詳情和上傳App截圖。Android系統同樣要求所有应用必须先使用证书进行数字签名,然后才能进行安装。有關詳情,請參考 Android 開發者網站。創建第一個版本時,您可以配置Play應用簽名,確定您的應用是 Google 生成的應用簽名密鑰還是您選擇的應用簽名密鑰。

在Google Play發布的時候,你可以選擇「內部測試渠道」(發布給最多100名內部測試人員以便排查問題的團隊收集反饋)。「封閉式渠道」(在小規模的用戶群體內進行測試,或者您明確知道想要面向哪些用戶測試您的應用,可使用通過個人電子郵件或在 Google 網上論壇邀請人員進行封閉式測試)和「開放式測試」(任何用戶只需點擊一下鏈接即可加入,這意味著您可以擴大覆蓋的用戶數量。您也可以選擇加入測試的用戶人數上限)。自己測試沒有多少問題後,直接進入正式環境,當然也可以從內部測試到逐步開放層層行為。

Google Play正式版審核一般需要三個工作日左右。

Mobile App Design and Development Process

App移交以及後續維護

對於外包工程,在完成項目的開發之後,根據客戶的要求,開發公司會進行後續交接。

移交項目:在驗收後開發團隊會移交相關文檔,代碼以及帳號密碼。接下來,客戶的團隊需要完成App以及相關後台的日常維護,包括代碼和API接口文件的更新,安全軟件的升級軟件故障的維以及後續的功能開發。在保養期內,外包公司通常可免費提供維護服務。

維護服務:很多外包公司都會提供相應的維護服務,由他們的工程師進行軟件的相關升級和兼容性測試,並配合客戶下一步的開發需求。對於沒有內部工程師的公司來講,選擇由開發公司進行維修工作可以保證App的流暢使用和進一步的性能優化。

點整手機App?了解3大開發方式

目前市場上常見的開發方式有三種,價格從價格低到高排序:

無法客製化的White-label貼牌解決方案

有的開發公司擁有自己的解決方案,用戶可以使用自己的LOGO和商品圖片以及描述,除此之外,App的現有功能和後續開發由開發公司抉定,用戶對產品的訂製需求不會得到滿足。

  • 優點:價格極度便宜,甚至可以月租或試用,上線快;
  • 缺點:訂製開發能力弱、會員資料被平臺壟斷無法帶走、業績成長後需再另尋其他廠商,等於花費兩次的App開發成本;

外包工作室或自由職業者

市場上有許多可以雇用自由職業者和外包公司的平臺,香港比較有名的有FreelancerUpworkHellotoby 等三個平臺。

  • 優點:價格稍微便宜且可以客製化製作;
  • 缺點:開發項目易發生延遲或無法完成,因為平臺並不對自由職業者的工作負責,會發生求償無門最後App不能順利上線的情況;

專職設計開發公司

這類型的廠商專門為客戶客製化開發,報價上較為昂貴,一切都是依照客護需求報價,且對於客護需求可調整的彈性很大,對於後續的維護也較有保障。尤其是公司設計師和工程師齊全,既能做到UI設計美感又能保證開發質量。

  • 優點:客製化開發,依需求報價,後續維護也有保障;
  • 缺點:價格稍貴、UI介面設計能力須視各公司設計能力而定;

App開發技術

手機App的開發技術大致分為三種:

原生應用程式 (Native App) 開發

指的是作業系統廠商本身提供 SDK 或建議的開發方式。以下開發方式屬於這一類:

  • 用 Xcode & Objective-C / Swift 開發,直接上架到App Store 或 Mac App Store 上的 iOS App 。用 Android Studio & Java / Kotlin 或 Eclipse 開發,上架到 Google Play 的 Android App (也可不上架,直接執行 apk 檔安裝) 。
  • 用 Visual Studio & C / C++ / C# / VB.NET / HTML5 + Java Script 開發,上架到 Windows Mobile Store 或 Windows Store 的 Windows Store App 。

原生App具有執行速度快,效能佳的優點。並且原生 App對硬體裝置的支援度較好,可以應用幾乎所有硬體上的功能。例如:相機功能、 GPS 地理定位、測速計、磁力計、陀螺儀等。

可以在官方線上商店上架,設定下載者是否要付錢,用以賺取費用。使用已安裝的 App 時,也不需要開瀏覽器及輸入網址。原生App適合需要極快速反應和安全性要求高的程式、複雜的動畫、遊戲等類型。

網頁應用程式 (Web App) 開發

即網頁應用程式 (Web Application) 的簡稱:

  • 前端網頁通常使用 HTML / XHTML / HTML5 + CSS + Javascript等網頁標準技術製作;
  • 後端使用 PHP、ASP.NET、JSP 、Ruby on Rails、Node JS等程式語言開發,並連結資料庫或其它資料來源;
  • 透過瀏覽器輸入網址後執行;

通常在不同的裝置上, Web App 只需要用相同的前端網頁技術來開發即可,不需要使用不同程式語言來開發。 Web App只要使用裝置的瀏覽器輸入網址即可執行測試。程式修改後,可以快速的進行測試。有任何功能更新,只需要在後端網站主機修改即可,使用者不需要重新下載安裝或升級。不需要支付官方開發者年費,也不需要至官方應用程式商店上架、審核或讓官方抽成。

不過,Web App 執行速度沒有原生應用程式來的快,對硬體裝置的支援度不好,許多硬體上的功能可能無法使用。另外,Web App依賴瀏覽器執行,而瀏覽器的種類繁多,對網頁技術的支援性也有些不同,雖然大都能夠執行,但軟件畫面較不同易達到一致,且部份功能需要針對不同瀏覽器做不同的處理。還有,在網路斷線的狀態下, Web App將完全無法繼續操作,除非在開發時一併開發離線支援功能。

混合式應用程式 (Hybrid App) 開發

混合式應用程式 (Hybrid App) 開發指的是以一般以 Web App 方式開發用戶端程式,但最後包裝為像原生App一樣上架至應用程式商店的作法。以下是一般混合式App的開發及執行模式:

  • 前端使用 HTML / XHTML / HTML5 + CSS + Java Script 等網頁標準技術製作。
  • 透過 PhoneGap 等框架工具跟行動裝置硬體設備互動,或加上部份原生程式,並包裝成原生 App 的外殼。
  • 上架至應用程式商店供用戶下載執行。

就像 Web App那樣,前端操作介面可使用統一的網頁技術來做 (推薦用 HTML5 實作) ,可以跨較多裝置平台,不必為不同裝置維護多種程式語言版本。有些框架工具,可讓混合式App也能像原生App般,控制硬體裝置(相機功能、 GPS 地理定位、測速計、磁力計等)。可以在官方線上 App 商店上架,設定下載 App 的人是否要付錢,用以賺取費用。使用已安裝的 App 時,不需要開瀏覽器及輸入網址。

混合式App開發方式,在不同裝置仍可能需要透過不同開發工具,分開編譯 (Compile) 包裝之後,才能進行功能測試。其對硬體裝置的支援度仍比不上原生App 。App 程式若有更新,就需要重新上架、審核,而使用者也必須更新或重新下載,才能使用新的功能。較需複雜運算的功能或遊戲,用混合式 App 開發方式,效能可能還是比不上原生App。

後記:如何用最簡單方法整App?

App的設計和開發設計很多的選擇,如果選擇不當,就可能導致最終產品運行速度緩慢,安全性不夠而被應用商店下架,或因為用戶體驗不好而被用戶棄置不用等問題,這些對於很多完全沒有自己的開發和設計團隊的個人和公司來講,都是一個挑戰。

UXlicious可提供您最專業完整的寫App開發服務,不論是針對單一行銷企劃的遊戲、抽獎、會員登記優惠,還是具多功能的商務應用程式,以至App上架後的推廣及 SEO 工作,都能依據您的需求量身訂做。團隊更同時具備 iOS 、Android、UI等設計工程師,一次包辦所需功能技術,協助您開發符合使用者習慣的應用程式,展現您獨具特色的品牌形象。

關於手機App開發的幾個重點

App設計及開發主要分為哪些階段?

  1. 了解客戶的需求,研究項目可行性並就App開發項目提出大概的解決方及初步報價;
  2. 制定相關手機應用程式開發計劃及詳細報價,並確定開發中需要的第三方接口;
  3. 繪製UI界面圖,考量符合用戶體驗(UX)的介面方法,依照前述所評估的規劃擇定介面示意圖與風格。通常對於B2C的產品,我們會進行一系列的用戶體驗研究以確定客群的需求和痛點。
  4. App系統開發:工程師開始進行App開發,App以敏捷開發的方式繼續,直至最後一部份完成。工程師會進行功能測試、非功能測試、安全測試、兼容性測試、穩定性測試、用戶體驗測試等,並定時向客護回報執行狀況。
  5. 客護驗收測試:用戶驗收測試(UAT)供客護測試各種功能並提出意見,也是給予開發者修改錯誤的時間。設計師和工程師會對客護提出的意見作出評估,看其是否屬於項目範圍之內,如屬於項目範圍則會進行修正。

App的運營維護通常包含哪些事項?

為了確保手機App和後台系統的正常運行,保證系統安全以及良好順暢的用戶體驗,工程師需要定期進行

  • 代碼升級和測試
  • 第三方API接口維護
  • 系統維護和升級
  • 兼容性測試
  • 根據項目下一步迭代進行開發

如果您的公司沒有運維人員,那麼可以選擇一家科技公司來幫助完成相關工作。

手機App開發的形式有哪三種?

App的開發技術大致分為三種:

  1. 原生應用程式 (Native App) 開發指的是作業系統廠商本身提供 SDK 或建議的開發方式

  2. 網頁應用程式 (Web App) 開發前端網頁使用 HTML 等網頁標準技術製作, 後端使用 PHP、ASP.NET、JSP 、Ruby on Rails、Node JS等程式語言開發並連結資料庫或其它資料來源;

  3. 混合式應用程式 (Hybrid App) 開發以一般以 Web App 方式開發用戶端程式,但最後包裝為像原生App一樣上架至應用程式商店;

和UXlicious聯繫

UXlicious可提供您最專業完整的App設計開發服務,依據您的需求量身訂做符合使用者習慣的應用程式,展現您獨具特色的品牌形象。

Get in touch