由2008年 iOS App Store 開張至今,十多年間手機應用程式的數量,不論是Android 還是 iOS 的平臺上,都已經達致200 萬個以上。今天,都市人每日都透過手機上網去做各種各樣的事,網上理財、Facebook IG、打機拍片、買賣交易。有些人可以忘記帶錢包出街,但不能不帶手機出街。所以對於大小企業來說,不論對外的客戶還是對內的員工,手機應用程式還是一種不可或缺的重要媒介。
Your mobile device has quickly become the easiest portal into your digital self. — — Phil Nickinson, Editor of Android Central
手機應用的開發也風靡一時,在2012年前後,開發到一個便利易用的手機應用程式,近乎等同掘到第一桶金。時至今天,手機應用開發逐漸衍生出不同的類型,客戶能夠按照自己不同的需要、資源、開發時間等等,去選擇適合該企業手機應用的開發類型。以下就讓我介紹一下各種應用程式的開發類型,好使大家能夠找出合適的應用程式。
原生應用(Native App)
原生應用(Native App),意指用該手機系統原生的程式去編寫應用程式。由最早期 iOS 的 ObjectiveC 到 Swift,或者 Android 的 Java 到 Kotlin ,都是最直接的開發方法。而理論上,原生應用理應可以最有效地利用到手機的所有性能,而達至最佳的手機用戶體驗。
原生應用可以緊隨著手機系統的升級而改變,所以它能夠比其他類型的應用程式,更能盡用手機本身的功能。例如這幾年相當流行的機器學習(Machine Learning),還是擴增實境(Augmented Reality/AR),這些功能都是原生應用可以第一時間使用得到。
但相反地,原生應用的弊處在於開發成本較大。在 iOS / Android 各據市場一方,有時甚至要顧及 Windows 用家的時候,除非在特殊的要求下,否則基本上是必須同時支援兩個平臺以上的用家。在多個平臺都要分別開發的情況下,開發的成本與時間翻兩倍亦屬平常。
原生應用程式的例子有:Camera+, iCalender
混合應用(Hybrid App)→ 跨平臺應用(Cross-platform App)
當原生應用其時間和開發成本上的問題越趨明顯,市場自然有相對的解決方案應運而生,而這就是混合應用(Hybrid App)。
混合應用的基本概念是在手機裏面放置一個網頁瀏覽器,透過這個瀏覽器就可以去開啓一個模擬手機應用的網站。因爲瀏覽器在手機來説是共通的,所以把主要能夠共用的程式,都以網頁的形式呈現。而網頁未能實現的功能,就用該平臺的原生程序去編寫。以同時推出 Android、iOS 兩個平臺的應用程式為例,混合應用能以大概1.5倍的開發成本和時間,就能做到原生應用兩倍的效果。
在2015年,使用 AngularJS + Cordova 作爲根基的 Ionic 曾經瘋魔一時,以 Ionic 編寫的應用程式大量湧現。然而當時混合應用的核心問題,在於用戶介面表現的效能。當時的 Android、iOS 的瀏覽器性能上都非常有限,在用戶體驗上,混合應用會較原生應用差得多。有經驗的手機用家,也許一眼就能看出哪個應用程式是否混合應用。企業形象亦有機會因為其混合應用程式的用戶體驗較其他遜色,而有所減損。
為了減省開發成本,而又不放棄用戶體驗,各個手機應用程式公司不斷摸索,其中跨平臺應用(Cross-platform App)可說是混合應用的後繼者。和混合應用的最大不同之處,在於它們針對用戶介面體驗上進行的改善,不再使用網頁和瀏覽器,而是提供一套共同的用戶介面開發框架,給開發人員去編寫出原生的用戶介面,這樣大大改善了混合應用在用戶體驗上的不足。Facebook 的 React native, Microsoft 的 Xamarin,Google 的 Flutter 或者 Vue Native,這些都是跨平臺應用的開發框架。
不過,這些開發框架雖然都聲稱自己是原生應用的開發工具,而它們在用戶體驗/性能上也和原生應用相當相近。但跨平臺應用往往需要至少幾個月的時間,才能支援最新的手機功能,始終不如原生應用來得快。企業如需要追求應用程式能夠使用最新手機功能的話,就要留意應否採用跨平臺應用的開發模式。
即使如此,跨平臺應用依然能達到現在超過 9成以上用戶的需求。大家經常接觸到的手機應用程式,包括 Instagram, Evernote, UBER, Twitter, Netflix 等等,都是屬於跨平臺應用,可見跨平臺應用已是今天開發模式的主流。
網頁應用(Web App)→ 漸進式網絡應用程式 PWA(Progressive Web Application /PWA)
網頁應用(Web App)講白了就是單純的一個網頁,不過這種網頁多用所謂單頁應用 (Single page Applications/SPA)的框架來建立。隨著這幾年手機上的瀏覽器發展越來越進步,網頁應用已能夠給予用戶相當接近手機應用的感覺。
在效能層面上,現在的瀏覽器下網頁應用的效能已經比幾年前進步不少,但當然還是遜色於上文提到的兩者。以功能方面來看,網頁應用也有很多未能做到的功能,例如讀取 QR Code、藍牙裝置信息等等,亦無法利用如 Apple Store/Play Store 的付費功能。但如果企業的應用程式只是如購物網般以文字、圖片等簡單數據為主的話,網頁應用絕對是一個不錯的選擇。
基於網頁應用的優勢,iOS 和 Android 亦作出相應的性能強化,於是 就有漸進式網絡應用程式(Progressive Web App/PWA)的出現。當你使用 iOS 的 Safari 或者是 Android 的 Chrome 去瀏覽網頁時,用戶可以選擇添加該網頁到手機桌面上,這樣網頁就會以一個類似手機應用的模樣出現。對於一般用戶而言,PWA 看上去和其他手機應用程式沒有分別。而這些應用程式還可以用到很多原生應用程式才有的功能,如推送信息、讀取坐標、相機拍照、運用手機指南針等等。
網頁應用/ PWA 還有一個相當突出的優點,就是不用透過 App store 下載就能直接使用。現在用戶拒絕下載手機程式的原因有很多,譬如上網流量有限、電話容量不足、手機已經安裝過多應用程式等等。而網頁應用/ PWA 就是省卻這些用戶的顧慮,用戶可以簡單到只要掃描一下QR Code,又或者在 Google 搜索一下就可以開始使用。這種快捷的體驗,對宣傳新產品來説,是相當有效。
最重要的是,網頁應用的開發成本和時間是各種開發模式之中最短的,用最低的成本,就可以支援近乎所有的手機平臺,甚至電腦桌面都能同步使用,很適合一些如網絡購物、預約房間等等不需要用到手機很多功能的服務使用。不妨嘗試用手機去Starbucks 的網頁 https://app.starbucks.com, 來試一試 PWA 的威力。
PowerApps
除了面對大衆的應用程式外,現在很多公司都積極尋求給予内部員工使用的應用程式,例如員工申報開支、請假等等,以方便公司内部管理和運作,而Microsoft 的PowerApps正正就符合這些功能。
PowerApps 其實是附屬 Microsoft Office 365 的應用程式,員工只需要上 Apple store/Play store 下載 PowerApps 並登入,PowerApps 就能提供一個比較簡單的用戶界面,管理人員可以在 PowerApps 上放置各種小型應用程式,員工可以透過這些應用程式去處理日常公司事項。PowerApps 也會和 Office 365 的 OneDrive / SharePoint / Power BI 等等有互相的聯動,以構成一個一體化的系統,管理人員則能透過 PowerApps 所產生的各類報告以得知公司的運作。
固然,PowerApps 的開發成本是普通應用程式的 20% 而已,但其主要成本反而來自 Microsoft Office 365 定期的訂閱收費,皆因每個使用 PowerApps 的用戶,都要有其 Office 365 的賬號才能使用,成本自然不菲。但如果閣下的企業本身已經使用 Office 365 的服務,而又想利用一些應用程式去方便公司日常運作的話,PowerApps 還是一個不錯的選擇。
遊戲開發引擎
Unity和虛幻引擎(Unreal engine),這些開發引擎都是專門開發遊戲用的。它們所支持的平臺不局限於手機應用,甚至可以於 PlayStation / Switch / Steam 等遊戲平臺實現。現在常見的跨平臺遊戲很多都是以這類型開發的,這類型的應用強項在於 3D 的表現和遊戲運算,不論遊戲開發,還是一般手機應用程式亦能使用到。如 Minecraft、 PUBG 這些膾炙人口的遊戲,都是用 Unity / 虛幻引擎來開發的。
總結
ONEs software: https://ones.software/hk/bookings-one/