最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

如何开发LAXCUS分布式应用软件(一):前言

LAXCUS分布式操作系统

集群 并行计算 分布式操作系统 分布式应用软件

复杂任务中,流程的解耦设计

架构 事件驱动 任务管理 异步设计

模块五:作业

本人法海

「架构实战营」

赫卡忒的眼眸:微光手机“夜视仪”是怎样炼成的?

脑极体

集成 ShenYu 网关实现 Dubbo 泛化调用

码农大熊

盘古开发框架 Dubbo网关 泛化调用 ShenYu网关

面向对象的系统分析

奔向架构师

信息系统 5月月更

在线HTML文本提取URL链接工具

入门小站

工具

全链路压测(十一):聊聊稳定性预案

老张

性能测试 全链路压测

【建议收藏】Mysql知识干货(mysql八股文)汇总

利志分享

面试 面试题 MySQL 数据库 面试问题 MySQL InnoDB

抖音严打虚假宣传滋补膳食内容广告主:必须严格监管信息流广告

石头IT视角

模块五作业

HZ

架构实战营 #架构实战营

ftp命令解决文件的上传和下载

爱好编程进阶

Java 程序员 后端开发

机器学习:真正的底层是什么?

海拥(haiyong.site)

5月月更

linux之man命令

入门小站

python之pythonic

AIWeker

Python 人工智能 5月月更

Nacos源码系列—服务端那些事儿

牧小农

源码 nacos

python使用 pywin32 模块操作 excel,Python 操作 excel 系列之五

梦想橡皮擦

5月月更

八、高可用之故障隔离

穿过生命散发芬芳

5月月更 高可用设计

Github已标星80

爱好编程进阶

Java 程序员 后端开发

2021 企业架构(EA)状态调查报告

涛哥 数字产品和业务架构

企业架构

Nginx 的日志

HoneyMoose

java内存模型之happenbefore原则

急需上岸的小谢

5月月更

ElasticSearch入门(三)Logstash实现MySQL数据同步至ElasticSearch

爱好编程进阶

Java 程序员 后端开发

GitHub上14个屌炸天的Java进阶教程、面试真题项目,建议收藏

爱好编程进阶

Java 程序员 后端开发

GitHub持续霸榜!2021年Java核心知识:面试突击版

爱好编程进阶

Java 程序员 后端开发

【愚公系列】2022年05月 二十三种设计模式(八)-组合模式(Composite Pattern)

愚公搬代码

5月月更

百万级电商秒杀架构设计

晨亮

「架构实战营」

架构实战营总结

晨亮

「架构实战营」

模块5 作业

KennyQ

C语言_语句与位运算练习

DS小龙哥

5月月更

JAVA为什么需要泛型?

源字节1号

软件开发 后端开发 小程序开发

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