Hybrid APP介绍_hybird app-程序员宅基地

技术标签: Hybrid APP介绍  互联网资讯  

“云”时代的来临正在改变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.
我们来拆解一下里面的含义:
1、mobile application:Hybrid App就是一个移动应用
2、both browser-supported language and computer language:同时使用网页语言与程序语言编写
3、available through application distribution platforms:通过应用商店进行分发
4、a target device:区分目标平台
5、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和国内的WeX5、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解决方案类型。

多主体共存型(灵活型)

这是一种新型的开发模式,即支持Web主体型的应用,又支持以Native主体的应用,也支持两者混合的开发模式。比如kerkee框架 [2]   ,它具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、具有Debug环境、彻底解决跨域问题等特点。用户体验与Native 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有大幅度性能提升,同时也是以Html5、Javascript、Css3为技术基础的Web型App框架;WeX5框架按照Apache协议将所有源代码进行了开源,技术和模式上显得很开放。
Kerkee是一个多主体共存型Hybrid框架,具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、集成云服务、具有Debug环境、彻底解决跨域问题。 [2]  
AppCan在技术架构上和PhoneGap类似是Web主体型中间件,但是通过结合了一些原生交互效果能够达到iOS、Android平台都比较一致的用户体验。与Phonegap支持单一webview使用div为单位开发移动应用不同。AppCan支持多窗口机制,让开发者可以像最传统的网页开发一样,通过页面链接的方式灵活的开发移动应用。基于这种机制,开发者可以开发出大型的移动应用,而不是只能开发简易类型的移动应用。 [3]  
Hybrid App这个领域虽然还处于比较初期的阶段,但是已经有很多优秀的公司和技术团队在致力于跨平台开发移动应用 中间件技术的研究,给了开发者众多选择。开发者可以根据实际的项目需求来选择中间件。Web App虽被浏览器厂商和搜索引擎公司所推崇,但存在用户体验差、盈利模式不明确等现阶段无法解决的问题,或最终夭折。Hybrid App正在被越来越多的公司和开发者所认同,势必会成为新世界的王。
Web App、Hybrid App、Native APP对比
 
Web App(网页应用)
Hybrid App(混合应用)
Native App(原生应用)
开发成本
维护更新
简单
简单
复杂
体验
Store或market认可 不认可 认可
认可
安装 不需要
需要
需要
跨平台

hybrid app开发工具

编辑
AppCan
AppCan是国内Hybrid App混合模式开发的倡导者,AppCan应用引擎支持Hybrid App的开发和运行。并且着重解决了基于HTML5的移动应用"不流畅"和"体验差"的问题。使用AppCan应用引擎提供的Native交互能力,可以让HTML5开发的移动应用基本接近Native App的体验。 [3]  
AppCan作为中国Hybrid混合应用开发、移动平台、移动云平台的倡导者和领导者,以“免费+开源+开放”的互联网模式,为广大开发者提供一站式的移动应用开发支持服务。 [4]   与此同时,从移动应用开发、管理、运营、安全四个方面,为各级政府和企事业单位,构建运营一体化的企业移动平台,企业通过个性化的移动运营门户,增强客户服务品质,提升整体经营管理水平。
现在,正益移动AppCan行业解决方案已成功应用于金融、航空、政府、石化、传媒等领域,客户包括东方航空、国家电网、中化集团、泰康人寿、新华社等众多大型企业,赢得了市场广泛认可,是国内企业移动信息化领域的龙头企业。 [4]  
1、Appcelerator
Appcelerator的Titanium开发平台使开发者可以通过HTML、PHP、JavaScript、Ruby、Python等Web编程语言开发手机、平板和桌面的原生App。其优势在于它可以让用户轻松地访问超过300个API以及定位信息。
此外,Appcelerator提供针对特定行为或事件定制的统计。App的数据既可储存在云端,也可储存在设备上。
2、Kerkee
Kerkee是一个多主体共存型Hybrid框架,具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、集成云服务、具有Debug环境、彻底解决跨域问题。 [2]  
从开发者角度来说,它支持三种的团队开发模式:
针对Web开发者:
这种模式其中的一个场景是:只会Web开发,却不会Native开发的开发者提供了一系列的平台型接口。这种方式具有开发周期短,跨平台等优点。
针对Native开发者 :
这种开发模式的其中一个场景是:Native开发者想要截获Web页面的数据或者对数据进行自己的处理,或者Web页面中的行为进行修改。在这个时候,Kerkee框架将会为他们带来便利。
针对Web开发者和Native团队共同合作的开发团队 :
对于这种模式的团队,kerkee框架具体更开放更透明的协作,并且严格地隔离各自职责。各得Web团队和Native团队把主要精力定位到各自的模块上,有利于各自的模块优化到极致。
3、WeX5
WeX5采用混合应用(hybrid app)开发模式, UI体系完全基于w3c的html5+css3+js;引入jquery和bootstrap并对移动做了底层优化,效率和性能接近原生应用。WeX5本机API Framework采用phonegap(cordova)框架。 [5]  
4、APICloud
APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。
5、PhoneGap
PhoneGap是一个免费且开源的开发环境,使开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。其使用的是HTML和JavaScript等标准的Web开发语言。开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。
  PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们自己的平台上开发移动App。
