一、Native App
Native App是一种基于智能手机本地操作系统如iOS、Android、WP并使用原生程式编写运行的第三方应用程序,也叫本地app。
通常情况下,开发IOS用xcode;android开发从ADT逐步移植到android studio开发。我现在基本上是在用android studio做Nativie 的应用。
优势:
1、提供最佳的用户体验,最优质的用户界面,最华丽的交互
2、针对不同平台提供不同体验
3、可节省带宽成本
4、可访问本地资源
5、盈利模式明朗
6、打开速度更快
劣势:
1、移植到不同平台上比较麻烦
2、维持多个版本的成本比较高
3、需要通过store或market的确认
4、盈利需要与第三方分成
5、开发的成本比较大
插图:
二、web app
WebApp是指基于Web的系统和应用,其作用是向广大的最终用户发布一组复杂的内容和功能。说白了就是用html+css+js做的网页。现在用html5做web app开发可谓是一片火热。
优势:
1、跨平台节省成本。
2、开发周期短,无需频繁升级app。
3、利用html5可以实现Native app的许多功能,如:数据存储、照相、音视频等功能。
劣势:
1、对手机内存及性能要求比较大。如若处理不当,手机会crash。eg:css动画丢帧、对大资源请求过慢等。(致命伤)
开发:在iOS上开发APP,需要通过Objective-C那样精细复杂的语言去开发,这对广大的开发者而言是个不小的难题。值得庆幸的是,开发者们也可以通过开发Web APP来达到曲线救国的目的。也就是说,可以通过HTML、 CSS或者JavaScript来进行Web APP的开发。
三、HyBird app
Hybrid App(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web 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跨平台开发低成本的优势
分类:
1、多View混合型
2、单View混合型
3、Web主体型
插图比较:
有关分类的详细内容可见:http://baike.baidu.com/link?url=INQSj8HdBAq_3pV4IG0f7oTdNvNLvNwYnYiLE2-E41-go5gYlDRwkRrs982HmG9UFTQTVulwexaM02HOOXSlxK
基于hybird衍生的中间件:
1、PhoneGap是相对比较早进入公众视线的一种选择。但是,开发者简单的基于PhoneGap来开发移动应用肯定会发现结果和Web App比较差的用户体验类似。这也是为什么基于PhoneGap有实用性的移动 应用主要集中在iOS上。可是PhoneGap这种现状弱化了HTML5的跨平台价值。
2、Titanium是一种基于翻译机制的跨平台中间件,能够开发出具有Native体验的移动应用,但是因为翻译机制的限制导致移动应用开发不能像真正的HTML5开发一样灵活。哪怕一个按钮也不能像普通HTML 一样来编写,而必须按照Titanium约定的特定格式。
3、Salama是全新研发的一套Hybrid APP和云端服务整合的开发套件。在终端,一共有三种开发模式:高度混合模式、JS模式和低度混合模式。
Hybrid App这个领域虽然还处于比较初期的阶段,但是已经有很多优秀的公司和技术团队在致力于跨平台开发移动应用中间件技术的研究,给了开发者众多选择。开发者可以根据实际的项目需求来选择中间件。Web App虽被浏览器厂商和搜索引擎公司所推崇,但存在用户体验差、盈利模式不明确等现阶段无法解决的问题,或最终夭折。Hybrid App正在被越来越多的公司和开发者所认同,势必会成为新世界的王。
三种app对比图: