阅读更多

0顶
0踩

Web前端

转载新闻 HTML5将如何发展?性能不是问题

2013-03-22 10:32 by 副主编 WnouM 评论(6) 有11126人浏览
Business Insider Intelligence日前在最新报告中剖析了原生应用与HTML5的发展现状,指出HTML5的性能和盈利等问题都是可以解决的,而HTML5正以“润物细无声”的方式被越来越多人接受,并且与原生应用相比更具长期优势。


如今的移动浏览器支持大部分HTML5功能(绿色为支持,蓝色为部分支持,红色为不支持)


HTML5应用在移动领域的魅力不言而喻:它基于Web、在移动浏览器内运行,不受移动平台及设备的限制,也不需要开发者针对每个移动操作系统分别开发,“一次写成,到处运行”是它引以为豪的承诺。

没错,HTML5在很多时候表现得与原生手段并无二致,但是也有几点原因让它往往无法成为众望所归的“完美方案”:

首先,HTML5本身面临“碎片化”问题,不同移动浏览器对HTML5应用功能的支持存在差异性。

再者,虽然HTML5及其相关Web语言——JavaScript和CSS知名度极高,但是HTML5移动应用的开发成本往往并不低,也不能单纯地照搬桌面Web应用——它们需要优秀的专业人才,也需要巨大的精力投入。


美国消费者在Apps上花费的时间依然远多于移动Web(上方为Apps,下方为移动Web)


就算有了专业的开发人才,HTML5依然面临严峻的市场挑战:消费者如此青睐那些依赖平台的原生应用,HTML5如何才能胜出呢?(参见上图)

我们将在本报告中剖析HTML5作为一种移动开发工具所遇到的障碍,并讨论HTML5将如何克服它们。

  • HTML5与原生应用大比拼:我们会具体解释为何从长远来看,HTML5在移动开发领域比原生应用更具优势。
  • 性能差距:HTML5的监管机构W3C已经大大推动了相关标准的制定和移动浏览器对HTML5功能的支持,但是很多性能方面的问题依然没有解决。
  • 开发者的心声:我们采访了各种各样的人——从怀疑者、早期使用者到倡导者和先行者,我们向他们提出了同一个问题:“在这场HTML5与原生应用的大争论当中,我们的立场又是什么?”
总体而言,我们发现HTML5正在被越来越多人接受,而一些项目已经证明了它的价值。

HTML5与原生应用大比拼:





性能差距


对HTML5移动Web及其他平台感兴趣的开发者比例


移动应用云计算技术公司Appcelerator的企业策略总监迈克尔•金(Michael King)表示,原生应用的优势用一个词概括就是:性能。

Appcelerator提出了“互动性斜坡(The Slope Of Interactivity)”概念,指出HTML5适合那些互动性不太强的应用,例如那些单纯提供网络内容或界面非常简单的应用。然而,如果沿着互动性斜坡上行,那些互动更多的应用就需要原生手段了。

但是,有些设备功能时HTML5做不到的,这往往是因为用户的移动浏览器或浏览器版本不支持HTML5实现那些功能。


你准备在2013年用HTML5打造何种软件?(桌面网站、移动网站/HTML5应用、可安装的混合应用、其他)


这在一定程度上市浏览器“碎片化”的结果——一方面,浏览器市场本身就呈现出“群雄割据”之势;另一方面,很多智能手机用户(尤其是Android用户)不会及时更新软件。

即便是最新的浏览器,对HTML5的支持也并不完善——例如我们在近期的一份分析报告中发现,Android上的最新版Chrome浏览器在虽然支持98项HTML5功能,但是也不支持28项功能。

这种不均衡会影响HTML5的跨平台吸引力,而事实上,大量HTML5开发工作依然是致力于桌面环境的。

此外,HTML5在移动领域也面临一些安全性的问题,部分原因是HTML5应用与数据的互动方式导致的。“保障HTML5数据的安全是件极其困难的事情。”金说道。

