HTML5技术介绍以及优缺点概要
HTML5技术介绍以及优缺点概要
根据W3C的发言稿称:“HTML5是开放的Web网络平台的奠基石。”这种跨平台的网页程序环境通常被称之为“Web标准”的保护伞。HTML5以及JavaScript和CSS相关技术能够让开发者在任何设备上都运行开发丰富的网页应用,并且会有越来越多的企业加入到HTML 5的大平台上来。
据统计2013年全球将有10亿手机浏览器支持HTML5,同时HTML Web开发者数量将达到200万。从如今层出不穷的移动应用就知道,在这个智能手机和将平板电脑大爆炸的时代,移动优先已成趋势,不管是开发什么,都以移动为主。毫无疑问,HTML5将成为未来5-10年内,移动互联网领域的主宰者。
对于Web端而言,HTML5将是一个完整的操作系统。它在不同的底层系统之上,借助于浏览器的实现,封装了统一标准的API允许开发的程序跨设备(PC or Mac or Smart Phone),跨平台 (Windows,MacOS,iOS,Android,whatsoever)的运行。最大的好处,就是一处开发,多处使用。Web端的开发而言,你可以尽情的享受HTML5这种统一封装带来的好处,唯一要等待的就是浏览器对其支持的完善。但这种完善的到来,无疑是确定的。
一、HTML5技术优点
HTML5本身是由W3C推荐出来的,它的开发是通过谷歌、苹果,诺基亚、中国移动等几百家公司一起酝酿的技术,这个技术最大的好处在于它是一个公开的技术。换句话说,每一个公开的标准都可以根据W3C的资料库找寻根源。另一方面,W3C通过的HTML5标准也就意味着每一个浏览器或每一个平台都会去实现。
来自网易博客博主独行冰海从未来发展、用户、开发者和搜索引擎方面进行了阐述,很好的解释了HTML5的优势。
首先,从未来发展来说,2012年Adobe主动放弃移动端Flash技术支持,转向HTML5,国内百度、腾讯等蜂拥与W3C组织合作,宣布参与HTML5标准定制,来自各方面的力量(包括浏览器、开发者、用户等)共同推动HTML5向前发展。据Gartner 公司分析,HTML 5 技术的广泛应用可能还需要 5 到 10 年的时间。对于一门技术来说,可以说,还有一个很大的提升与发展空间。
对于用户来说,提高了用户体验,加强了视觉感受。HTML5技术在移动端,能够让应用程序回归到网页,并对网页的功能进行扩展,用户不需要下载客户端或插件就能够观看视频、玩游戏,操作更加简单,用户体验更好。HTML5的视音频新技术解决了移动端苹果和安卓4.0+,对flash的支持问题。在视音频方面,性能表现比flash要更好。网页表现方面,HTML5中的CSS3特效样式、Canvas、webgl的介入,不仅加强了网页的视觉效果,甚至能够使用户在网页当中看到三维立体特效。
对于开发者来说,HTML5技术跨平台,适配多终端。传统移动终端上的Native App,开发者的研发工作必须针对不同的操作系统进行,成本相对较高。Native App对于用户还存在着管理成本、存储成本以及性能消耗成本。HTML/JavaScript/CSS语言所开发的应用只要一次开发就能进入所有浏览器进行分发。即使是走传统的App Store应用商店渠道,只需要再将底层用HTML5开发的应用“封装”为App,从时间和资金成本上讲远小于跨系统移植。
对于搜索引擎来说,HTML5新增的标签,使搜索引擎更加容易抓去和索引网页,从而驱动网站获得更多的点击流量【2】。
综上总结概HTML5有以下优点:
1、提高可用性和改进用户的友好体验;
2、有几个新的标签,这将有助于开发人员定义重要的内容;
3、可以给站点带来更多的多媒体元素(视频和音频);
4、可以很好的替代FLASH和Silverlight;
5、当涉及到网站的抓取和索引的时候,对于SEO很友好;
6、将被大量应用于移动应用程序和游戏。
二、HTML5缺点
移动浏览器的编程模型还是90年代流行的单进程单线程 (single process single thread),但原生实现(比如用Object C)的APP可以用多线程。移动端编写APP,可以使用多个线程,第一个线程,被称作主线程(main thread),编程的第一原则是don’t do heavy work on main thread。通常只让它处理UI事件等,其他重度的工作让其他背景线程来做。但浏览器只有一个线程,所有的事情都是它干。在台式机上,浏览器编程还没有太多问题,因为够快;但在移动端,这个弊端很明显。
例如比如你在用浏览器看朋友的照片,你发的评论被发到服务器端,此时你接着用手指往下拉屏;此时,服务器端返回信息,评论发布成功,浏览器中唯一的线程可能停止处理屏幕滚动(scrolling)而来处理服务器的返回信息,由于移动设备的处理器(尤其单进程浏览器只能用上单核,即使是多核手机!)和内存(处于省电原因使用低耗电的DDR1,这一点和现在PC使用的DDR3相差甚远)的不给力,完全可能造成滚动处理的不连续。通常手机的刷新率是60MHZ,即每一帧不超过15ms;如果处理的延时大大超过15ms,那么就会出现跳帧,肉眼就能看出来。结果如果你的APP是相对静态的,不需要很多对于照片,多点触摸,多向拉动的处理,那完全可以用HTML5来实现;如果不是,比如信息流的展示,游戏等等,最好还是用原生的去实现。(HTML5实现已经是50%以上的iOS APP的选择。我相信处理能力的提升,将让移动设备的处理不给力带来的体验底下得到改善。而这种处理能力的提高,很大程度上将取决于低耗电高性能CPU/内存的出现,或者电池技术的极大改善。在这一天到来之前,有可能10%的APP无法应用HTML5来实现。并不表示它安全网络应用开发工程师们在学习新技术的同时需要时刻记住网络安全。HTML5所构建的网页和其他语言编写的网页一样容易泄露一些敏感数据。欧洲网络信息安全机构(European Network and Information Security Agency,ENISA)已经警告说HTML5可能并不够安全。
2013年3月,HTML5编程语言的一个漏洞被发现:它允许网站利用数GB垃圾数据对用户展开轰炸,甚至会在短时间内将硬盘塞满。多款主流浏览器均会受此影响。
另外HTML5声音处理是个问题,声音显然在游戏开发中占据重要位置。但遗憾的是,这是HTML5的一大缺陷所在。该平台的可用API相比原生应用环境略逊一筹。
Zynga德国工作室的Paul Bakaus特别提到此缺点。“HTML5面临的首个挑战是声音,这需要进行修复。这是非常简单的道理。我们无法解决此声音问题,是吧?声音是杰出作品的必备要素。这是当前的最大挑战,但我不会因此就说要停止制作这类游戏。”
他解释表示,在他看来网页开发者未来将修复这些声音问题,但要让这变成现实,还需若干必要条件。
他表示,“解决声音问题有两个要点。一点在于我们,就像我之前提到的,我们需要让供应商意识到这个问题,所以我们需要制作游戏,我们需要告诉他们我们游戏存在的缺点;
另一方面,我们需要让供应商承认这是个问题,然后寻找解决方式。我看到大家关注这个技术的图像问题甚于声音问题,这是我最大的担忧。作为技术供 应商,你不会真正从游戏领域的角度思考问题,是吧?你不会发现声音是制作杰出游戏必不可少的要素。我们需要让他们意识到此问题。”【3】
HTML5是web开发世界的一次重大的改变,事实上不管你是否喜欢,它都是代表着未来趋势,不论是桌面应用还是移动应用,HTML5都是创新的主旋律。
【1】 刘杰 浅谈HTML5技术 科技创新导报[D] 2012
【2】 独行冰海 HTML5技术的优势 网易博客 2013
【3】 刘菲菲 七个特点告诉你 HTML5技术到底怎么样 中关村在线 2012