阅读更多

15顶
1踩

Web前端

转载新闻 华丽丽的HTML5新特性

2011-07-12 17:15 by 副主编 wangguo 评论(15) 有7227人浏览
    Web2.0带来的丰富互联网技术让所有人都享受到了技术发展和体验进步的乐趣。作为下一代互联网标准,HTML5自然也是备受期待和瞩目,技术人员、设计者、互联网爱好者们都在热议HTML5究竟能带来什么。那么就一起来窥探一下这个还未诞生就已经声名在外的新标准吧。

  在探讨HTML5的新特性之前,先说HTML5究竟离我们还有多远?用一张时间轴来说明两个关键点。



  如图,在2012年,将会由W3C发布候选推荐版,这个版本的发布就代表着HTML5的规范编写已经完成了。而2022年推出的计划推荐版,则意味着至少会有两个浏览器会完全的支持HTML5的所有特性。2022年听起来似乎很遥远,但通过观察现阶段chrome, firefox , safari,IE等浏览器对HTML5的支持程度,可以看出各大浏览器厂商都非常积极。应该不需要到2022年就会有至少两个浏览器支持HTML5。因此现在关注和讨论HTML5,了解HTML5的新特性,为以后的产品规划并非毫无意义。

  HTML5其实是关于图像,位置,存储,速度的优化和改进,以下分别论述。

图像:

  到目前为止,基本上想要直接在网页上进行绘图还是不能轻易完成的,即使是几何图形也不可以。在浏览器当中直接能跟图片的交互操作也很有限,多数是保存和点击。如果希望能够跟图片进行更多的操作或者在浏览器当中画出图形,就需要flash、silverlight 这类插件来帮忙。



  HTML5了解人们的需求,HTML5已经确定引入canvas标签,通过canvas,用户将可以动态的生成各种图形图像,图表以及动画。下面是一个示例网站,展示了不通过插件,使用HTML5直接绘制图片有兴趣的朋友可以自己亲自去试玩一下。



  不仅如此,HTML5也赋予图片图形更多的交互可能,HTML5的canvas标签还能够配合javascript来利用键盘控制图形图像,这无疑为现有的网页游戏提供了新的选择和更好的维护性和通用性,脱离了flash插件的网页游戏必然能够获得更大的访问量,更多的用户。一些统计数据表格也可以通过使用canvas标签来达到和用户的交互,例如某网站对2009年德国的大选情况统计就全部通过了HTML5来实现用户点击和数据的变更,点选某个区域就可以实时的看到该区域各党派选票率,大大增强了统计图表的可读性。



  通过HTML5对图形图像的新特性,未来可能会有在线绘图的工具和应用,人们将不再需要安装painter这类基本的绘图软件,而直接使用基于浏览器的应用。而对用户体验人员和开发者来说,将能够在用户毫不知情的情况下收集和生成用户鼠标的浏览轨迹,从而生成一部分可用的热点图,这对于找出网站的不足,提升用户体验有着重要作用。现在对canvas标签的支持情况如下,可以看到,基本所有的浏览器都已经不同程度上支持了这一特性。



位置:



  这个大头针图标从2010年到2011年在各类应用和互联网上应该是非常火爆了吧?没错,就是地理位置,各处都可以看到人们在签到,查找自己当前的地理位置和周边。作为新标准的HTML5自然也不会置身事外,HTML5通过提供应用接口—Geolocation API,在用户允许的情况下共享当前的地理位置信息,并为用户提供其他相关的信息。

  HTML5的Geolocation API主要特点在于:1. 本身不去获取用户的位置,而是通过其他三方接口来获取,例如IP,GPS,WIFI等方式。2. 用户可以随时开启和关闭,在被程序调用时也会首先征得用户同意,保证了用户的隐私。