6、NativeScript
NativeScript是使用移动平台的 JavaScript 引擎来进行跨平台开发。逻辑部分自然无需多说,关键在于如何使用平台特性。NativeScript是通过反射得到所有平台 API,预编译它们,然后将这些 API 注入到 JavaScript 运行环境,接下来在 Javascript 调用后拦截这个调用,并运行 native 代码。NativeScript是使用大量 web 开发的技巧来进行 app 开发,因为工具链和语言都非常熟悉受到了很多前端开发者的欢迎。
7、Kinvey
Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括 Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。 [6]  
8、ExMobi
ExMobi通过全面的数据集成技术和丰富的跨平台客户端展现能力,将业务系统快速、安全、高效的移植于移动终端。ExMobi从开发(IDE环境)、集成(IT系统对接、云服务)、打包(各个操作系统的应用打包)、发布(应用的运行)、管理(日志管理,更新管理)上提供了一套完整的解决方案。并通过专业的培训和支撑渠道为开发者提供可持续的学习和交流空间,扫除开发障碍
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wolaikanyanhau/article/details/50988363

智能推荐

ipython和jupyter notebook_第02章 Python语法基础,IPython和Jupyter Notebook-程序员宅基地

文章浏览阅读185次。第2章 Python语法基础,IPython和Jupyter Notebooks当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少。这部分上是一个鸡和蛋的问题:我们现在使用的库,比如pandas、scikit-learn和statsmodels,那时相对来说并不成熟。2017年,数据科学、数据分析和机器学习的资源已经很多,原来通用的科学计算拓展到了计算机科学家..._jupyter notebook if后面有多个条件

雪花算法生成的ID精度丢失问题_雪花算法生成id精度丢失-程序员宅基地

文章浏览阅读494次,点赞2次,收藏2次。雪花算法生成的ID精度丢失问题雪花算法ID精度丢失_雪花算法生成id精度丢失

Sublime Text关闭更新(亲测可用)_sublime关闭更新检测-程序员宅基地

文章浏览阅读2.2k次。sumlime text关闭自动更新_sublime关闭更新检测

还不会ES?Elasticsearch快速入门实操指南送上_elastic怎么发送请求-程序员宅基地

文章浏览阅读521次。还不会ES?Elasticsearch入门实操指南送上_elastic怎么发送请求

云大计算机考博 经验,计算机考博难不难?-程序员宅基地

文章浏览阅读359次。计算机考博难不难?希赛网考博英语频道为大家整理和分享考博英语相关考试知识,供大家参考学习。希望能为大家提供到帮助,祝各位都能顺利通过考试。其实计算机考博与其他专业的博士考试难度都类似,第一英语难:为什么?想进入复试,初试的英语必须过线(也有破格录取的,这是幸运当年那所高校报考的人少或是导师实在找不到人了降分录取,不要把自己放在幸运上。)。如果你是应届生,那你在研究生期间的英语有没有落下,有很多考..._云南大学计算机申博 小木虫

python调节电脑音量_python如何调节音量大小-程序员宅基地

文章浏览阅读2.4k次。首先需要安装模块pycaw,在cmd中执行:pip3installpycaw下面是完整代码示例:fromctypesimportcast,POINTERfromcomtypesimportCLSCTX_ALLfrompycaw.pycawimportAudioUtilities,IAudioEndpointVolumedevices=AudioUtilities.Ge..._python控制电脑音量

随便推点

极速进化,光速转录,C++版本人工智能实时语音转文字(字幕/语音识别)Whisper.cpp实践_c++语音识别库-程序员宅基地

文章浏览阅读2.8k次,点赞3次,收藏8次。业界良心OpenAI开源的[Whisper模型](https://v3u.cn/a_id_272)是开源语音转文字领域的执牛耳者,白璧微瑕之处在于无法通过苹果M芯片优化转录效率,Whisper.cpp 则是 Whisper 模型的 C/C++ 移植版本,它具有无依赖项、内存使用量低等特点,重要的是增加了 Core ML 支持,完美适配苹果M系列芯片。 _c++语音识别库

前端(vue)导出word文档(导出图片)_前端批量docx转jpg-程序员宅基地

文章浏览阅读688次,点赞7次,收藏11次。导出word文档方法有很多,但这次要导出图片,所以选用了html-docxhtml-docx是根据html代码进行导出........_前端批量docx转jpg

TaiShan 200服务器安装Ubuntu 18.04_ubuntu登录华为泰山服务器.-程序员宅基地

文章浏览阅读749次。TaiShan 200 服务器 Ubuntu 18.04 安装指南, amr64,aarch64_ubuntu登录华为泰山服务器.

linux openerp,openerp-程序员宅基地

文章浏览阅读101次。实验环境centos7_x64实验软件odoo_8.0.20170101.noarch.rpm软件安装yum install -y /root/odoo_8.0.20170101.noarch.rpmyum install -y yum-utils postgresql postgresql-server postgresql-libspostgresql-setup initdbsu - po..._openerp中文版 for liunx

STM32+AS608指纹模块串口通讯_as068-程序员宅基地

文章浏览阅读2.1w次,点赞53次,收藏263次。STM32+AS08指纹模块串口通讯一. 使用硬件:stm32F103 -mini stm32开发板+AS608指纹模块+usb转串口实物图:硬件接线:注意:usb转串口线是连接串口1即PA9,PA10引脚的,并接上VCC、GND提供电源二. AS068工作流程:As068模块驱动采用的是正点原子公司提供的As068.c及As068.h文件,具体..._as068

全通滤波器 相位校正 matlab,一文读懂滤波器的线性相位,全通滤波器,群延迟...-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏19次。延迟和全通滤波器,来解释这些概念。先说结论:线性相位能保证信号中各频率成分的相对相位关系不改变。通俗解释是:信号经过线性相位滤波器后,各个频率分量的延时时间是一样的。1. 延迟举一个最简单的FIR的例子,延迟。假设16kHz的采样频率,一个采样周期的延迟,可以用FIR来表示。利用Matlab来观看这个滤波器的频率响应,代码如下。采样频率为Fs = 16kHz, 采样周期为Ts,Ts = 1/Fs。..._matlab如何对滤波器进行相位校准

推荐文章

热门文章

相关标签