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