W3C非常重视HTML5的性能差距,正在着手改进HTML5和增强安全功能。


开发者对HTML5的几点不满——绿色为满意,红色为不满,从左到右依次为跨平台开发、快速更新、盈利、安全性、碎片化、性能、适时更新、用户体验、发行


但是对于HTML5能否在性能上与原生应用平分秋色这一问题,Appcelerator的金持怀疑态度。他认为HTML5总会落后五六年,因为它瞄准的“靶子”是移动的——设备厂商和平台运营商总会推出新的硬件、平台和功能,它们很快就能融入原生应用的开发环境,而HTML5不得不跟在后面苦苦追赶。

制定高标准

也有人认为HTML5没有落后那么多——移动应用后端服务解决方案提供商 StackMob的CEO泰伊•阿米尔(Ty Amell)认为HTML5已经开始缩小性能上的差距。


你认为用HTML5进行开发的最大吸引力是什么?从左到右依次为语言熟悉(HTML、JS、CSS)、跨平台支持、性能、工具/代码库、产出、基于开放标准、开发成本、社区


然而,HTML5为何在企业内部应用当中比在面向消费者的应用当中更受欢迎?一大原因,是企业应用和消费应用对用户体验的不同要求——对于消费应用,iOS已经树立了“黄金标准”而Android也随后效仿:丰富多彩的界面和图形、快捷的捏放操作、流畅的滚动、无缝访问照片库和通讯录等设备功能……

这些都是HTML5尚未达到的,不是因为HTML5无法实现同样的性能,而是因为“HTML5的用户界面(UI)和用户体验(UX)没有真正的标准可言”,因此让很多开发者感到很茫然——StackMob的阿米尔如是说道。一些开发者试图在HTML5环境下模仿iOS式的用户体验,但并不成功。


你是否赞同HTML5适用于移动应用开发?——从左到右依次为强烈反对、不赞同也不反对、强烈赞同


移动解决方案公司Clearly Innovative的CEO埃伦•桑德斯(Aaron Saunders)认为,HTML5在Android环境下面临的挑战尤其大——这是众所周知的Android“碎片化”问题造成的结果。

还有一个很常见的陷阱:即便是最优秀的Web开发人员,也难免会错误地试图把桌面和笔记本电脑上的Web体验照搬到移动平台上。“人们总是做着HTML5的美梦,却意识不到它对开发者和设计者有另一套要求,而总想保留自己的老一套Web技能。”用户界面设计公司Cynergy的技术总监迈克尔•伍尔夫(Michael Wolf)如是说。

一些开发人员认为,Facebook对HTML5的否定其实与HTML5本身的局限性关系不大,更重要的原因是Facebook错误地试图在移动领域推行PC时代的那套方法。

Sencha是一家致力于HTML5的公司,其开发人员已经证明了用HTML5也能做出速度快、性能强大的Facebook应用(他们将这一雏形应用戏称为“Fastbook”)。

说到底,HTML5与原生应用在质量上的差别,更多来自于移动开发者运用相关语言的才华和经验,而并非HTML5的局限性。

进入商店


你喜欢用什么方法来开发支持多平台的应用?紫色为HTML5、绿色为混合应用、红色为一个原生加一个HTML5、蓝色为原生;从上到下依次为全球化企业、大型企业、中型公司、小公司、初创企业(少于5人)、整体。


HTML5是大型企业打造大量应用的一个重要技术趋势(参见上图)。在全球化企业中,近40%的开发人员表示将采用纯HTML5技术开发多平台应用。

但是对于面向消费者的应用,HTML5却遇到了“先有鸡还是先有蛋”的问题。

围绕iOS和Android这两大操作系统,移动行业已经有了自己的业内标准。消费者迷恋原生应用,在应用上花的时间远多于移动Web,每年从苹果App Store和Google Play下载应用的次数都以“十亿”为单位。