存储以及速度:

  现在,web应用的火爆已经是不折不扣的现实,并且相对传统的应用,web应用不需要安装,所占空间小的特性使其具备传统软件应用所不具备的优势,然而,目前制约web应用最大的问题在于网络连接不能够无时无处。在飞机上,汽车上,火车上,有很多地方都无法被网络信号所覆盖,因此web应用也就无法使用。



  HTML5的离线存储使得这个问题迎刃而解。HTML5的web storage API 采用了离线缓存,会生成一个清单文件(manifest file),这个清单文件实质就是一系列的URL列表文件,这些URL分别指向页面当中的HTML,CSS,Javascrpit,图片等相关内容。当使用离线应用时,应用会引入这一清单文件,浏览器会读取这一文件,下载相应的文件,并将其缓存到本地。使得这些web应用能够脱离网络使用,而用户在离线时的更改也同样会映射到清单文件中,并在重新连线之后将更改返回应用,工作方式与我们现在所使用的网盘有着异曲同工之处。



  感兴趣的朋友们可以试下这个网站,就属于便携笔记本的离线应用,可以在离线的时候记录一些便签,在下次上线,或使用其他平台登录时,仍然能够看到之前的记录。

  缓存的强大并不止在于离线应用,同样在于对cookies的替代,目前我们经常使用的保存网站密码,使用的就是cookies将密码信息缓存到本地,当需要时再发送至服务器端。然而,cookies有其本身的缺点—4KB的大小和反复在服务器和本地之间传输,并且无法被加密。对于cookies的反复传输,不仅浪费了使用者的带宽、供应商的服务器的性能,更增加了被泄露的危险。

  Web storage API 解救了cookies, 据现有的资料,web storage API将至少支持4M的空间作为缓存,对于日常的清单文件和基础信息,应该已经足够使用了,毕竟4KB我们不是都使用了这么多年了?速度的提升方式在于,webstorage API 将不再无休止的传输相同的数据给服务器,而只在服务器请求和做出更改时传输变更的必须文件,这样就大大节省了带宽,也减轻了服务器的压力。可谓是一举数得!

小结:

  HTML5的还有很多令人心动的特性和新功能,限于篇幅无法一一举出,但我对于HTML5的前景还是非常看好的,毕竟丰富web应用的大势已经掀起,web2.0的浪潮也正在继续,让我们共同期待HTML5的降临。

  • 大小: 138 KB
  • 大小: 19.8 KB
  • 大小: 54.9 KB
  • 大小: 64.2 KB
  • 大小: 108.8 KB
  • 大小: 26.9 KB
  • 大小: 101 KB
  • 大小: 35.9 KB
  • 大小: 50.6 KB
15
1
评论 共 15 条 请登录后发表评论
15 楼 viviseven 2011-07-14 13:28
能原生支持绘图,不错滴
14 楼 Jekey 2011-07-14 11:48
干嘛不在2222年再推出推荐版,让人看了更2.
13 楼 lxm63972012 2011-07-13 16:16
标题 华丽丽的HTML5新特性
12 楼 zssggg 2011-07-13 16:02
效果看起来确实不错!
11 楼 nakupanda 2011-07-13 15:11
另外, W3C的人应该有人有钱买船票的, 看起来2012不真啊
10 楼 nakupanda 2011-07-13 15:09
以现在浏览器厂商的态度, 标准发不发布好像都不太重要了.
9 楼 cnyangqi 2011-07-13 12:58
太慢了,干。有火狐版本帝的速度就OK了。
8 楼 ruvuoai 2011-07-13 12:39
完全支持了html5的功能后,那浏览器的占用内存会飙升到什么程度呢?难不成我又要升级我的硬件了..
7 楼 witcheryne 2011-07-13 11:19
ray_linn 写道
W3C全是老乌龟~

