50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

移动平台上的 HTML5 技术是否华而不实

  • 2013-03-16
  • 本文字数:2553 字

    阅读完需:约 8 分钟

时至今日,HTML5 技术已经不再是停留在纸面上的标准了,越来越多的公司和开发者尝试把 HTML5 技术应用到前端领域,到底 HTML5 能够对移动开发者带来多大的改进?它的前途是否值得期待?社区对此褒贬不一,有人认为 HTML5 的优势无可比拟,机会越来越多,有人则持不同观点,认为有炒作之嫌,HTML5 在实际应用中存在诸多现实问题。

刘铁锋认为基于 HTML 5 的开发会越来越多,主要基于三点原因:

  • 入门的门槛(影响了开发者的基数和成本)
  • 开发的成本(雇佣多个平台开发人员,还是一个平台开发人员)
  • PC 上的发展趋势

同时,他也指出目前 HTML5 的开发还不成熟,可以归纳为以下几点:

  • 浏览器内核能力不够强(渲染速度、界面响应速度、通过 GPU 加速的能力)不够,对于基本 HTML 5 的标准支持并不是最大问题。PC 的浏览器已经接近完全,手机上海豚浏览器的内核已经可以达到 480+, 通过 Facebook 的 Ringmark 测试的 Ring 1 (非广告,只是为了说明技术上的可行性).
  • 浏览器访问移动设备的能力(标准的发展和用户的需求有差距)
  • 浏览器的编程模型的限制(单进程的模型,依赖于 DOM 数据处理的模型)

刘铁锋认为困难是暂时的:

目前手机的硬件能力已经在提升,双核 1G,Android 4.0 的 MTK 山寨手机已经只要 500 块。双核 1.5G 只要 900 块。性能不会是最大瓶颈,那么 PC 上已经跑起来的典型应用,在手机上都会起来。如果对比 PC 上的发展局面,其实已经展示了手机 HTML 5 发展的未来。

王亞暉指出了 HTML5 的两个关键优势:

  • 跨平台特性,基本上有浏览器的地方就能有 HTML5 应用。
  • 相对开发成本较低,学习曲线并没有传统游戏开发那么陡峭。

他提到了自己去年的实际开发经历:

我前半年一直在做一款有点社交和 LBS 性质的纯 HTML5 的 webapp,前端纯粹 HTML5,后端 Scala,现在又在纠集了几个朋友做一款 HTML5 的大型页游,前端 HTML5,后端 node。之所以不选择 Flash 是因为,对于移动平台的支持度很糟糕同时,Flash 本身也是浏览器不稳定因素的诱因之一。

这个(注:指跨浏览器)其实据说挺容易的,我身边是一个以前 Opera 的人在做,据说比 Opera 做 hack 容易的多。我自己也试过把网上一些现成 HTML5 游戏做跨平台跨浏览器移植,确实不是很麻烦,一些现有的解决方案能给人省掉 90%的开发时间,也绝对比我之前适应 Android 各个系统各个分辨率各个商店的体验开心的多。

HTML5+Node.js 基本上是一个天生适合做游戏的搭配,网易不久前出了一个叫 pomelo 的游戏引擎,磊友马上也要出一款 HTML5 的大型页游,我也听说几家大公司也在做类似的开发,同时我认识一个在厦门的团队也野心勃勃的做一款 HTML5 的大型 3D 页游。如果不出意外估计明年底后年初会是一个纯 HTML5 游戏的爆棚期。传统的 web app 也是如此,我前几天去 Mozzila 串门,看了一下 FirefoxOS 上的一些东西,表现还是非常的惊艳。

王亞暉特意澄清了 HTML5 被妖魔化的一些方面:

  • 运算速度慢——这个确实是,尤其是手机上。但计算机行业什么时候运算速度成了限制,想想 5 年前手机的原生程序是什么一个状态,再看看现在的,五六百就能买到一个跑 3D 游戏的智能手机了。而且事实上 iOS 开了一个很好的头,Safari 有硬件加速,所以效率极高,基本上 web app 的延迟是在一个完全可以接受的范围之内。相比较本地处理能力,真正大的问题在网速和电池上。这个确实短期不好解决。但在 PC 上,这也不是问题。
  • 版本分裂——这个基本上跟开发者关系不大,而且真正分裂的焦点是在版本进度把握上。只是一个希望把标准写死了,一个希望更灵活。

对 HTML5 技术持相反意见的开发者也不少。

王斌认为 HTML5 技术是一场炒作,“因为周围,无论国内还是国外,都是叫好不叫座”。具体来说:

  • 功能和性能有限。就拿 HTML5 中最大的亮点 Canvas 来说,想用这玩意取代 Flash,基本是不可能的。Canvas 才提供多少个 API,那几个绘图函数实在太简陋,和 Flash 极其强大的各种特效相比简直大巫见小巫,更别提 Flash 的动画能力了。
  • 用 JS 来做动画和特效,效率太低。Flash Player 里面对各种浮点数、矢量绘图的优化,简直到了超越普通硬件加速的地步。
  • 现在 HTML5 已经开始分裂了,分裂成两个标准。本来就不是标准的东西,还继续分裂···前途简直没有。
  • 开发工具几乎没有,就更别提和 Flash IDE 相比了···
  • 各种浏览器支持的也有限。拿 PC 上的 Chrome 去打开那些所谓的 HTML5 的站点,经常卡死。要知道 Chrome 的核心 dll 一个就接近 50m,这么庞大的东西,支持 HTML5 还这么差,更别提移动设备那些有限的资源了。我是觉得,那些手机浏览器,解析各种 HTML4 的网页都不一定标准,就更别提 HTML5 了··

