写点什么

移动 HTML5 面对的问题

  • 2013-11-11
  • 本文字数:1397 字

    阅读完需:约 5 分钟

近期的一份研究报告,给出了与一般观点相左的结论,性能并不是 HTML5 面对的主要问题;相反,性能分析和调试工具的缺失,以及缺少某些特定 API 才是它的最大问题。

VisionMobile 对全球超过 6 千名开发者进行了调查,分析了超过 3 万款 Android Play 中发布的应用,评测了 42 款 HTML5 框架和工具,并就移动 HTML5 与原生应用之争的话题,访谈了 32 位顶级专家。最终,VisionMobile 对此进行总结,发表了研究报告《 HTML5 如何与原生应用竞争?》。以下是该研究中的一些最重要的发现。该报告划分出四类适合 HTML5 应用的主要市场路径:

  1. 移动浏览器——针对移动设备开发,适合运行在移动浏览器环境中的 Web 应用或网页。
  2. 原生应用包装——将 Web 应用封装到原生应用中,并通过应用商店发布。
  3. Web 到原生转换——使用 JavaScript 编写应用,并编译为原生应用。
  4. 原生的 JavaScript API——针对原生支持 HTML5 的平台编写应用,例如 Firefox OS、Windows 8 和 chrome OS 这样的平台。

该报告中的重要发现包括:

  • 61% 的开发者针对移动浏览器进行开发。
  • 在美国区 Android Play 的应用中,63% 的应用无法使用 HTML5 针对移动浏览器开发,因为浏览器还没有实现这些应用需要的某些 API 。
  • 在美国,37% 的 Android 应用可以使用 HTML5 实现,而如果浏览器能够增加电源管理和 WiFi 相关 API,那么这一数字将能够上升到 58%。
  • 39% 的开发者通过移动浏览器之外的其他三种市场路径创建 HTML5 应用。
  • 在美国,49% 的 Android 应用可以使用原生应用封装的方式;63% 可以使用 Web 到原生转换器的方式;而 98% 可以使用 JavaScript 的方式。

下图展示了 HTML5 吸引人的地方:

而下图展现了开发者对 HTML5 的抱怨:

许多开发者认为性能是 HTML5 的主要问题,但是在采访过这一领域的许多专家后,报告的作者认为性能是个“伪目标”,因为性能会随着硬件的更新换代、JavaScript 编译器的升级、Asm.js 等可选项的涌现等原因,而自动得到改善。在这些专家看来,首要问题与政治有关,更确切的说,由于主流浏览器供应商同时也是移动 OS 供应商,因此他们热衷于通过各自的应用商店来分发应用。Google 鼓励原生的 Chrome 应用,Apple 似乎打算实现最新的 HTML5 标准,但“却遗漏了性能相关的 API,例如 WebGL。”同样地,根据这份报告,HTML5 的神话之一,是开发很简单;但实际上开发很难——因为缺少充足的调试和性能分析工具。

在美国区的 Google Play 中,应用程序最常使用的 API 是:

目前的 HTML5 API 标准的状态,以及浏览器的支持情况,如下图所示:

如果某些特定 API 能够得以实现,那么对不同的市场路径造成的影响如下表所示。表中展现了如果拥有这些 API,使用 HTML5 开发的应用数量将会上升的比例:

市场路径

API

百分比

移动浏览器

电源管理

13%

原生应用包装

电源管理

12%

Web 到原生转换

WiFi

21%

原生 JavaScript API

日历

1.4%

针对 HTML5 领域,这份报告总结出的若干观察和推荐如下:

  • 浏览器应该实现更多的 HTML5 API,首先从电源管理和 WiFi 开始。开发者应该推动浏览器厂家实现更多的 API。
  • 原生 JavaScript 应用需要标准化打包解决方案,以便实现一次打包就能在任何支持的平台上部署的目标。
  • 应该开发设备身份识别 API,以减少与 cookie 和隐私相关的恐惧。
  • 开发者需要能够更好地获得 HTML5 相关知识,包括 HTML5 能够提供哪些能力、真正的优势和缺点。
  • 应该开发调试 API,以便创建一系列调试工具。

查看英文原文: What’s the Problem with Mobile HTML5?

2013-11-11 07:192390
用户头像

发布了 256 篇内容, 共 88.2 次阅读, 收获喜欢 10 次。

关注

评论

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

跟着卷卷龙一起学Camera--CMS

卷卷龙

ISP camera 10月月更

代码开发篇之设计模式

邱学喆

设计模式

爬虫练习题(三)

张立梵

Python. 10月月更 爬虫案例

SQL高效查询建议

雨果

sql

【结构体内功修炼】枚举和联合的奥秘(三)

Albert Edison

C语言 枚举 结构体 10月月更 联合

数据仓库的下一阶段该是什么?

雨果

数据仓库

想学Go Web?先来看看如何搭建一个beego项目吧

Regan Yue

Go Go web Beego 10月月更

干货分享 | MatrixOne系统架构

MatrixOrigin

MatrixOrigin MatrixOne 金海

实时数仓、湖仓一体、流批一体有什么区别

雨果

实时数仓

开发者有话说 | 求知若饥,虚心若愚

Samson

程序员 个人成长 10月月更 成长感悟

【愚公系列】2022年10月 Go教学课程 021-Go容器之切片操作

愚公搬代码

10月月更

开发者有话说|如何成为优秀的前端技术经理

No Silver Bullet

个人成长 技术经理

Python应用之激活码生成器

芯动大师

Python语法 10月月更 激活码生成器

深入浅出MatrixOne Parser

MatrixOrigin

矩阵起源 MatirxOrigin MatirxOne

Python应用之哥德巴赫猜想——偶数

芯动大师

10月月更 哥德巴赫猜想 Python应用

架构师的十八般武艺:可延展性

agnostic

可延展性

Docker远程连接设置

程序员欣宸

Docker 容器 10月月更

Vue3入门指北(十一)watch 和 watchEffect

Augus

Vue3 10月月更

2022-10-07:给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正

福大大架构师每日一题

算法 rust 福大大

golang反向代理实现中的坑位

有态度的马甲

leetcode 106. Construct Binary Tree from Inorder and Postorder Traversal 从中序与后序遍历序列构造二叉树(中等)

okokabcd

LeetCode 算法与数据结构

跟着卷卷龙一起学Camera--PDAF 03

卷卷龙

ISP camera 10月月更

跟着卷卷龙一起学Camera--PDAF 04

卷卷龙

ISP camera 10月月更

Python应用之验证码验证

芯动大师

验证码 10月月更 Python应用

spring入门介绍

楠羽

笔记 spring 5 10月月更

实时数仓、数据中台、大数据平台、湖仓一体各有什么区别?

雨果

数据中台

MFC|MediaPlayer基本功能使用

中国好公民st

c++ qt 10月月更

图像渲染

掘金安东尼

算法 10月月更

移动HTML5面对的问题_移动_Abel Avram_InfoQ精选文章