nativeapp是一個原生程序,通常運行在機器操做系統上,有很強的交互,通常靜態資源都是在本地的。瀏覽使用方便,體驗度高。在實現上要麼使用Objecttive-c和cocoaTouch Framework撰寫IOS程序,要麼選擇java+Android Framework撰寫android應用程序。
hybridapp是一個半原生程序,僞造了一個瀏覽器的apk/ipa原生程序,把地址寫死了,而後裏面運行了一個webapp。裏面是WebView UI 。可是仍是運行在機器的操做系統上,交互較弱,資源通常在本地或者網絡均可以。瀏覽體驗度次之。
webapp是生存在瀏覽器裏的應用,因此只能運行在瀏覽器裏,宿主是瀏覽器,再也不是操做系統。資源通常都在網絡上。說的根本點就是一個觸屏版的網站。java
什麼叫作原生App?
原生App是專門針對某一類移動設備而生的,它們都是被直接安裝到設備裏,而用戶通常也是經過網絡商店或者賣場來獲取例如 The App Store 與 Android Apps on Google Play . 隨便說幾個原生App的例子,好比iOS 的 Camera+ 以及Android 的 KeePassDroid
什麼叫作移動Web App?
通常說來,移動Web App都是都是須要用到網絡的,它們利用設備上的瀏覽器(好比iPhone的Safari)來運行,並且它們不須要在設備上下載後安裝。
什麼是混合app?
Hybrid App是指介於web-app、native-app這二者之間的app,它雖然看上去是一個Native App,但只有一個UI WebView,裏面訪問的是一個Web App,好比街旁網最開始的應用就是包了個客戶端的殼,其實裏面是HTML5的網頁,後來才推出真正的原生應用。再完全一點的,如掌上百度和淘寶客戶端Android版,走的也是Hybrid App的路線,不過掌上百度裏面封裝的不是WebView,而是本身的瀏覽內核,因此體驗上更像客戶端,更高效。
綜合一下就是:「Hybrid App同時使用網頁語言與程序語言開發,經過應用商店區分移動操做系統分發,用戶須要安裝使用的移動應用」。整體特性更接近Native App可是和Web App區別較大。只是由於同時使用了網頁語言編碼,因此開發成本和難度比Native
App要小不少。所以說,Hybrid App兼具了Native App的全部優點,也兼具了Web App使用HTML5跨平臺開發低成本的優點。android
轉自:https://www.zhihu.com/question/23622875web