开发者们都知道在高端智能手机系统中有两种应用程序:
- 一种是基于本地(操作系统)运行的APP —-Native App;
- 一种是基于高端机的浏览器运行的App —-WebApp
因为这些高端智能手机(Iphone、Android)的内置浏览器都是基于webkit内核的,所以在开发WEBAPP时,多数都是使用HTML5和CSS3技术做UI布局。当使用HTML5和CSS3l做UI时,若还是遵循着一般web开发中使用HTML4和CSS2那样的开发方式的话,这也就失去了WEBAPP的本质意义了 - 一种是基于上两种发展出来的产物 —-Hybrid App
Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。
移动产品的实现方式主要有三种:
- Native App;
- Web App;
- Hybrid App
目前移动互联网基本采用了
NativeApp
、WebApp
、HybridApp
三种开发模式,很难说这三种模式那种更优越,目前的情况可以说是三分天下吧,不同的开发者可以根据自己的实际情况选择不同的开发模式。谈论那种模式最好实际上事非常无聊的事情。
NativeApp指的是本地化应用,就是我们从应用商店下载安装的独立应用
- 开发成本非常大。
一般使用的开发语言为JAVA、C++、Objective-C。 - 更新体验较差、同时也比较麻烦
每一次发布新的版本,都需要做版本打包,且需要用户手动更新(有些应用程序即使不需要用户手动更新,但是也需要有一个恶心的提示)。 - 非常酷
因为native app可以调用IOS中的UI控件以UI方法,它可以实现WebApp无法实现的一些非常酷的交互效果 - Native app是被Apple认可的
Native app可以被Apple认可为一款可信任的独立软件,可以放在Apple Stroe出售,但是Web app却不行。
开发成本过高
,跨平台性不好
是开发者们选择放弃这种开发模式的重要原因。开发语音主要采用Object-C、Java
等语言。由于我不是做Native
端开发的,这里不多说了。
WebApp通常是指触屏站,就是我们通过手机浏览器访问的Html5网站,Html5支持一些新标签和脚本,可以做出类原生应用的效果和动画
- 开发成本较低
使用web开发技术就可以轻松的完成web app的开发 - 升级较简单
升级不需要通知用户,在服务端更新文件即可,用户完全没有感觉 - 维护比较轻松
和一般的web一样,维护比较简单,它其实就是一个站点
Webapp说白了就是一个针对Iphone、Android优化后的web站点,它使用的技术无非就是HTML或HTML5、CSS3、JavaScript,服务端技术JAVA、PHP、ASP。
HTML5技术的兴起给Web App注入了新的生机。
Web App具有开发成本低
、周期短
、使用方便
、维护简单
等特点。
随着HTML5被过度热炒和实际开发中遇到的性能以及体验问题,WebApp逐渐势弱。
同样,以AppStore为首的App分发平台当然是不希望webapp破坏自己建立的生态系统的
。html5迟迟没有得不到一个公认的标准,也阻碍着webapp的发展。但是这些都不足以阻碍webapp的发展。现在APP的数量已经达到数以百万计,实际上用户根本不需要这么多的App,很多App被用户下载后,一个月都不会被打开一次。
而webapp用户根本不需要安装
,只需要打开手机浏览器,输入网址或搜索目标
,点击即可到达想要的网页,基本和PC互联网的思路是一致的
,这也说明百度同样在移动入口上有这很大的优势。在NativeApp上用户只有安装了App,才能浏览,而webapp是直接通过手机浏览器为入口,或者推送的信息为入口,这么看webapp在流量上是有很大的优势的。
但是目前webapp得不到很好的发展主要有以下几个方面的原因:
- 无有效且广泛的webapp发行渠道(NativeApp有AppStore等);
- webapp表现和体验不佳(这点算硬伤吧);
- 适配难度(一套web很难兼容所有的手机,特别是国内某些自以为很牛B的手机,大可乐算一个吧,哈哈);
- 配套的标准尚未成熟(主要指html5吧)。
网站移动化是必然的,目前知道webapp比较好的解决方案有如下几个:
- 云适配 号称引入一段神奇的代码就能将PC网站移动化。陈本峰老师也是我学习的榜样,html5布道官。了解更多信息可以链接到http://www.yunshipei.com/
- 百度site App 网址:http://siteapp.baidu.com/
- 还知道个做微站的网站,号称把微信、微博入口都已打通,企业用户营销很好的平台:http://www.weizhan360.com/
HybridApp是指混合模式应用,同时使用网页语言与程序语言编写,包含原生视图和Web视图两种方式,使用方式和Native App一致,而又继承了Web App实时更新开发成本低等优点。
汽车有混合动力Hybrid,移动应用同样也有混合模式。Hybrid App兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”。很多人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,比如国外有Facebook、国内有百度搜索等。但究竟什么是Hybrid App?如何定义?
- mobile application:Hybrid App就是一个移动应用
- both browser-supported language and computer language:同时使用网页语言与程序语言编写
- available through application distribution platforms:通过应用商店进行分发
- a target device:区分目标平台
- install to run:用户需要安装使用