原生应用显而易见的成功使得移动发布商不愿全面转战HTML5——即使HTML5彻底消除了性能上的差距,开发者对于开发纯HTML5应用也会相当谨慎,因为毕竟在线应用商店才是最主流的发行渠道,而智能手机和平板电脑用户还不习惯直接从移动Web下载软件。

于是“混合应用”应运而生——它们是“披着”原生代码的HTML5应用,可以被提交到应用商店中——例如职业社交网络LinkedIn的Android、iPhone和iPad应用就以HTML5为主但能在应用商店下载。

此外,Mozilla等机构也在努力解决HTML5的发行问题——Mozilla已经推出了完全基于HTML5的Firefox OS智能手机操作系统和面向HTML5应用的“Firefox Marketplace”应用商店。

“用户们都去应用商店寻找内容,这迫使发布商走向原生。”斯蒂凡诺•梅鲁奇(Stefano Melucci)说道。他是移动内容公司Buongiorno的副总裁,该公司已经推出了自己的国际化HTML5应用商店Appsfuel。

HTML5的影响力

越来越多的公司和初创企业开始采用一种非常微妙的移动开发方法——结合HTML5和原生应用的长处,一边开发HTML5应用一边开发一款或更多原生应用,以覆盖所有用户群体。

一些开发人员转向混合式解决方案,以HTML5为中心但引入原生元素,让应用打入应用商店或是给人以更自然的感觉。

而另一个选择,是针对某个对目标用户尤其重要的平台(如iOS或Android)开发一款100%原生的应用,然后在用HTML5或混合手段开发面向其余平台的应用。

不过换个角度来看,“一点儿也没用到HTML5的原生应用也是难得一见的。”移动开发公司appMobi的CTO萨姆•阿巴蒂尔(Sam Abadir)如是说道——他所在的这家公司最近刚刚将自己的HTML5开发平台出售给英特尔。(参见下图)


总之,在原生与HTML5之间"脚踩两只船"的解决方案并不少见。


对于纯粹的原生应用来说,为每个平台从头折腾一遍是既费时又费钱的事情。“我得设计两遍、维护两遍、开发两遍。”Cynergy的伍尔夫说道。

如果开发商或发布商没有特别充足的资源或资金,那么针对不同平台重复利用HTML5或JavaScript往往不失为明智的开发策略。Clearly Innovative的桑德斯认为,这一策略不但尤其适用于那些需要在多个平台上开发多款应用的大公司,也适用于初创企业——它们可以先利用HTML5以较低的成本进行开发、测试和改进,然后“在赚了些钱、有了些知名度之后,再开始开发原生或混合应用”。

HTML5 的一个应用案例

很多人抱有一种成见,认为高度互动、图形丰富的应用应当是原生的。

或许用原生代码的确更容易实现高级效果——例如将数据转化为图表,但是HTML5事实上也能做到。

芝加哥在线交易公司TradeMONSTER的iOS客户端应用就是一个例子——该公司对移动应用有一系列要求,包括移动交易环境能与桌面Web同步、跨平台保存用户的个性化设置、性能稳定无bug、控制开发成本、可以重复应用于不同大小的屏幕、易于更新、保障数据安全,等等——但是,这一长串必要条件之下,TradeMONSTER依然选择了基于HTML5的解决方案(加上一个让应用进入应用商店的“原生外衣”)。


近一段时间内,开发者对HTML5的兴趣变化不大(从2012年9月到2013年1月;蓝色为积极使用HTML5的开发者比例,红色为计划在年内开始使用HTML5的开发者比例,绿色为今年不准备使用HTML5的开发者比例)


TradeMONSTER的CTO桑吉布•萨胡(Sanjib Sahoo)表示,公司最担心的问题是用户体验能否像原生应用一样出色,而他们也遇到了很多复杂而棘手的问题(包括实时数据的图形化等等),并且需要进行很多调整,好在最后效果不错——TradeMONSTER现在有了能实现跨设备流畅同步的跨平台应用,并且无需经过苹果或谷歌就能向用户推送更新。

