阅读更多

2顶
12踩

互联网

转载新闻 Web App 被看衰,Hybrid App 才是新王道

2012-06-29 11:45 by 副主编 MnouW 评论(12) 有37416人浏览
基于HTML5的Web App在移动端接受实用性检验后,开发者从热情转为观望。这时候Hybrid App(混合模式移动应用)作为现阶段HTML5技术的落脚点正悄然兴起!Native App和Web App的论战加入了一个新的角色Hybrid App。

但究竟什么是Hybrid App?如何定义?

汽车有混合动力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跨平台开发低成本的优势。

Hyrbid App为什么会兴起?

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是如何实现网页语言与程序语言的混合?谁占主体?

Hybrid App通常分为三种类型:多View混合型,单View混合型,Web主体型。

多View混合型:

即Native View和Web View独立展示,交替出现。目前常见的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国内的AppCan和Rexsee都属于Web主体型移动应用中间件。其中Rexsee不支持跨平台开发。appMobi和PhoneGap除基础的底层能力更多是通过插件(Plugins)扩展的机制实现Hybrid。而AppCan除了插件机制,还提供了大量的单View混合型的接口来完善和弥补Web主体型Hybrid App体验差的问题,接近Native App的体验。

多View混合型,单View混合型,Web主体型优劣势对比



从分析可见,Hybrid App中的Web主体型只要能够解决用户体验差的问题,就可以变成最佳Hybrid App解决方案类型。

Hybrid App的瓶颈与未来

国内外Hybrid App的开发框架众多。如何选择又成为一个难题。下面对开发者比较关心的几种知名跨平台开发移动应用中间件进行对比,以便选择最适合您的移动应用中间件。



PhoneGap是相对比较早进入公众视线的一种选择。但是,开发者简单的基于PhoneGap来开发移动应用肯定会发现结果和Web App比较差的用户体验类似。这也是为什么基于PhoneGap有实用性的移动应用主要集中在iOS上。可是PhoneGap这种现状弱化了HTML5的跨平台价值。

AppCan在技术架构上和PhoneGap类似是Web主体型中间件,但是通过结合了一些原生交互效果能够达到iOS、Android平台都比较一致的用户体验。但是相比PhoneGap的开源,AppCan相对封闭的路线显得过于谨慎。

Titanium是一种基于翻译机制的跨平台中间件,能够开发出具有Native体验的移动应用,但是因为翻译机制的限制导致移动应用开发不能像真正的HTML5开发一样灵活。哪怕一个按钮也不能像普通HTML一样来编写,而必须按照Titanium约定的特定格式。

Hybrid App这个领域虽然还处于比较初期的阶段,但是已经有很多优秀的公司和技术团队在致力于跨平台开发移动应用中间件技术的研究,给了开发者众多选择。

开发者可以根据实际的项目需求来选择中间件。Web App虽被浏览器厂商和搜索引擎公司所推崇,但存在用户体验差、盈利模式不明确等现阶段无法解决的问题,或最终夭折。Hybrid App正在被越来越多的公司和开发者所认同,势必会成为新世界的王。
  • 大小: 19.5 KB
  • 大小: 198.8 KB
来自: 雷锋网
2
12
评论 共 12 条 请登录后发表评论
12 楼 咖啡舞者 2013-03-26 15:19
有点无语。
11 楼 zy95804667 2012-08-27 16:15
绝对是正义无限的软文,appCan你在开发Hybrid App方面完全用的phonegap,结果你说phonegap与底层的交互能力不如你!!太假了!再说appcan怎么能和phonegap放在一起比较?这水平,放上来误人子弟
10 楼 hbcui1984 2012-07-12 11:44
明显是正益无线(AppCan)的软文
9 楼 kimmking 2012-07-01 18:53
对phonegap的贬低和appcan的刻意抬高。。。

怎么审核通过的?
8 楼 ximenchuifeng 2012-06-29 17:07
广告贴~ 鉴定完毕~
7 楼 x521 2012-06-29 15:21
webeasymail 写道
这篇怎么看怎么像软文

我看就是软文
6 楼 oma1989 2012-06-29 14:48
code_monkey 写道
我只看衰,没能力的人,不是看衰,任何技术!

