HTML5漫谈(3)--HTML5发展需解决的8个问题

大家对HTML5期望很高,希望它继承Web应用开发简单、部署升级方便、可以跨平台,又能像本地应用那样功能强大,操作体验简便友好。我也在上篇“HTML5为什么这样红”中颠来倒去地讲HTML5如何的天生丽质、为何倾国倾城。然而,要达到大家的期望值,HTML5需要还需要做不少工作。

看来,天将降大任于HTML5也,少不了苦其心志、劳其筋骨、饿其体肤、空乏其身。。。

下面我们就聊聊HTML5技术相对于业务需求,目前存在的一些不足或者说可能制约HTML5业务发展的一些问题。当然,这些不足或问题,并非不可克服,我也会相应谈谈相关的解决对策,供探讨、参考。

1、浏览器对HTML5 的兼容性参差不齐,导致部分HTML5应用无法跨平台

HTML5只是一种技术标准。HTML5应用跨平台的最大风险在于各种浏览器(或类浏览器)对HTML5标准的支持情况,或者称之HTML5标准兼容性情况。

目前,桌面电脑、平板电脑、手机、机顶盒等各类终端上浏览器对HTML5的支持情况参差不齐。

看看以下各种终端平台上的浏览器对HTML5的支持情况,会有直观体会:

移动终端:http://www.html5test.com/results-mobile.html

平板电脑:http://www.html5test.com/results-tablets.html

桌面电脑:http://www.html5test.com/results.html

目前浏览器对HTML5支持情况差异较大的原因主要是因为HTML5技术标准刚出不久,尚未正式发布。目前业界各种浏览器都非常积极支持HTML5标准,从当前的趋势看,过个两三年,大多浏览器对HTML5的支持都会不错。

对策:应建立HTML5兼容性测试体系,并以某种方式强制或有效督促执行。

2、HTML5应用性能较差,导致应用启动慢,操作反应慢

    与本地应用相比,HTML5的应用性能一般相对较差,体现在启动、运行、操作等过程的处理响应速度等。主要是因为HTML5是解释性的脚本语言,通过浏览器内核来解析。因此,HTML5应用性能较差,主要是浏览器引擎的原因。

对策:1)优化应用执行效率,例如V8 JavaScript引擎比一般JS引擎效率高,因为它直接把JS脚本编译成本地机器码再执行,而非传统的执行字节码或直接解析。当然,优化浏览器的渲染等引擎、采用一些脚本、对象缓存技术等也能一定程度提高执行效率。

2)升级终端配置。用更快的CPU,更大的内存。呵呵。

3、源代码对用户可见,容易被拷贝

HTML5同传统的Web网页一样,代码和图片等资源都是可见的,因此很容易被拷贝。

对策:1)对Javascript进行代码混淆

2)将HTML5应用打包成特定格式,以本地应用形式安装,安装后删去程序包,安装在本地的程序文件隐藏存储。

4、HTML5应用的可用性,受制于网络状况的稳定性

HTML5的应用稳定性相对要较差些,原因很多,其中网络状况影响很大。

目前,大多的HTML5应用都部署在服务器侧,通过浏览器访问。对于手机,经常出现网络状况不稳定情况,很可能导致程序包下载等情况,非常影响应用的完整性、稳定性、可用性。

对策:1)将HTML5应用部署在本地

      2)应用访问一次后,缓存应用代码

5、浏览器缺乏对设备能力访问的支持,手机HTML5应用的发展

特别是手机应用,非常需要访问电话、短彩信、电池余量等各种设备能力。我们很高兴看到,W3C成立的DAP(Device APIs and Policy Working Group ),以及WAC( Widget API)都在做相关工作。

对策:早晚会支持的,BAE早就支持了。

6.缺少应用安全体系,影响应用发展和生态环境建立