结论

  • HTML5并非完美方案。它不能完美地解决多平台、多设备应用开发中所有令人头痛的问题。
  • HTML5应用要想充分发挥其潜力,就必须格外注意用户体验。只要方法对路,HTML5应用的性能也能与原生应用相匹敌。
  • 盈利与发行问题是可以解决的。通过混合手段让包装过的HTML5打入应用商店,就能最大程度地减轻这些问题。此外,已经有移动发布商对其HTML5应用的独立营销获得了成功。
  • 大小: 27.4 KB
  • 大小: 30.2 KB
  • 大小: 39.9 KB
  • 大小: 25.4 KB
  • 大小: 23.6 KB
  • 大小: 39.5 KB
  • 大小: 21 KB
  • 大小: 22.5 KB
  • 大小: 24.4 KB
  • 大小: 20.1 KB
  • 大小: 31 KB
  • 大小: 22 KB
  • 大小: 84.6 KB
  • 大小: 22.6 KB
来自: 搜狐IT
0
0
评论 共 6 条 请登录后发表评论
6 楼 咖啡舞者 2013-03-26 15:11
用户可不关心你开发成本怎么样,不好用肯定不用。跨平台使用企业应用可能还行。量身(OS)定做肯定好过一概而论。
5 楼 geminiyellow 2013-03-25 12:45

引用
HTML5移动应用的开发成本往往并不低,也不能单纯地照搬桌面Web应用——它们需要优秀的专业人才,也需要巨大的精力投入。

你让我这种没精力的废渣如何是好啊……

我想知道第一个是被我点出来的么?
4 楼 轻指飞扬 2013-03-25 10:25
HTML5应用于移动设备,我觉得它会局限于企业级应用。像娱乐型应用、工具类应用还是native app吧~
3 楼 longzai55 2013-03-25 09:45
phenom 写道
寄生虫 始终撑不了大场面,在移动端,一次编写到处运行就是扯淡。
你也不想想,一个人可以同时 当男的和女的么?

比喻确实有问题~~
2 楼 o0rid0o 2013-03-22 13:03
phenom 写道
寄生虫 始终撑不了大场面,在移动端,一次编写到处运行就是扯淡。
你也不想想,一个人可以同时 当男的和女的么?


即使无法真的做到一次编写到处运行,但是改造的成本也是有很大的区别的

再说你那男和女的比喻也不恰当
1 楼 phenom 2013-03-22 10:42
寄生虫 始终撑不了大场面,在移动端,一次编写到处运行就是扯淡。
你也不想想,一个人可以同时 当男的和女的么?

发表评论

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

