写点什么

移动平台上的 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:374778
用户头像

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

关注

评论

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

远控安全金标准,ToDesk、向日葵、网易UU安全功能盘点,是否能攻破防线

小喵子

远程办公 远程 远程控制软件

RocketMQ半消息对消费者不可见是如何实现的?——事务消息机制揭秘

量贩潮汐·WholesaleTide

Java RocketMQ

热点追踪+精准解读——火山引擎 AI 域名推荐上线!

火山引擎边缘云

域名解析 域名 域名备案 域名系统 AI Agent,

2025年PM产品力领航者大会 | 上海巅峰论道

新消费日报

veMLP x veRL :玩转强化学习训练

火山引擎开发者社区

开发 火山引擎

集成指南:如何基于融云 Flutter IMKit 实现双端丝滑社交体验

融云 RongCloud

如何在通义灵码里使用 MCP 能力?

阿里云云效

阿里云 通义灵码 MCP

高新技术加持下,低代码平台还能进化成什么样?

天津汇柏科技有限公司

低代码

K8s进阶之一文搞懂PV,PVC及SC

电子尖叫食人鱼

Kubernetes 容器

遭遇DDoS攻击为什么不能反击回去?

网络安全服务

CDN 服务器 DDoS 带宽 高防IP

【免费开源】积木报表ElasticSearch数据集使用实战

JEECG低代码

elasticsearch 数据可视化 报表 报表工具

【有奖活动】 放“码”来战,端云一体化挑战赛

HarmonyOS SDK

harmoyos

大型网站架构实战!

程序员高级码农

Java 程序员 架构师

Python 3.14 新特性盘点,更新了些什么?

不在线第一只蜗牛

Python

如何在通义灵码里使用 MCP 能力?

阿里巴巴云原生

阿里云 云原生 通义灵码 MCP

组建小型局域网全攻略:6步搞定设备选择与网络搭建

Ogcloud

组网 局域网 企业组网 公司网络 局域网搭建

具身智能领域,全球Top50国/华人图谱(含具身智能赛道“师徒关系图”)

机器人头条

科技 大模型 人形机器人 具身智能

混合编程会是软件产业发展的必然选择吗?

代码制造者

混合编程

十年一诺:一张SPN获奖证书背后的技术征途

脑极体

通信

AI 调教指南!一文教会你如何在 Trae IDE 中配置自定义规则

火山引擎开发者社区

AI 火山引擎

推理加速新范式:火山引擎高性能分布式 KVCache (EIC)核心技术解读

火山引擎开发者社区

火山引擎

全国首个!字节跳动发布 EthLink,填补以太网 GPU Scale-up 互联协议空白

火山引擎开发者社区

字节跳动 以太网

重磅预告|开源鸿蒙开发者大会2025举办在即

最新动态

【浪潮海岳inDatax数据中台专栏】海岳inDataX“易宝特”流程自动化平台建设与实践

inBuilder低代码平台

HarmonyOS沙箱文件管理与离线包加载机制解析

记忆深处的声音

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

「智元机器人」“稚晖君”彭志辉:机器人不玩“后空翻”,选择实用主义优先路线!

机器人头条

科技 大模型 人形机器人 具身智能

【免费开源】积木报表MongoDB数据集使用实战

JEECG低代码

mongodb 数据可视化 报表 报表工具

【免费开源】积木报表文件数据集使用实战

JEECG低代码

数据可视化 报表 报表工具

Java 原生异步编程与Spring 异步编程 详解

不在线第一只蜗牛

Java spring

微服务架构原理与开发实战!

程序员高级码农

程序员 微服务 架构师

区块链钱包开发全解析:从架构设计到安全生态构建

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

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