标准的定制设计除了技术问题,还有多方集团的利益问题。 标准制定也不容易
6 楼 ray_linn 2011-07-13 09:30
W3C全是老乌龟~
5 楼 Arden 2011-07-13 09:21
2022年,晕死,都还有10年,10年都不知道成什么样呢~
4 楼 thewaychung 2011-07-13 09:08
觉得HTML5的视频、音乐元素很好,无需插件即可在网页中播放音视频。HTML5教程
3 楼 kjj 2011-07-13 08:36
2022 就加了几个破特性忙到2022年还是推荐版........................
2 楼 mengyancui 2011-07-12 20:54
看来javascript以后还得火啊!
1 楼 black.angel 2011-07-12 18:35
华丽的本地存储,要搞个DEMO试试。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 曾经使用过的chart控件(mschart,XCL-Chart,vue-echart)

    问题描述: 图形的绘制几乎所有的软件都会多多少少的用到,细数一下chart组件也用过一些了。 刚才开始编程的时候,能够使用的chart组件很少,如果是一般常使用的就是微软mschart,它用在数据量不大的时候,或者示意性的图形中。 那时候mschart效率不过也有些丑,许多时候还需要自己写chart组件,我当时就用vc写过一个线图和柱图,放在胖客户端或者应用中。后来还接触过证券烛图的绘制,这些都是使用gdi进行的,但从效率来说还是可以的。 有一阵cb和delphi比较流行,插件很多,其中也有一些

  • C# MsChart 属性大全

            Chart1.Width = 1024;//图表宽度        Chart1.Height = 450;//图表高度        Chart1.Legends.Add(new Legend());//添加新的曲线标题显示区域        Chart1.ChartAreas.Add(new ChartArea());//添加新的画图区域        Chart1.Chart

  • 股票数据处理仿真

    股票数据处理仿真(代码) 文章目录股票数据处理仿真(代码)1. 数据获取2. 数据探索2.1 统计性描述2.2 可视化展示2.3 其他探索3. 数据预处理3.1 缺失值处理3.1.1 丢弃¶3.1.2 平均数、中位数、众数填充3.1.3 向前、向后填充3.2 标准化3.2.1 线性归一化(min-max normalization)3.2.3 标准差标准化(z-score standardizat...

  • vue 日志框架 log4javascript

    npm i log4javascript import log4javascript from 'log4javascript' Vue.prototype.$log4javascript = log4javascript; var logger = this.$log4javascript.getLogger("main"); this.$log4javascript.setEna....

  • javascript console.log 中文乱码

    在页面head标签里添加

  • JavaScript实现console.log输出不换行

    javascript console.log不换行

  • 精通JavaScript?关于JavaScript的内存与性能问题,你又了解多少呢?

    目录一、何为JavaScript内存与性能二、谈谈关于innerHTML的性能问题?1、使用innerHTML的反面教材2、如何解决三、如何解决类似按钮过多问题?四、事件委托的优点有哪些?五、删除事件处理程序1、删除带有事件处理...

  • JavaScript console.log()函数示例教程

    HTML DOM provides the console object in order to use some auxiliary functions related to the browser. console.log() is one of the useful functions where it will simply print given data, integer, vari....

  • log4javascript

    所周知 log4j的日志系统很好用 但是那是java的 于是有人推出了js的日志系统 log4javascript 使用起来也相当的简单,下载地址 https://sourceforge.net/projects/log4javascript/files/latest/download ...

  • JavaScript的console.log()方法怎么用?

    JavaScript的console.log()方法怎么用?

  • JavaScript浮点数精度问题

    只不过在很多其他语言中已经封装好了方法来避免精度的问题,而 JavaScript 是一门弱类型的语言,从设计思想上就没有对浮点数有个严格的数据类型,所以精度误差的问题就显得格外突出。为了验证该例子,我们得先知道...

  • 关于Javascript的学习心得

    本文特别适合刚开始学Javascript的入门小白,因为博主就是从这一步来的呀~

  • 关于JavaScript的10个小问题

    关于JavaScript的10个小问题

  • 10个非常基础的 Javascript 问题

    我搜索了许多Javascript面试问题,这10个对我来说最重要。让我们深入研究一下。 1.什么是Javascript? Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。 根据MDN,JavaScript(通常缩写为...

  • javascript基本知识之console.log()

    HTML DOM console.log() 方法

  • JavaScript——封装输出log信息的方法

    在开发中,在我们的代码中,我们总需要console.log信息来给我们信息,以便处理和修改代码,找bug。 但是console.log的信息格式确不是我们想要的。下面是我自己封装的一个小方法。 var add0 = function(obj){ ...

  • 关于console.log()输出没效果的问题

    在平时和的开发中我们经常遇到console.log()没有效果,作为小白的我已经遇见不止一次了, 下面来总结一下。 第一种 在vue中我们通常无法输出data里的值,这种通常情况下只有一种那就是data写成date(这个错误小白会长...

  • javaScript中console.log()的用法

    console.log()类似于alert啊,不过不会打断操作。主要是方便调式javascript用的。你可以看到你在页面中输出的内容,不过需要浏览器支持控制台输出。在浏览器界面使用快捷键 F12 就能打开控制台,这个F12 最确切的...

Global site tag (gtag.js) - Google Analytics