他总结道:

那些赞美 HTML5 的,基本都是一厢情愿而已。尤其 IE6 都还坚挺,XP 还占据 40% 市场的中国,想推广 HTML5,太难。10 年前有人大呼什么 IPV6\ X64 之类的时代要到了,可目前可以说还是早的很。十年前我就在关注一项矢量绘图技术:SVG,绝对比 Canvas 绘图能力强大,可惜一直没有商业公司推广,以至于现在几乎没人知道。

再进一步,所谓的 HTML5,之所以拿出来炒,最大的原因恐怕还是乔布斯这人,想在商业上踢翻 Adobe。要知道 Flash 一旦成为标准,在对开发者要求极其苛刻的 iOS 平台,一切都将可以绕过苹果的限制。所以乔布斯才出如此极端之做法。现在乔布斯已逝,HTML5 的前景堪忧啊。

除此之外,还有不少讨论者持类似的态度,他们认为 HTML5 存在的主要问题,包括以下几点:

  • 开放式标准带来的问题是,没有能真正提供一个好生态环境及开发体验。很多开发者都有“我不知道该用 HTML5 做什么” 的感觉。
  • HTML5 的权限、API 都不够用,很多本地随手就实现的功能 HTML5 得折腾很久。JS 的调试也很麻烦。好不容易开发出来了,素材,代码都不能加密。
  • 动画效果,HTML5 的加载速度慢,帧率跟本地比明显不够。
  • HTML5 完全是牺牲体验的典型。所谓的跨平台如果是通过增加开发难度,功能性能缩水来实现也就毫无意义了。宁可在一个平台上做 80 分,也不要在两个平台上各得 50 分。
  • 基于 HTML5 的应用,需要浏览器进行执行,如果是 Firefox OS 这类浏览器操作系统,耗电问题可能会得到一定程度解决。但是安卓上的浏览器或 iOS 浏览器再执行 Web 应用,势必会更加耗电。

有关社区讨论的详细内容,读者可以查看知乎社区的相关文章。欢迎读者特别是前端领域的开发者发表对 HTML5 技术发展前景的看法。

2013-03-16 05:374715
用户头像

发布了 501 篇内容, 共 281.0 次阅读, 收获喜欢 64 次。

关注

评论

发布
暂无评论
发现更多内容

第13周总结+作业

林毋梦

甲方日常 12

句子

工作 随笔杂谈 日常

话题讨论 | 程序员们来说一说,你们从编程开始到现在共使用过多少种语言?

InfoQ写作社区官方

写作平台 话题讨论 语言

金九银十:搞定这两个GitHub标星50K开源项目,拿个30k轻松吧?

编程 程序员 面试 算法 架构师

2020年史诗级‘面试宝典’横空而出,金九银十就靠“它”涨薪了

学习 程序员 面试 架构师

5G加速商用,云通信如何推动企业营销数智化

阿里云Edge Plus

CDN百科11 | 如何用CDN加速OSS源站资源

阿里云Edge Plus

Redis-技术专题-Redis知识体系

码界西柚

面经手册 · 第10篇《扫盲java.util.Collections工具包,学习排序、二分、洗牌、旋转算法》

小傅哥

Java 数据结构 算法 归并排序 洗牌算法

Spring 5 中文解析核心篇-集成测试之TestContext(下)

青年IT男

单元测试 Spring5

记一次前端vue相关面试题目和简答案

靖仙

面试 Vue MVVM

Flink SQL 1.11 新功能与最佳实践

Apache Flink

flink

Hadoop 客户端节点

yuanhang

hadoop3

Mac搭建本地koa2项目

靖仙

koa2 本地环境搭建

随笔文,关于”中台“ 的一些“小偏论”

金松(李博源)

大数据 数据中台 中台 数据平台

科普:Java 后端开发常用的 10 种第三方服务

沉默王二

Java 后端 第三方服务

华为HMS:风雨突然,仍求自我

脑极体

作为一个架构师,我是不是应该有很多职责?

架构师修行之路

程序员 架构师

Apache Pulsar 社区周报|08-22 ~ 09-04

Apache Pulsar

开源 云原生 Apache Pulsar 消息系统 消息中间件

如何基于 Flink 生成在线机器学习的样本?

Apache Flink

flink

GaussDB(DWS)应用实战:对被视图引用的表进行DDL操作

华为云开发者联盟

数据库 dll postgre

你不可不知道的Design Thinking

长沙造纸农

设计 思维方式 设计思维 设计实践 设计师

MySQL中my.cnf的配置说明

Matrix Chan

运维 MySQ MySQL 运维 数据库运维

大厂面试爱问的「调度算法」,20 张图一举拿下

Java架构师迁哥

详解增强算术赋值:“-=”操作是怎么实现的?

Python猫

Python 编程

前端 10 问之 TypeScript (第一篇)

局外人

typescript 大前端

MySQL8.0大表秒加字段,是真的吗?

Simon

MySQL

机器学习及信息与认知的逻辑

superman

学习 认知提升 个人提升

Elasticsearch之文档操作

北漂码农有话说

中国移动张浩:AMQP on Pulsar 的设计与应用一览

Apache Pulsar

Apache 云原生 Apache Pulsar 消息中间件 AMQP

Git 中submodule的使用,终于有人说明白了

Java架构师迁哥

移动平台上的HTML5技术是否华而不实_JavaScript_崔康_InfoQ精选文章