5 楼 oma1989 2012-06-29 14:47
lengyun3566 写道
貌似作者是AppCan的员工

4 楼 ad6543210 2012-06-29 14:33
很多的公司是不開發app,直接在app裡面連到網頁而已
難道這種也算混合式嗎,呵呵
3 楼 code_monkey 2012-06-29 14:05
我只看衰,没能力的人,不是看衰,任何技术!
2 楼 lengyun3566 2012-06-29 13:58
貌似作者是AppCan的员工
1 楼 webeasymail 2012-06-29 13:46
这篇怎么看怎么像软文

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 【收藏】Web App 被看衰,Hybrid App 才是新王道

    2012移动开发调查显示HybridApp开发占据一半以上:...Web App 被看衰,Hybrid App 才是新王道:http://www.iteye.com/news/25442 HTML5、Native或Hybrid App开发全接触:http://www.e800.com.cn/a...

  • Hybrid APP的离线存储总结

    背景:HTML5的出现,新增了很多功能,比如WebSQL、页面缓存等。这对于离线访问页面以及将部分数据存储到本地,提供了很大的便利。 目的:实现离线打开表单,填写后暂存本地,联网后同步到服务器。并且实现Android、...

  • 极致的 Hybrid 混合式开发(去啊App Hybrid 实战)

      该文章来自于阿里巴巴技术协会(ATA)精选文章。 ...今天 去啊 App 5.1.1 已经发布了,航旅 Hybrid 混合架构有了更进一步的落地,这轮优化目标是搞定H5真正的“无缝秒出”。 先来看效果...

  • 58移动开发 App 工厂

    导语:App工厂,顾名思义,是一个能根据各种素材和组织形式生成App的工厂。更专业一点的描述,是根据一个具有完备组件库以及这些组件的依赖关系,组合成一个个App。 以往的单App研发架构,由于每次打包编译、版本...

  • 手机应用开发的原生app,WEBAPP,混合app的认识

    每当你打算开发移动应用程序时,都要考虑你的应用如何创建以及如何部署。...原生App是专门针对某一类移动设备而生的,它们都是被直接安装到设备里,而用户一般也是通过网络商店或者卖场来获取例如TheA...

  • 通过页面调用APP【H5与APP互通】

    现在H5和App原生的内容原来越互通,所涉及的业务也越来越复杂和融合,所以如何互相之间方便的调用才是王道。 场景1  比如用hybrid获取地理位置和短信信息,这当然需要框架封装好,比如利用框架的bridge.js(下...

  • 天哪,我只是想吃顿红烧肉啊

    这种开发方式与开发Web App无异,目前多数hybrid App都是用这种方式开发的。另一方面,性能方面由于HTML5技术的发展,结合CSS3的话,性能上也有了明显的提升。这里你可能会说,Web App在安卓版微信上非常容易卡顿呀...

  • WEB前端超多知识总结

    作者:文杰 ...来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。...资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS ,

  • 轻松看透WeX5产品能力和技术

     开发手机app,模拟调试是关键能力,对开发者极端重要,而这也是业界现有hybrid app开发工具的软肋。WeX5对hybrid app开发提供了业界最强大的调试支持,表现真正完美。 提供全能力、一站集成的模拟调试支持。开发...

  • web前端知识总结

    前言:一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~学习之前首先要大概了解什么是HTML ,CSS , JS:一句话概括:HTML ...

  • Web前端开发思考CSS篇:CSS预处理器时代 (一)

    面对Web前端开发三驾马车之一的样式表语言和层叠式样式表(CSS),你是否受够了她的“娇柔做作”:开发起来没完没了、运行起来担惊受怕、维护起来臃肿不堪。不管你承不承认,在团队研发过程中,CSS的开发和维护已经成...

  • WEB前端知识总结

    前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的, 资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS: 一句话概括:...

  • 欢迎使用CSDN-markdown编辑器

    Web App 被看衰,Hybrid App 才是新王道 Sencha Touch or jQuery Mobile? – Read This Before You Make a Decision 几种常用HTML5移动应用框架的比较 5个jQuery的备选轻量级移动客户端开发(Mobile ...

  • 转:浅谈移动前端的最佳实践

    spa(single page application)也就是我们常常说的web应用程序webapp,被认为是业内的发展趋势,主要有两个优点: ① 用户体验好 ② 可以更好的降低服务器压力 但是单页有几个致命的缺点: ① SEO支持...

  • go 生成基于 graphql 服务器库.zip

    格奇尔根 首页 > 文件 > gqlgen是什么?gqlgen是一个 Go 库,用于轻松构建 GraphQL 服务器。gqlgen 基于 Schema 优先方法— 您可以使用 GraphQL Schema 定义语言来定义您的 API 。gqlgen 优先考虑类型安全— 您永远不应该看到map[string]interface{}这里。gqlgen 启用 Codegen — 我们生成无聊的部分,以便您可以专注于快速构建您的应用程序。还不太确定如何使用gqlgen?将gqlgen与其他 Go graphql实现进行比较快速启动初始化一个新的 go 模块mkdir examplecd examplego mod init example添加github.com/99designs/gqlgen到项目的 tools.goprintf '//go:build tools\npackage tools\nimport (_ "github.com/99designs/gqlgen"\n _ "github.com/99designs/gqlgen

  • 基于JAVA+SpringBoot+Vue+MySQL的社区物资交易互助平台 源码+数据库+论文(高分毕业设计).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:maven 数据库工具:navicat

  • 法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip

    法研杯2021类案检索赛道三等奖方案源码+项目说明+数据.zip是一个专为计算机相关专业(如计科、信息安全、数据科学与大数据技术等)学生设计的宝贵学习资源。该压缩包包含了完整的项目源码、详细的项目说明文档以及用于训练和测试的数据集,旨在帮助参赛者深入理解并掌握类案检索的相关技术和方法。该项目通过实际案例,展示了如何运用自然语言处理和机器学习技术对法律案件进行智能检索和匹配。项目内容涵盖了从数据预处理、特征提取到模型训练和评估的全过程,为学习和研究类案检索技术提供了全面的参考。本项目不仅适合作为课程设计、期末大作业或毕设项目的参考,也是企业员工提升技能、进行实践操作的优质学习资料。通过实际操作和学习该项目,用户可以加深对类案检索技术的理解,并在实践中不断提升自己的技能水平。请注意,由于该资源包含完整的项目源码和数据集,下载和使用时请确保遵守相关法律法规和道德规范,尊重知识产权和隐私权。同时,建议用户在使用前仔细阅读项目说明文档,了解项目的整体架构和使用方法,以便更好地利用该资源进行学习和研究。

  • 基于Cesium实现的对倾斜摄影模型的单体化分层方案源码.zip

    本资源提供了基于Cesium实现的倾斜摄影模型单体化分层方案的完整源码,旨在帮助开发者深入理解并实践三维地理空间数据的处理与展示。通过Cesium平台,用户能够将倾斜摄影获取的高精度三维模型进行单体化和分层处理,实现对模型中每个独立元素的精细管理和交互操作。该资源适合具备一定计算机编程基础的学习者,特别是对Cesium感兴趣的学生、研究人员及GIS行业从业者。通过下载并学习这些源码,用户可以掌握倾斜摄影模型在Cesium中的加载、单体化以及分层显示等关键技术,进而提升自己在三维地理信息系统开发领域的技能水平。

  • Go 的 PostgreSQL 驱动程序和工具包.zip

    Go 的 PostgreSQL 驱动程序和工具包 pgx - PostgreSQL 驱动程序和工具包pgx 是 PostgreSQL 的纯 Go 驱动程序和工具包。pgx 驱动程序是一个低级、高性能接口,它公开了 PostgreSQL 特定的功能,例如LISTEN/ NOTIFY和COPY。它还包括一个标准database/sql接口的适配器。工具包组件是一组相关的软件包,用于实现 PostgreSQL 功能,例如解析线路协议以及 PostgreSQL 与 Go 之间的类型映射。这些底层软件包可用于实现替代驱动程序、代理、负载均衡器、逻辑复制客户端等。示例用法package mainimport ( "context" "fmt" "os" "github.com/jackc/pgx/v5")func main() { // urlExample := "postgres://username:password@localhost:5432/database_name" conn, err := pgx.Connect(context.B

Global site tag (gtag.js) - Google Analytics