传统的Web网页,通过限制对本地文件访问等方式,来保证对终端的安全性。然而,HTML5能力已接近本地应用能力,强大的能力是把双刃剑。HTML5脚本程序是纯文本,容易发生代码篡改等问题,因而,如何防止代码篡改,防止恶意代码,限制HTML5应用对一些重要数据的访问,保证应用间的相对数据独立性,保证应用作者的可追溯性等一系列问题,是需要考虑解决的。

对策:应用签名机制+能力声明及分级控制

 

7.HTML5应用不能以单一文件形式分发,影响缺少优秀的HTML5应用开发工具,影响应用的质量和数量

目前HTML5应用大多采用网站或者网页形式,部署在服务器上,并未像本地应用一样打成一个单一软件包进行分发。这样就无法直接套用目前的移动应用商店模式,过度依赖服务器、网络稳定性,也影响应用分发的灵活性。W3C Widget或者WAC Widget等把HTML5应用打包成单一文件的形式,这样既方便应用分发,也可以为用户带来本地应用的使用体验。

对策:把HTML5应用代码打包成单一文件,当然了,需要浏览器支持该文件格式。

 

8.缺少优秀的HTML5应用开发工具,影响应用的质量和数量

目前发Web网页的工具不少,但是专门针对HTML5应用的设计开发工具还很少,这将影响应用的快速丰富。

对策:早晚会有的,不急。

 

如果解决一些这些问题,对于HTML5无疑是如虎添翼。[插播广告]:中国移动的BAE/WAC Widget产品(主页:http://labs.chinamobile.com/bae) 除了支持和遵循HTML5标准,

还支持HTML5应用打包,本地安装使用,移动应用签名机制,对设备能力的访问等,解决了以上大多难题问题。无线城市应用、移动办公等基于BAE开发,取得了很好的效果。 J

最后提一句,HTML5已远不是原来的HTML5,有越来越多的人在做各种事情,让HTML5更加强大,更加美好,这里列一些和HTML5相关的一些新技术或特性。

•    HTML5

•    CSS 3

•    DOM Level 3 Events

•    SVG 1.1

•    WAI-ARIA 1.0

•    MathML 2.0

•    ECMAScript 5

•    2D Context

•    WebGL (3D)

•    Web Storage

•    Web Workers

•    Web Sockets Protocol/API

•    Indexed Database

•    File API

•    Geolocation

•    Device API

•    Server-Sent Events

•    Element Traversal

•    Media Fragments

•    XMLHttpRequest

•    Selectors API

•    CSSOM View Module

•    Cross-Origin Resource Sharing

•    RDFa

•    Microdata

•    WOFF

•    HTTP 1.1 part 1 to part 7

•    TLS 1.2 (updated)

•    IRI (updated)

由上可见,大家都对HTML5的信心和热情。当然,离目的地还有一段路要走,让我们一起同行吧!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Js正则表达式过滤特殊字符、表情的实例代码: let ret = "12312ffds#¥@¥#%^***(()))*)).`@%@¥@¥", val = this.customDeviceName;//特殊字符过滤let pattern = new RegExp("[`~!@#$^*()=|{}':;',\\[\\]./?~!@#¥……*()——|{}【】‘;:”“'。,、?]
1、htmlshiv.js Remy开发的HTML5shiv工具能利用JavaScript在老式IE里创建main,header,footer等HTML5元素。也就是说使用JavaScript能创建这些本来不存在的HTML5新元素。这是什么原理?你可能花几天也想不明白,但谁在意呢!这个脚本几乎是所有正式网站必用
HTML5 火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。 1、使用Canvas绘制直线: !doctype html ht
响应式布局,理想状态是,对PC/移动各种终端进行响应。媒体查询的支持程度是IE9+以及其他现代的浏览器,但是IE8在市场当中仍然占据了比较大量的市场份额,使我们不得不进行IE低端浏览器的考虑。那么如何在IE6~8浏览器中兼容响应式布局呢?这里我们需要借助这
近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。