阅读更多

0顶
2踩

Web前端

翻译新闻 HTML5 之路的绊脚石

2012-09-18 16:25 by 见习记者 车丽 评论(7) 有7425人浏览
任何新技术面临的关键问题之一是,要么被采用并且舍弃那些不能接受它的用户;要么错失新的发展机会,最终变成无关紧要的技术。比如,如果你要在网站开发中使用HTML5技术,这就意味着要舍弃那些仍然使用旧版IE的用户。不过开发者也可以通过兼容工作,让用户也能体验到HTML5的价值,同时也可以利用这个机会,让HTML5技术突显出它的重要作用。

然而,并非所有的事情都能如人所愿。HTML5目前还处于发展的初级阶段,部分特性还不能完美的实现。下面列举出了HTML5的一些不足之处。



1.  IE浏览器

IE浏览器是Web新技术发展道路上的绊脚石。IE6的辉煌时代已经结束,IE7也是这样,即便是IE8,也仍然不能称为一款“现代浏览器”。而IE9对HTML5的支持尚不完全,比如不支持Web Sockets和Web Workers。

由于IE8不支持ECMAScript5,因此开发者必须考虑怎样处理array.IndexOf、array. each、Date.now()、获取和设置属性、处理许多有用的JavaScript包。

在IE8和IE9中,用户可以提交跨源请求,但不能使用XMLHttpRequest。

只有IE10可以称得上是“现代浏览器”,但是它不能在任何低于Windows 8的系统环境下运行。那么有多少比例的用户正在使用IE10呢?

2.  离线存储并不安全

当应用程序出现问题时,需要通过日志对它进行调查研究。但是如果应用程序运行好几天也不能发送一个日志,开发者就需要考虑客户端是否出现了问题。

日志记录会使客户端速度变慢、存储量增长,而且如果在发现问题时才进行日志记录就太晚了。而当前的HTML5技术,允许只存储最新的日志信息,使性能影响降到最低,并且当问题再次出现时,用户能够进行恢复。

当然,理想的做法是在后台写入日志来实现某种形式的离线存储(不影响客户端的响应),这样的话,当出现问题甚至是机器突然重启,日志也能恢复。

这个过程可以通过Webworker中的FileSystem API来实现。然而,当前只有Chrome浏览器支持FileSystem API。

用户可以使用localStorage来代替FileSytem API,可惜localStorage是一个同布API,它的大量的数据将会增加加载时间

更糟糕的是,实际上不能在本地机器上存储未加密的日志,因为它们可能包含机密信息。然而目前的一些简单的日志记录方案看起来非常混乱,性能也不好,由于HTML5中没有针对存储的加密API,开发者还需要自己对这些日志进行加密。

3.  不能很好的支持窗口间共享

有时候你可能想在不同的窗口中共享同一个服务器的连接信息,现在可以使用postMessage来实现,但是你需要有你想发送消息的窗口的句柄。但是如何得知用户当前打开了哪些标签页呢?在Chrome中,不同的标签页使用不同的进程,这种功能对于创建长时间运行的应用程序非常有用。

在Firefox中不支持这一特性,但可以使用SharedWebWorker来代替。

你可以使用onstorage事件来对所有其他窗口进行广播,但问题是,并不是所有的浏览器都能提供进行存储事件的窗口的句柄。

4.  Web Workers细节尚未完全实现

通常情况下,当在HTML页面中执行脚本时,页面的状态是不可响应的,直到脚本完成。而Web Workers是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能和操作。

但遗憾的是,Firefox在Workers内部并不支持WebSockets

无论是Chrome还是Firefox,都不能很好地解决基于代码位置的Worker脚本无法实例化页面本身的问题,因此代码库必须部署在为页面提供服务的同一个web服务器上,并且不能包含在不同层级的页面中,也无法在不更改代码的前提下为脚本文件重命名。尽管规范明确指出,worker脚本应该能够被相关的脚本实例化。

总结

HTML5是美妙的,它让开发者在研究新的、有趣的功能时候更有成就感。但是,当开发者遇到HTML5不能实现的功能或者不能很好支持该技术的浏览器时(特别是用户都在使用旧版IE时),又会充满挫败感。

HTML5正在快速向前发展,并将逐步实现标准化,相信在不久的将来,本文所列出的这些不足之处都将不复存在,届时,用户将有一个完全不同的互联网体验。

英文原文:The Pain of HTML5
0
2
评论 共 7 条 请登录后发表评论
7 楼 pml346680914 2012-09-22 15:04
万恶的IE,害苦了程序员,现在又是HTML新标准的垫脚石。
6 楼 damoqiongqiu 2012-09-20 09:20
从标题一看,我以为HTML5死了,一看内容,我去
5 楼 wxy_620 2012-09-20 08:53
中文都没学好,“殇”...新华字典多翻翻。HTML未死,你就已经盖棺定论了
4 楼 geminiyellow 2012-09-20 07:38
扯,我不否认5有好的地方,但别忘了你就TM一码农,别把自己当艺术家。
你的目标就是讨好用户。别把自己看太高了,什么新技术什么牛B技术,
哦,新技术就可以容忍缺陷了,就技术就是阻碍发展了,别扯了,
一旦没市场,什么都不是。
3 楼 KimHo 2012-09-19 17:22
cuippan 写道
唉,劣币驱逐良币啊

何为劣,何为良?
市场竞争的结果罢了
2 楼 danny_sd 2012-09-19 15:17
殇是啥意思? 不是死了的意思吗?我看还活着呀
1 楼 cuippan 2012-09-19 12:42
唉,劣币驱逐良币啊

发表评论

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