相关推荐

  • dom 4j参考文档

    dom 4j 参考文档,希望对你有所帮助

  • DOM4J 使用简介

     DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义:Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full suppor

  • dom4j api 详解

      1、DOM4J简介     DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP。     DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型,就能使用。     Dom:把整个文档作为一个对象。   DOM4J 最大的特色是使用大量的接口。它的主要...

  • 使用dom4j解析xml文档

    注意:在使用dom4j解析xml文档的时候首先我们需要导入dom4j的jar包dom4j-1.6.1.jar          参考链接:https://www.jianshu.com/p/e8561ea99d03一.dom4j中,获得Document对象的方式有三种1.读取xml文件,获得Document对象2.解析xml形式的文本,得到Document对象,将字符串转换为3.主动创建Docum...

  • 使用Dom4j解析xml模板步骤

    一、解析xml文件的方法   xml文件说白了就是一个有规则的记事本文件(万物皆可文本),它里面有成对的标签,通常我们解析一个记事本时,就是直接读取,其实针对xml也可以直接读取,但是太麻烦了,为啥不针对它自身的一些性质,再集成一些处理方法呢,所以我们前人就创造了好多技术。   大概有两种思路,一是基于树结构处理的Dom解析,另外一种是基于事件模型的SAX解析。树结构Dom解析我理解就是,“不管你...

  • 使用Dom4j解析XML文件

    使用Dom4j解析XML文件

  • 使用dom4j解析xml步骤(基于JAVA)--可直接使用

    使用dom4j解析xml步骤(基于JAVA)--可直接使用

  • 使用DOM4J解析XML文件

    DOM解析器DOM的全称是document object model。DOM解析器在解析XML文档时,会把文档中的所有元素,按照其出现的层次关系,解析成一个个Node对象(节点)。 DOM结构把整个xml文档加载到计算机内存中,此时的内存中存放的xml文档是一个树状结构 在DOM中,节点之间关系如下:位于一个节点之上的节点是该节点的父节点(parent),父节点只有一个一个节点之下的节点是该节点的...

  • 简单使用DOM4J解析XML(如何使用dom4j对xml进行读取)

    首先去下载个DOM4J的jar包,以下两个网站选一个吧,下载后导入项目 http://www.jdom.org/docs/apidocs/index.html www.jdom.org 实现过程如下: 我的XML文件命名变a.xml,路径在项目目录下,假如其内容如下: 代码实现如下: import java.io.File; import

  • 使用Dom4j解析XML

           dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.        对主流的Java XML API进行的性能、功能和易用性的评测,d...

  • 一、dom4j技术--使用dom4j解析xml文件

    dom4j解析xml文件 一、导包,编写bean类和测试类 二、编码测试,通过dom4j生成bean对象 books.xml <?xml version="1.0" encoding="UTF-8"?> <books> <book sn="SN12341232"> <name>辟邪剑谱</name> <price>9.9</price> <author>班

  • 在java项目中如何利用Dom4j解析XML文件获取数据

    在以前的学习.net时经常会遇到利用配置文件来解决项目中一些需要经常变换的数据,比如数据库的连接字符串儿等。这个时候在读取配置文件的时候,我们通常会用到一个雷configuration,通过这个类来进行直接读取,可以说这是程序中直接封装好的,包括配置文件中书写的格式等等。那么,如果,想要在配置文件中写一些其他的数据,直接以XML文件的格式进行书写,这个时候在后台如何读取XML文件中的数据呢?这里利

  • JAVA如何使用Dom4j解析xml的DEMO案例

    首先导入Dom4J的jar包(密码:kjv8)打印出xml文件中地产公司的id,名称和地址demo01.xml<?xml version="1.0" encoding="UTF-8"?> <companys> <company id="1001"> <name>万科A</name> <address>广东深圳</address> </company>

  • Dom4j解析XML(详解)

    Dom4j解析XML(详解) DOM解析 SAX解析 使用Dom4j解析XML 结合XPath解析XML

  • Dom4j完整教程

    转载自:http://blog.csdn.net/chenweitang123/article/details/6255108 Dom4j的相关知识点.比较系统.     目录 1、DOM4J简介 2、XML文档操作1       2.1、读取XML文档:       2.2、获取根节点       2.3、. 新增一个节点以及其下的子节点与数据       2.4

  • 使用dom4j解析xml的方法

    String res=" &lt;Request&gt;" + "&lt;Param&gt;" + "&lt;Name&gt;&lt;![CDATA[startdate]]&gt;&lt;/Name&gt;" + "&lt;Value&gt;&lt;![CDATA[2022-01-01]]&gt;&lt;/Value&gt;" + "&lt;/Param&gt;" +...

  • XPath 语法规则

    XPath 语法规则 XPath使用路径表达式去确定XML文档中的节点。 我们将利用下面的XML文档描述XPath语法       C2688-67037    LCD液晶显示器    1    358.00          C2688-67061    音箱    1    16.50          C2688-67010    鼠标    1    8.50  节点定位: XML文挡

Global site tag (gtag.js) - Google Analytics