hybrid app
Hybrid App(混合模式移动应用)是指介于web-app、native-app这二者之间的app,兼具“Native App良好用户交互体验的优点”和“Web App跨平台开发的优点”。css
“云”时代的来临正在改变App和运营团队之间的关系,一场不能避免的变革正在进行。鉴于
移动终端的局限性,移动终端上的
APP由本地化应用(Native App),到混合型应用(Hybrid APP),再到基于WEB的应用Web App,这一连串的变化都源于技术的更新和市场的须要[1]
。
Hybrid App是指介于web-app、native-app这二者之间的
app,它虽然看上去是一个Native App,但只有一个UI WebView,里面访问的是一个Web App,好比街旁网最开始的应用就是包了个客户端的壳,其实里面是HTML5的网页,后来才推出真正的原生应用。再完全一点的,如掌上百度和淘宝客户端Android版,走的也是Hybrid App的路线,不过掌上百度里面封装的不是WebView,而是本身的浏览内核,因此体验上更像客户端,更高效。
汽车有混合动力Hybrid,
移动应用一样也有混合模式。Hybrid App(混合模式移动应用)兼具“Native App良好用户交互体验的优点”和“Web App跨平台开发的优点”。不少人不知道市场上一些主流移动应用都是基于Hybrid App的方式开发,好比国外有Facebook、国内有百度搜索等。但究竟什么是Hybrid App?如何定义?
Hybrid App:Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store, Google Play etc. Usually, they are downloaded from the platform to a target device, such as iPhone, Android phone or Windows Phone. The subscribers need to install to run them.
咱们来拆解一下里面的含义:
一、mobile application:Hybrid App就是一个移动应用
二、both browser-supported language and computer language:同时使用网页语言与程序语言编写
三、available through application distribution platforms:经过应用商店进行分发
四、a target device:区分目标平台
五、install to run:用户须要安装使用
综合一下就是:“Hybrid App同时使用网页语言与程序语言开发,经过应用商店区分移动操做系统分发,用户须要安装使用的移动应用”。整体特性更接近Native App可是和Web App区别较大。只是由于同时使用了网页
语言编码,因此开发成本和难度比Native App要小不少。所以说,Hybrid App兼具了Native App的全部优点,也兼具了Web App使用HTML5跨平台开发低成本的优点
Hybrid App的兴起是现阶段移动互联网产业的一种偶然。移动互联网的热潮刮起后,众多公司前赴后继的进入。可是很快发现移动应用的开发人员太少,因此致使疯狂的人才争夺。市场机制下移动应用开发人才的待遇扶摇直上,最终变成众多企业没法负担养一个具有跨平台开发能力的专业移动应用开发团队。而HTML5的出现让Web App露出曙光,HTML5开发移动应用的跨平台和廉价优点让众多想进入移动互联网领域的公司开始心动。但是当下基于HTML5的Web App更是雾里看花,在用户入口习惯、分发渠道和应用体验这三个核心问题没解决以前,Web App也很可贵以爆发。正是在这样是机缘巧合下,基于HTML5低成本跨平台开发优点又兼具Native App特质的Hybrid App技术杀入混战,而且很快吸引了众人的目光。大幅的下降了移动应用的开发成本,能够经过现有应用商店模式发行,在用户桌面造成独立入口等等这些,让Hybrid App成为解决移动应用开发困境不错的选择,也成为现阶段Web App的代言人。Hybrid App像刺客同样,在Native App和Web App混战之时,偶然间的在移动应用开发领域占有了一席之地。
Hybrid App按网页语言与程序语言的混合,一般分为三种类型:多View混合型,单View混合型,Web主体型。
多View混合型
即Native View和Web View独立展现,交替出现。2012年常见的Hybrid App是Native View与WebView交替的场景出现。这种应用混合逻辑相对简单。即在须要的时候,将WebView当成一个独立的View(Activity)运行起来,在WebView内完成相关的展现操做。这种移动应用主体一般是Native App,Web技术只是起到补充做用。开发难度和Native App基本至关。
单View混合型
即在同一个View内,同时包括Native View和Web View。互相之间是覆盖(层叠)的关系。这种Hybrid App的开发成本较高,开发难度较大,可是体验较好。如百度搜索为表明的单View混合型移动应用,既能够实现充分的灵活性,又能实现较好的用户体验。
Web主体型
即移动应用的主体是Web View,主要以网页语言编写,穿插Native功能的Hybrid App开发类型。这种类型开发的移动应用体验相对而言存在缺陷,但总体开发难度大幅下降,而且基本能够实现跨平台。Web主体型的移动应用用户体验的好坏,主要取决于底层中间件的交互与跨平台的能力。国外的appMobi、PhoneGap和国内的WeX五、AppCan和Rexsee都属于Web主体型移动应用中间件。其中Rexsee不支持跨平台开发。appMobi和PhoneGap除基础的底层能力更可能是经过
插件(Plugins)扩展的机制实现Hybrid。AppCan除了插件机制,还提供了大量的单View混合型的接口来完善和弥补Web主体型Hybrid App体验差的问题,接近Native App的体验。而WeX5则在揉合PhoneGap和Bootstrap等主流技术的基础上,对性能进一步作了深度优化,不但彻底具有Native App对本地资源的调用能力,性能体验也不输原生;WeX5所开发出来的app具有彻底的跨端运行能力,能够无需任何修改直接运行在各类前端环境上。
从分析可见,Hybrid App中的Web主体型只要可以解决用户体验差的问题,就能够变成最佳Hybrid App解决方案类型。
国内外Hybrid App的开发框架众多。如何选择又成为一个难题。下面对开发者比较关心的集中知名跨平台开发移动应用中间件进行列表和对比,以便选择最适合您的移动应用中间件。
PhoneGap是相对比较早进入公众视线的一种选择。可是,开发者简单的基于PhoneGap来开发移动应用确定会发现结果和Web App比较差的用户体验相似。这也是为何基于PhoneGap有实用性的移动应用主要集中在iOS上。但是PhoneGap这种现状弱化了HTML5的跨平台价值。
Titanium是一种基于翻译机制的跨平台中间件,可以开发出具备Native体验的移动应用,可是由于翻译机制的限制致使移动应用开发不能像真正的HTML5开发同样灵活。哪怕一个按钮也不能像普通HTML同样来编写,而必须按照Titanium约定的特定格式。
Salama是全新研发的一套Hybrid APP和云端服务整合的开发套件。在终端,一共有三种开发模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,须要追求终端速度和显示效果的开发者,能够在不改变原有的构架思路的前提下进行开发。在JS模式下,全部的画面显示及业务逻辑均由JS程序实现,对于原来的基于WEB的开发者,只要熟悉JS、CSS、HTML的前端工程师就能够轻松构建本身的应用。在高度混合模式下,原生和HTML5能够随意组合,能够为开发者在进行大型商业软件开发的过程当中提供最高的性价比。不只如此,在云端Salama还提供了一整套云服务,涵盖了业务处理、数据库操做、文件等资源的存储分发等服务。Salama已经为多家公司提供了方案,知名客户有TOSHIBA-AIRCON、GEDORE等品牌商,同时也在Salama平台上构造了Ishow企业电子目录产品服务。
WeX5具有单View的性能特色,相比PhoneGap、Bootstrap有大幅度性能提高,同时也是以Html五、Javascript、Css3为技术基础的Web型App框架;WeX5框架按照Apache协议将全部源代码进行了开源,技术和模式上显得很开放。
AppCan在技术架构上和PhoneGap相似是Web主体型中间件,可是经过结合了一些原生交互效果可以达到iOS、Android平台都比较一致的用户体验。可是相比PhoneGap、WeX5的开源,AppCan相对封闭的路线显得过于谨慎。
Hybrid App这个领域虽然还处于比较初期的阶段,可是已经有不少优秀的公司和技术团队在致力于跨平台开发移动应用
中间件技术的研究,给了开发者众多选择。开发者能够根据实际的项目需求来选择中间件。Web App虽被浏览器厂商和搜索引擎公司所推崇,但存在用户体验差、盈利模式不明确等现阶段没法解决的问题,或最终夭折。Hybrid App正在被愈来愈多的公司和开发者所认同,势必会成为新世界的王。
Web App、Hybrid App、Native APP对比
|
Web App(网页应用)
|
Hybrid App(混合应用)
|
Native App(原生应用)
|
开发成本 |
低 |
中
|
高
|
维护更新 |
简单
|
简单
|
复杂
|
体验 |
差
|
中
|
优
|
Store或market承认 |
不承认 |
承认 |
承认
|
安装 |
不须要 |
须要
|
须要 |
跨平台
|
优
|
优
|
差
|
7个hybrid app开发工具编辑
一、Appcelerator
Appcelerator的Titanium开发平台使开发者能够经过HTML、PHP、JavaScript、Ruby、Python等Web编程语言开发手机、平板和桌面的原生App。其优点在于它可让用户轻松地访问超过300个API以及定位信息。
此外,Appcelerator提供针对特定行为或事件定制的统计。App的数据既可储存在云端,也可储存在设备上。
二、WeX5
WeX5采用混合应用(hybrid app)开发模式, UI体系彻底基于w3c的html5+css3+js;引入jquery和bootstrap并对移动作了底层优化,效率和性能接近原生应用。WeX5本机API Framework采用phonegap(cordova)框架。[2]
三、APICloud
APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,从新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,能够帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。
四、PhoneGap
PhoneGap是一个免费且开源的开发环境,使开发者能够开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。
PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们本身的平台上开发移动App。
五、NativeScript
NativeScript是使用移动平台的 JavaScript 引擎来进行跨平台开发。逻辑部分天然无需多说,关键在于如何使用平台特性。NativeScript是经过反射获得全部平台 API,预编译它们,而后将这些 API 注入到 JavaScript 运行环境,接下来在 Javascript 调用后拦截这个调用,并运行 native 代码。NativeScript是使用大量 web 开发的技巧来进行 app 开发,由于工具链和语言都很是熟悉受到了不少前端开发者的欢迎。
六、Kinvey
Kinvey一样是一个为移动应用开发者提供后台建立服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括 Rackspace、Amazon与Microsoft。全部经过Kinvey存储的数据都会有四种方式备份:Amazon EC二、Windows Azure、Rackspace以及Kinvey本身的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。[3]
七、ExMobi
ExMobi经过全面的数据集成技术和丰富的跨平台客户端展示能力,将业务系统快速、安全、高效的移植于移动终端。ExMobi从开发(IDE环境)、集成(IT系统对接、云服务)、打包(各个操做系统的应用打包)、发布(应用的运行)、管理(日志管理,更新管理)上提供了一套完整的解决方案。并经过专业的培训和支撑渠道为开发者提供可持续的学习和交流空间,扫除开发障碍。[4]