什么是原生应用、Web应用和混合应用(native app,web app,hybrid app)

今天偶然看到Qt的一个文档里强调他开发的Native App,于是就通过网络搜集到了一些关于这些应用的介绍。我把网络上的一些介绍进行了翻译,融合,并添加了例子等。

我们经常听到原生应用、Web应用和混合应用的叫法,通常是指移动应用程序领域。但是他们之间有什么却别呢?

什么是原生应用程序?

原生应用程序(native app)是为特定的平台或设备开发的应用程序。它使用特定的编程语言编写,如用Objective-C编写的适用于iOS的程序,或者使用Java编写的适用于Android操作系统的程序。

用户可以通过应用程序市场,如苹果的App Store,谷歌Play商店下载这些应用程序,它会安装到设备本身。有些应用程序可以在没有连接互联网的情况下使用。

由于原生应用程序是为一个特定的设备及其操作系统开发的,它提供了快速的性能和高度的可靠性。它也具有使用特定设备的硬件和软件的能力,这意味着它可以充分利用移动设备,如GPS,摄像头,以及与操作系统交互等,它完全可以离线运行。然而,这种类型的应用程序的开发成本较高,因为它依赖于一种类型的操作系统,为了在另一种系统上运行,不得不重新开发一个新的版本。就如同很多游戏分为安卓版,IOS版,甚至桌面版等。

什么是Web应用?

Web应用程序(web app)基本上都是基于互联网的应用程序,都可以通过移动设备的网络浏览器访问。 Web应用程序是不是真正的应用。他们是本质上是网站,只不过外观和操作感觉像原生应用程序。它是使用浏览器支持的编程语言创建的,比如JavaScript,HTML和CSS等,并依赖于Web浏览器来渲染应用程序。

Web应用程序不能被提交到App Store和谷歌Play。当你访问的一个网站提供Web应用程序,下载后,并把它的图标添加到主屏幕就好了。

Web应用便于更新和维护,由于内部支持跨平台,从而适用于各种操作系统和移动设备的软件安装能力是其流行的一个重要原因。然而,相比于原生应用程序的能够访问GPS,拨号等功能,到目前为止,Web应用程序可以访问的设备的本机功能是有限制的,当然HTML5的出现正在逐渐去除一些这样的限制。

举一个例子,在2011,Financial Times不甘于Apple Store对应用程序内购买的20-30%的抽成,下架了他们的应用,取而代之的是一个Web应用。网址:https://app.ft.com/index_page/home

你可以在浏览器中打开,并且整个页面像是让你感觉在操作一个普通应用一样。

题外话:这让我想到了最近苹果将中国应用里经常使用的“打赏”功能定义为应用内购买,从而所要30%抽成的事件,人为刀俎我为鱼肉,游戏规则人家定的,那些应用的企业也无力抗衡。

什么是混合应用程序?

混合应用程序(hybrid app)是有一部分原生应用,也有一部分网络应用程序。 (正因为如此,很多人错误地称他们为“网络应用程序”)。像本地应用程序,他们可以发布在一个应用程序商店,并可以访问很多设备的功能。如同Web应用程序,很多界面依赖于HTML,并且依靠浏览器来渲染。
通常,企业建立混合应用作为包装为现有的网页;以这种方式,他们希望能得到在App Store存在,而不需要花费高昂代价来开发不同的应用程序。混合应用程序也很受欢迎,因为它们允许跨平台部署,从而显著降低开发成本:例如相同的HTML代码的组件可以在不同的移动操作系统被重复使用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注