Native, Hybrid, Web App, Cross App哪一個是開發App最佳方案 ...

文章推薦指數: 80 %
投票人數:10人

一般來說指的是該裝置平台官方使用的程式語言Android 使用的是Java(現已換成kotlin) iOS 使用的者ObjectC(現在主打Swift 語言) Windows Phone(嗯,就讓他成為回憶吧) ... GetstartedOpeninappMilkMidiSigninGetstarted524FollowersAboutGetstartedOpeninappNative,Hybrid,WebApp,CrossApp哪一個是開發App最佳方案呢?MilkMidiOct14,2019·4minread大家好,我是奶綠茶今天來分享關於App開發Native(原生)Hybrid(混搭Native+Web)WebApp(網頁)CrossApp(單一程式語言,即可佈屬多平台)1Native(原生語言)一般來說指的是該裝置平台官方使用的程式語言Android使用的是Java(現已換成kotlin)iOS使用的者ObjectC(現在主打Swift語言)WindowsPhone(嗯,就讓他成為回憶吧)優:執行速度最快,效能最佳,使用者體驗也會是最好的資源多,遇到問題時很好找到解答或是問人開發人員時間投資下去,一般來說是不會虧的,除非該平台收掉(WindowsPhone表示)缺:一個裝置平台就要請一位工程師(老闆不開心)各平台UI表現不一樣(UI,UX人員不開心)各平台操作行為不一樣(UI,UX人員不開心)Android超難Debug(開發人員不開心)2Hybrid(Native+Web)在NativeApp裡,開一個Web容器(一般通稱Webview),然後把網頁載進來。

像在Line,Facebook裡,點擊連結時,會在該應用程式打開網頁就統稱Webview早期FacebookApp曾經採用過這樣的方式開發,但後還是因為效能問題放棄了。

優:可以保有Native功能,而部份單元採用Web開發,達到省人力缺:在App裡放進Web的程式,其實效能是不好的因為要啟動的元件太多(不過隨著手機硬體的進步,會慢慢改善)使用者體驗沒有很好3WebApp簡單來說就是一般的網頁應用程式。

優:不受限任何平台,只要有Browser就可以開啟,不需要下載缺:Web的效能總是慢Native很多無法存取或呼叫裝置硬體功能(電量、藍芽等)無法有推播功能(AndroidChrome已經有了,但iOS目前還未開放)因為不需要下載,自然也不會有Appicon(可以做到類似的)當有功能做不到時,就真的都做不到,因為無法和Native互動補充:現在Html5有個PWA,能夠讓你做到離線版的WebApp或許將來WebApp可以接近NativeApp.4CrossApp這分類奶綠我覺得單獨拿出來介紹更適合一般來說指的是單一程式語言,即可佈屬到多平台(老闆最愛)Unity3D(五星推薦)很熱門也很成熟的技術,如果你想要開發3D遊戲,這套絕對是首選ReactNative(四星推薦)老爸是Facebook,使用Javascript語言透過該核心技術,把JS轉譯成NativeCode可以有Native的優點,又可跨平台,算是目前業界很熱門的技術。

Titaniumjs(不推)使用Javascript語言,轉譯成NativeCode和ReactNative有點像,但玩的人好像不多。

Flutter(五星推薦+強力推薦)老爸是Google,使用Dart語言該技術最大的優點除了跨平台外,連UI都長的一模一樣。

(奶綠很推這技術)Xamaris(不推)老爸是Microsoft,使用C#語言和其他跨平台語言不同的點是,他還是需要懂本來的平台架構AdobeFlash(推不推都不重要,反正已陣亡)老爸是Adobe,但……………………………就讓他成為回憶吧。

PhoneGap(三星推薦)老爸是Adobe(應該是,有錯請指正使用html,css,js製作的網頁應用程式然後再用Webview包起來。

CrossApp跨平台語言最大的優點,就是老闆只要請一個工程師,就可以發大財(誤)缺:當發生問題時,會很難追查(奶綠我覺的這是很大的致命傷)是你的Code問題?還是該語言本身的Bug?當有功能無法達到時,還是需要Native的幫忙有興趣的人可以查一下airbnb為何放棄ReactNative開發奶綠我會哪些呢?AndroidJava(超久沒寫的,現在有點忘光了)這是2016年開發的拍賣AppDemo(未上架)React還滿熟的,但ReactNative我就只有編譯過HelloworldTitaniumjs也只有編譯過HelloworldFlutter最近很認真在學(這是奶綠我用Flutter寫的Demo)PhoneGap會寫網頁就會用AdobeFlash……………….就這樣吧總結一下技術本身沒有對或錯,也沒有最佳方案完全取決與你的App內容(Content才是王道)MilkMidiFollow4915491 4915AppDevelopmentMorefromMilkMidiFollow



請為這篇文章評分?