您應該創(chuàng)建一個跨平臺應用程序還是一個本地應用程序(專門為iOS 或 Andriod平臺構建)?不同意見比比皆是。有些人堅定地站在跨平臺應用程序開發(fā)的陣營中,而另一些人則認為原生是要走的路。您如何確定跨平臺或原生是否適合您的應用程序?
為什么跨平臺/原生決策很重要?
您已經(jīng)決定構建移動應用程序而不是響應式網(wǎng)站。現(xiàn)在您需要決定是跨平臺構建應用程序還是本地構建應用程序。此決定的評估過程類似。
要了解什么最適合您的產(chǎn)品,了解您的業(yè)務以及您要構建的應用程序的預期功能集非常重要。
跨平臺應用開發(fā)
跨平臺開發(fā)使開發(fā)人員能夠編寫一組可跨所有平臺使用的代碼。盡管這種方法有效率,但也存在技術挑戰(zhàn)。
跨平臺應用開發(fā)的優(yōu)勢
易于開發(fā)和成本-單個代碼庫可以在多個平臺上使用,這在理論上可以降低開發(fā)成本。而且由于開發(fā)人員不需要學習多種技術來創(chuàng)建應用程序,因此對于沒有豐富應用程序開發(fā)經(jīng)驗的內(nèi)部開發(fā)人員來說,這可能是一個更快、更容易的過程。
上市速度-創(chuàng)建單代碼集的能力使得初始部署和未來更新的發(fā)布速度更快??缙脚_應用程序工具有多種選擇,使開發(fā)人員能夠輕松創(chuàng)建應用程序。
更廣泛的覆蓋面-開發(fā)適用于 iOS 和 Android 的應用程序使該應用程序可供更廣泛的受眾使用。Android 在全球市場占有主導地位,然而,在美國,iOS 的市場份額越來越大。
跨平臺應用程序開發(fā)的缺點
性能挑戰(zhàn)-由于代碼不是專門為這兩種操作系統(tǒng)構建的,因此經(jīng)常存在通信挑戰(zhàn)。跨平臺應用程序通常不能以最佳方式運行,因為它們沒有與任一操作系統(tǒng)完全集成。
用戶體驗下降-為多個平臺創(chuàng)建的應用程序無法利用每臺設備上的所有原生功能??缙脚_開發(fā)的可用性通常不那么好。
不總是只有一個代碼庫-雖然簡單的應用程序可以使用一個代碼庫,但當需要在應用程序的用戶界面中創(chuàng)建自定義元素(對于更復雜的產(chǎn)品)時,這有時需要本機代碼才能正確呈現(xiàn)。在這種情況下,無論如何,您最終都會在每個平臺上擁有唯一的代碼庫,但是在已經(jīng)創(chuàng)建的跨平臺代碼之上。這有時會導致比您一開始使用本機代碼時更復雜的代碼。
原生應用程序開發(fā)
本機應用程序開發(fā)特定于其開發(fā)的平臺。因此,如果您想提供適用于 iOS 和 Android 的應用程序,則必須分別對每個應用程序進行編碼。
原生應用開發(fā)的優(yōu)勢
最佳性能-這些應用程序是專門為每個平臺制作的,因此它們可以訪問所有設備功能,而且故障更少。
改進的可用性-本機應用程序與其構建的操作系統(tǒng)集成。出于這個原因,應用程序中的導航對用戶來說更熟悉,因為它與設備相同。這提供了改進的用戶體驗。
原生應用程序開發(fā)的缺點
開發(fā)成本和時間-由于代碼不能跨平臺使用,提供 iOS 和 Android 應用程序需要兩個單獨的開發(fā)工作。這將更加昂貴,并且可能需要更多的開發(fā)時間。(但是,在為第二個平臺構建應用程序時,服務器 API 和設計文件會被重用,因此成本不會“翻倍”。)這最終意味著您需要找到一個團隊,其中包含專門從事 iPhone 和Android 平臺。