建置行動裝置的軟體
行動應用程式開發的定義可以很廣泛 (包括建置和發行行動應用程式涉及的所有流程),也可以很具體 (即應用程式的編碼和部署)。本文將涵蓋這兩種行動應用程式開發定義,並特別著重於定義行動應用程式開發,提供作出決策或負責軟體本身建立方式的人員使用。
若要定義行動應用程式開發,我們應該先定義行動裝置,這在本文中指的是智慧型手機、平板電腦、膝上型電腦、智慧型手錶、電子閱讀機和手持遊戲主機等可攜式電子裝置。就應用程式而言,我們指的不只是這些裝置原生的軟體,也包括這類裝置支援的一般作業系統、平台和語言。正如您將學到的知識,開發行動應用程式和做出許多決策有許多不同的方法。
行動應用程式開發程序
建置和發行行動應用程式的流程通常會在一系列步驟或階段中了解。這些行動應用程式開發流程的階段涉及組織內各種不同的人員與領域 (包括業務、行銷、設計和工程)。行動應用程式開發程序的階段為:
- 策略
- 規劃
- 設計
- 開發
- 測試
- 發行
製作行動應用程式需要多久時間?
組織在開發行動應用程式時,需要花費三到九個月 (視需求而定,可能會更久)。應用程式的範圍和功能都會影響行動應用程式開發程序的時間表。
策略
行動應用程式開發程序的開端,首先是要了解為什麼行動應用程式是解決問題或創造商機的好方法,接著是決定建置的內容和方法。在策略階段中,組織會建立應用程式的成功目標和衡量方式、分析市場和競爭狀況、研究客戶需求,以及決定應用程式將服務的使用者和使用案例。在策略階段中,組織可能也會開始探索哪些行動應用程式開發平台最適合他們的目標和需求。在這個階段中,組織也會開始考慮有關應用程式發行相關的行銷策略。
規劃
在規劃階段,組織需要針對行動應用程式開發流程的四個關鍵細節取得一致的意見:團隊、工具、技術和時間表。這時,組織會決定要建置的行動應用程式類型、建置應用程式的人員,以及要使用的平台。在此階段中,組織會安排產品藍圖 (決定功能的建置順序和時間)、設定里程碑,並設計可符合預定發行日期的專案計劃。組織必須了解可用的資源和專業知識,以及如何實作為建置程序選擇的技術,以便決定發行日期並準時發行。
設計
行動應用程式的外觀、特色及功能會在設計階段開始成形。在這個行動應用程式開發程序階段中,團隊會繪製使用者體驗圖表,並以各種精確度建立使用者介面和應用程式狀態。他們可能會從低精確度的原型開始設計,藉此在早期階段提供概念證明或收集客戶意見。開發人員和工程師可以在此階段協助建立原型或針對 UX 和 UI 決策尋求諮詢,讓團隊了解組織選用平台的要求和技術規格。如此一來,組織在提供完整精確度畫面時,已設計出可真正建置的應用程式。
開發
在此內容中,文字開發有時是指涉及建立和發行行動應用程式的完整軟體開發生命週期。不過,開發更常指的是行動應用程式開發的軟體開發階段。我們將在本文稍後更完整地定義此階段。目前,最符合這個階段的說法是團隊建立技術架構和技術堆疊 (包括前端、後端和 API)、設定開發里程碑、決定應用程式的開發週期,以及編寫應用程式程式碼。
測試
測試是行動應用程式開發程序的重要階段。若缺少測試階段,組織就無法確保應用程式的安全性、是否能以使用者需求和預期的方式運作,以及是否能在部署位置順利運作。團隊會在此階段提供品質保證,建立測試案例來評估在預期執行該應用程式的所有裝置上,該應用程式的可用性、效能、穩定性和安全性。組織通常會針對應用程式進行壓力測試,確保應用程式的架構可以調整以應付突發性的重度需求。
發行
發行是行動應用程式開發程序的最後階段。在部署應用程式後,組織會為使用應用程式的客戶提供支援,並持續監控和維護,確保應用程式可供使用且能如常運作。鼓勵採用應用程式的行銷活動和動作通常會與這個階段同時進行。如果組織決定對應用程式進行加強或修改,且超出其開發生命週期能夠處理的變更範圍,則他們可能會決定重新展開行動應用程式開發流程。
行動應用程式開發程序的軟體開發
開發階段的第一個工作,是建立行動應用程式的技術架構。技術架構是管理行動應用程式開發的規則和模式,經常會與技術堆疊 (包括前端、後端和 API) 搞混。
技術架構
技術架構的設想通常有三層:
展示層
這是客戶看到並與之互動的應用程式層。展示層包含使用者介面,以及構成使用者體驗的所有應用程式元素。
商務層
掌管工作流程、資料交換和作業的邏輯位於商務層。行動應用程式的核心層面 (例如安全性、快取、記錄和例外狀況處理) 都會在此層進行處理。
資料層
資料層會滿足應用程式本身的需求,提供資料公用程式、資料存取元件,以及協助程式或服務代理程式。這也是驗證及維護資料並支援資料交易的層級。
技術堆疊
同樣地,技術堆疊也包含如先前所述的三個部分。然而,這些部分代表用於建置和支援應用程式的實際選擇,而非其建立指南。
前端
與展示層密切相關,用來編寫行動應用程式前端程式碼的工具和語言主要取決於要部署應用程式的裝置。前端有許多選項可供使用,而且大部分行動裝置都有原生的特定語言。
後端
後端是應用程式的一部分,包含位於伺服器的資料庫和其他類似物件,並支援行動應用程式的功能運作。在選擇行動裝置後端技術時,團隊較不會依賴裝置,而且通常可以找到預先建置的後端解決方案。
API
應用程式透過 API 在後端和前端之間溝通,這也讓應用程式能夠與其他應用程式和服務整合並互動。
然而,在團隊選擇他們的技術堆疊,甚至是在建立自己的技術架構之前,首先需要決定要建置的行動應用程式類型。
行動應用程式類型
針對行動裝置開發應用程式時,組織有幾個不同類型的行動裝置應用程式可供選擇。在這種情況下,行動應用程式類型不是指應用程式允許使用者執行的操作,而是指應用程式的建置方式。
原生應用程式
特定裝置或平台 (例如 Android 或 iOS) 的特定應用程式稱為原生應用程式。這類應用程式可以直接在裝置的作業系統上執行、使用平台提供的語言和架構,並透過作業系統專屬的商店或市集部署。原生應用程式通常在其執行裝置上擁有所有功能與硬體的完整存取權。
跨平台聊天
團隊可以在應用程式中使用自己選擇的語言和架構編寫程式碼,然後針對應用程式要執行的每個作業系統,使用 Xamarin 等平台來編譯程式碼。這些被稱為跨平台應用程式的應用程式允許團隊在多種不同裝置上運行,並重複使用大部分的程式碼 (儘管橋接程式碼需要的工作比只開發一個平台還要來得多)。
漸進式 Web 應用程式
與 Web 應用程式一樣,漸進式 Web 應用程式能在行動瀏覽器中執行,且通常是使用 JavaScript、CSS 和 HTML5 建立。Web 應用程式之所以進步,是因為它們能夠使用進階瀏覽器功能提供推播通知、更優良的觸控手勢和硬體互動方式。沒有 SDK 可協助建置漸進式 Web 應用程式,但是無須透過市集就可以部署它們。
混合式應用程式
混合式應用程式是原生應用程式和漸進式 Web 應用程式的組合,本質上是執行 Web 應用程式的原生編碼容器。這種組合可以讓應用程式存取更多裝置的功能和硬體,並在更多類型的裝置上運行,同時保持單一程式碼基底。儘管具有所有優勢,混合式應用程式通常無法達到其他類型的行動應用程式所達到的效能。
要建置哪種行動應用程式類型
組織選擇建立的行動應用程式類型,對於團隊可使用的工具、平台、架構、語言,以及應用程式的發佈、需要維護的程式碼基底數目、應用程式要在哪些裝置上執行,甚至是應用程式的功能,都具有重大的影響。
當您決定要建置哪種類型的行動應用程式時,考慮使用者類型以及使用者對應用程式的需求,對您的決定會有所幫助。例如,如果使用者主要使用一種裝置類型或作業系統,則可能最適合建置原生應用程式。不依賴硬體感應器或 GPS 的應用程式可能非常適合漸進式 Web 應用程式或混合式應用程式,但如果使用者的連線能力不佳,則可能不太適合。如果使用者是您的企業或組織成員,則可以考慮使用其他行動策略。當然,這一切都取決於您在組織內或透過合作夥伴擁有的專業知識。
此圖表概述不同類型行動應用程式之間的更多差異和相似之處,可協助您考慮應該開發的應用程式類型。
比較行動應用程式類型
原生應用程式 | 跨平台聊天 | 漸進式 Web 應用程式 | 混合式應用程式 | |
---|---|---|---|---|
程式碼基底數目 | 每個平台一個 | 一個,但已針對每個平台進行編譯 | 總計一個 | 一個用於應用程式,另一個用於容器 |
語言和架構 | 僅原生 | 團隊的選擇 | 僅限 Web | Web 和原生 |
SDK 和 API 的存取權 | 是 | 是 | 否 | 有限制 |
效能 | 最高 | 高 | 最低 | 低 |
裝置硬體的存取權 | 完整 | 最多 | 非常少 | 部分 |
使用者輸入的回應性 | 良好 | 良好 | 最差 | 不佳 |
互動性 | 高 | 高 | 最低 | 低 |
裝置資源使用 | 高 | 高 | 低 | 中 |
連線能力要求 | 否 | 否 | 是 | 是 |
建立及維護的成本 | 最高 | 高 | 最低 | 較低 |
應用程式儲存位置 | 裝置 | 裝置 | 伺服器 | 裝置與伺服器 |
部署途徑 | 市集 | 市集 | 瀏覽器 | 市集 |
外部核准要求 | 是 | 是 | 否 | 是 |
行動應用程式開發平台和軟體
一旦決定要建置的行動應用程式類型 (或者您可能正在考慮要建置哪種類型),您將需要評估行動應用程式開發平台。您將使用這些應用程式開發平台來開發、建置、測試、偵錯和管理,在某些情況下甚至要在整個生命週期中部署行動應用程式。大部分應用程式開發軟體包含用於建立介面的前端工具、處理資料的後端工具、API 工具、測試工具,以及共同作業與程式碼分析工具。
大部分行動應用程式平台旨在提供開發人員建置行動應用程式所需的一切。這使得開發人員能夠避免在行動開發軟體的不同部分之間移動時出現問題,並能夠處理這之間出現的問題,例如程式碼完整性、不相容性和資料遺失。行動應用程式開發平台也可以降低組織建立行動應用程式所需的成本、時間、資源和專業知識。雖然少數組織會選擇建立自己的平台,但更多組織會從眾多可用的應用程式開發替代方案中選擇。
最適合組織的行動應用程式開發替代方案,取決於想要建立的行動應用程式類型、可以用於編碼的語言,以及想要執行應用程式的裝置。部分行動應用程式開發替代方案包括:
- 開發人員能夠透過 Xamarin 等跨平台工具來使用 .NET 和 C# 建置 Android 和 iOS 應用程式。
- Visual Studio Tools for XamarinVisual Studio Tools for Xamarin 針對 Android、iOS 和 Windows 行動應用程式使用單一共用程式碼基底。
- 低程式碼或無程式碼工具,例如Power Apps。低程式碼是建置專業級應用程式的簡易方式,無須技術訓練或專業知識。 深入了解。
行動應用程式開發資源
行動應用程式開發的常見問題集
-
行動應用程式開發的定義可以很廣泛 (包括建置和發行行動應用程式涉及的所有流程),也可以很具體 (即應用程式的編碼和部署)。
深入了解 -
行動應用程式開發程序的階段包括策略、規劃、設計、開發、測試和發行。
深入了解 -
當您決定要建置哪種類型的行動應用程式時,考慮使用者類型以及使用者對應用程式的需求,對您的決定會有所幫助。
深入了解 -
最適合組織的行動應用程式開發替代方案,取決於想要建立的行動應用程式類型、可以用於編碼的語言,以及想要執行應用程式的裝置。
深入了解 -
組織在開發行動應用程式時,需要花費三到九個月 (視需求而定,可能會更久)。
深入了解 -
雖然完整開發行動應用程式可能需要耗時數個月,但 Microsoft 提供以下五個祕訣,可協助您立即開始開發行動應用程式。
了解建立行動應用程式的五個秘訣 -
DevOps 結合了「開發 (development)」和「作業 (operations)」兩個字,且定義為人員、程序和技術的聯合,可持續為客戶提供價值。DevOps 的文化、工具和做法能協助獨立的角色 (例如開發、IT 作業、品質工程和安全性) 互相協調並共同作業,以生產更好且更可靠的行動應用程式。DevOps 可協助開發團隊更快速回應客戶需求、提高其開發應用程式的信賴度,以及更快達成團隊的業務目標。
深入了解 DevOps -
開發人員通常會著重於雲端提供者的技術功能和程序,例如:輕鬆部署、管理和升級;是否使用標準介面和 API;是否有與監視/管理系統整合的正式事件管理系統;是否有記錄完整的變更管理程序,以及是否支援混合式功能。
深入了解選擇雲端提供者