相关推荐

  • 【ubuntu路上的绊脚石】

    fatal error: Eigen3/Core: 没有那个文件或目录 解决方法: 在CMakeLists.txt文件里添加: include_directories(“/usr/include/eigen3”) ** ubuntu路上的绊脚石 ** 原因描述: 18.04无法播放mp4格式的视频,网上...

  • SEO闭门造车,是成功路上的绊脚石!

    那么,SEO闭门造车,是成功路上的绊脚石! 根据以往SEO推广的经验,我们将通过如下内容阐述: 一.SEO思路 通常SEO闭门造车表现在你的SEO思维中: 1.方法单一 对于一些不了解SEO的朋友认为SEO就是文案,而发外链...

  • 不汇报是职场发展的绊脚石

     总之,不汇报或少汇报时,工作都存在着或多或少的问题,也使你少了一些压力和约束,这种不解决问题,不追求进步的放任态度,也成了工作进步,职场进阶的绊脚石。除非这就是你想要的,否则一定要尽快改变,从汇报...

  • 绊脚石上纽扣

    https://zhidao.baidu.com/question/522720374293469165.html SITE_ROOT=os.path.join(os.path.abspath(os.path.dirname(__file__)),) STATIC_ROOT = os.path.join(SITE_ROOT,) 转载于:...

  • IE6:互联网革新路上的绊脚石

     六年前,整个互联网完全被一种浏览器主宰:Internet Explore,特别是IE6. 没有了Netscape与之竞争,加上Windows XP捆绑浏览器销售方式,微软使之在用户...可为什么世界上还有15%到25%的人还在使用那个是在数字旧石...

  • 一小伙用python爬虫除去了减肥路上的绊脚石

    for x in range(5): # 相当于创建了5个爬虫 task = gevent.spawn(crawler(work)) # 用gevent.spawn()函数创建执行crawler()函数的任务 tasks_list.append(task) # 往任务列表添加任务 gevent.joinall(tasks_list) # ...

  • CSS Grid中的陷阱和绊脚石

    (点击上方公众号,可快速关注)英文: Rachel Andrew 译文:大漠www.w3cplus.com/css/css-grid-gotchas-stumbling-blocks.html2017年3月,CSS Grid在几个星期内就被发送到Chrome、Firefox和Safari的生产版本中。...

  • 程序员职业发展的绊脚石-思想的枷锁

    首先、我是一个程序员,从大学毕业到现在,已经工作了近5年的时间,看着现在越来越多的朋友进入IT行业,并且年轻才干的做软件开发的朋友们,个个都是生龙活虎,精兵强将,年纪轻轻的就学习了很多知识,我感觉我们做...

  • ie9 html5 web worker,HTML5之殇

    任何新技术面临的关键问题之一是,要么被采用并且舍弃那些不能接受它的用户;要么错失新的发展机会,最终变成无关紧要的技术。比如,如果你要在网站开发中使用 HTML5 技术,这就意味着要舍弃那些仍然使用旧版 IE 的...

  • JS绊脚石之parseInt

    今天做在线培训系统,因在线测试需要限时。故想通过JS实现计时功能。计时原理如下: 利用setTimeout函数实现计时,每秒让“秒值”加1,如果“秒值”等于60则重置为00且向分钟进位. ... var s=$(this).html().s...

  • 外敌重重自绊自脚?HTML5普及的血泪史

    近几年来,HTML5的大潮似乎是势不可挡。在桌面应用环境中,各大浏览器陆续卷进了Chrome引发的跑分竞赛,对HTML5的支持力度如同磕了药般疯狂;在移动平台上,Flash先后在iOS、Windows Phone和Android上吃瘪,Android...

  • 隐私问题成O2O绊脚石,加强行业监管迫在眉睫

    这样的灰色产业链已经成为O2O发展的绊脚石,仅仅有加强行业监管,最大程度杜绝隐私贩卖的灰色产业链。O2O才干往更高的层次迈进。(文/王易见 QQ:543415188) 转载于:...

  • 腾讯——中国IT业崛起的绊脚石

    关于腾讯与360之争其实没有什么好说的,两个山寨大王的一场戏而已,但是为什么我会偏向360而不偏向腾讯,或者保持中立呢?因为360自3721成功转型后基本上走向了自主研发道路、产品免费使用以致反馈用户;而腾讯不同...

  • call以及apply是阻碍我学习node的第一个绊脚石

    apply&call 然而说简单点只是用来改变指针指向的函数.   它可以:   临时性的调用其他类的方法以及...直接继承,node中不需要申明接口抽象类什么的....转载于:https://www.cnblogs.com/josefa/p/6373481.html

  • el-input无法绑定键盘事件?浅析.native修饰符的作用与原理(绊脚石系列)

    input无法绑定键盘事件之前,我们需要一点铺垫 native介绍 我们在使用vue进行开发时,会有很多不同的组件,它们作为一个个标签填充在template模板中,你是否想过,这些组件既然是标签,那么它们能否监听html标签的...

  • vmware workstatiions pro 17.6.1个人使用免费,不用证书直接安装使用

    虚拟机vmware workstatiions pro 17.6.1个人使用免费,不用证书直接安装使用

  • scipy-1.2.0-cp35-cp35m-linux_armv7l.whl

    scipy-1.2.0-cp35-cp35m-linux_armv7l.whl

  • 基于springboot爬虫高考志愿智能推荐系统源码数据库文档.zip

    基于springboot爬虫高考志愿智能推荐系统源码数据库文档.zip

  • bimdata_api_client-4.3.0-py3-none-any.whl

    bimdata_api_client-4.3.0-py3-none-any.whl

Global site tag (gtag.js) - Google Analytics