技術選擇
原生 App 與跨平台 App:怎樣選擇?
開發手機 App 時,最早要決定的問題之一,是用原生技術還是跨平台技術。兩者都可以做出好用的應用,分別在於開發方式、維護成本和可以用到的功能。
甚麼是原生開發?
原生開發是按每個平台的官方工具分別開發,例如以 Swift 開發 iOS 應用、以 Kotlin 開發 Android 應用。應用可以直接使用系統的最新功能,介面和操作亦與系統一致。
甚麼是跨平台開發?
跨平台開發是以一套程式碼同時產生 iOS 和 Android 應用,常見的技術包括 Flutter 和 React Native。由於大部分程式碼可以共用,開發及維護兩個平台的工作量會較少。
比較一覽
| 原生開發 | 跨平台開發 | |
|---|---|---|
| 程式碼 | 每個平台各一套 | 大部分共用一套 |
| 新系統功能 | 可以即時使用 | 視乎框架支援,有時需要額外開發 |
| 介面 | 與系統完全一致 | 接近原生,部分細節需要調整 |
| 開發及維護成本 | 支援多個平台時較高 | 支援兩個平台時通常較低 |
| 適合 | 只需支援一個平台,或大量使用裝置功能 | 需同時支援 iOS 及 Android,功能相近 |
幾個判斷方法
- 只需支援 iPhone 及 iPad:原生開發通常較合適
- 需要 AR、Apple Vision Pro 或其他較新的系統功能:原生開發較有彈性
- 需同時支援 iOS 及 Android,而功能以內容、表單和帳戶為主:跨平台開發可以節省時間
- 希望先推出第一版、再按反應調整:可以考慮跨平台開發
選擇沒有絕對的對錯,關鍵是應用的用途、目標用戶和日後的維護計劃。開始前,我們會先了解這些需要,再建議合適的方案。
