您的位置:首页 > Web前端 > HTML5

更新换代是这个时代的主题,HTML5不是终点

2014-06-10 12:30 239 查看
原文:更新换代是这个时代的主题,HTML5不是终点

NanShan即时通讯可以明确的说HTML5的革命不是终点,更新换代永远是这个时代的主题,不论Palm的Web
OS还是Chrome OS,Web正在试图使用HTTP协议,HTML作为标记语言试图全面侵入客户端的领域。不过HTML似乎不够强大到全面替代客户端软件。HTML超文本标记语言在更多的时候扮演者排版语言的作用:图片,数据被HTML非常有序的摆在了浏览器里面。

  对于HTML来说或许它有天生的两大弱点,一来布局和数据混合的模式使得网页无法被机器很好的识别。HTML4曾经有段短暂往XML发展的历史,XML加CSS的方式将数据与样式全面分离,不过或许这样的做法过于理想;此后一个过渡性的规范XHTML应运而生,或许从这个名字你就可以看出他是一个XML与HTML混合的标记语言;而机器的互联网(服务器与服务器之间的通信)完全转向了以XML为标记语言,SOAP为通信协议的Web Services。被冠以Web重构的XHTML或许只带给网站设计和开发者更规范的语言,但对用户体验的影响毕竟有限。HTML另外一个缺陷或许是HTTP协议本身引起,无状态的HTTP协议无法像socket一样提供实时变化的数据。或许正是这样的原因那个XMLHttpRequest控件被冠以了一个和荷甲豪门Ajax一样的名字,宛然已是Web的救世主。不过仅仅靠XHTML和Ajax还是无法让Web有足够的能力全面替换客户端软件。

 

  如何让Web做更多客户端软件能做的事情或许是未来HTML的发展方向。不过理想与现实总是存在差距。更多HTML特性的引进不得不考虑一个现实的问题,就是主流浏览器对于这些新标签的支持。占据着浏览器60%的IE系浏览器对于新的HTML标签的支持成了比规范本身更加重要的因素。不过这一切随着iPhone和Android手机的市场份额逐步上升,手机浏览器在以前那个由PC主导的浏览器演进史中发挥了越来越重要的作用。Palm Web OS或许被很多人认为是第一个使用HTML加JavaScript开发手机应用程序的先驱。不过这样的先驱或许应该是苹果公司。在没有开放iPhone
SDK前,苹果公司一直鼓励开发者为iPhone开发Web App的应用,为此苹果为iPhone上的Safari浏览器增加了很多客户端的特性,比如在Safari增加一个添加到桌面功能,比如Meta标签中引入viewport,apple-mobile-web-app-capable等特性,目的能让Web应用能够像原生的App那样运行于iPhone之上。不过真正带来革命的是Safari那个WebKit内核对于HTML5支持。

 

  越来越多的手机操作系统,让手机应用开发者幻想能有一个跨平台的中间件,以便为手机开发的应用能够一次编写,到处运行。手机不同的软硬件巨大的差异让这样的幻想依然是幻想。不过iPhone浏览器Safari的WebKit内核被越来越多手机浏览器引入作为自身的网页渲染内核。Android的Chrome Lite、黑莓的新浏览器、以及最早将WebKit引入手机浏览器的Nokia公司正在让WebKit内核不断扩大在手机浏览器中的市场份额。或许将来那个跨平台的中间件的角色将会由WebKit来扮演。得益于WebKit对于HTML5的支持,HTML5的发展不再被不思进取的IE浏览器束缚住手脚。苹果与Adobe那个Flash与HTML5之争更让HTML5走向了前台。iPhone与iPad的热销使得Youtube、Amazon、Hulu、Flickr那些网站们需要考虑是否为这些无法使用Flash的设备提供替代的HTML5的页面,以便他们能够正常使用自身的服务。

 

  或许我们应该看看HTML5为我们带来那些新的特性。

 

  首先我们需要关注的是Video标签。浏览器支持视频播放或许要追溯到十几年前,那个时候Real Networks的RealPlayer,微软的Media Player作为浏览器的插件已经让浏览器具备播放流媒体的能力。不过不具备良好的交互能力(交互能力弱到无法在视频插入一个可点击的广告);需要安装硕大的客户端软件;以及不同版本的兼容性问题使得Flash抓住了机会,最终成为网站采用最多的流媒体播放器。尽管浏览器能够播放流媒体,但都是引入插件的方式的解决。Video标签的引入使得浏览器自身需要具备流媒体播放的能力;而开发者无需再关心用户的浏览器是否安装了必要的插件。不过与Flash相比,目前的Video标签或许只有当时Real
Player和Meda Player浏览器插件相当的水平,在交互能力上还远远落后于Flash。

 

  HTML5值得我们关注的是GeoLocation API。浏览器GeoLocation API的引入或许是移动设备引领HTML5发展最好的诠释。相比PC,移动设备更加关注用户的位置属性。GPS芯片正在逐渐成为智能手机的标配,手机应用开发者可以通过相应的SDK获取手机的位置信息;但对于Web/Wap开发者来说;在GeoLocation API引入前,获取用户的位置信息并提供基于位置信息的服务几乎不可想象。有了GeoLocation API开发基于Web/Wap的类似FourSquare的应用不再是梦想;甚至GeoLocation
API比直接通过获取GPS信息获得更多的位置信息。基站的Cell-ID,Wifi的MAC地址,IP地址都将是位置定位很好的工具,而这些都无需用户的手机具备GPS芯片。

 

  对于HTML5我们还需关注Canvas标签,它是HTML5挑战Flash最有力的武器。Canvas使得HTML不再是一个排版工具,而是一个图像创作工具。熟悉客户端开发的程序员或许对Canvas有着及其深刻的映像,虽然各类编程软件对于Canvas有着不同的定义和用法,相同的是Canvas将绘图能力完全交给了程序员,开发炫丽的报表,开发具备交互能力的游戏或许都有着Canvas的功劳。HTML5的Canvas亦是同理,只是编程语言换成了JavaScript。Canvas使得HTML具备了像Flash那样开发交互游戏的可能。虽然不少浏览器目前只支持Canvas的2D编程,对于3D的Canvas支持将会是浏览器的一个趋势。不过只有程序员擅长的JavaScript还不足以撼动Flash在富媒体领域的地位,不过或许将来或许有一个类似于Flash那样提供给艺术创作者一个可视化的编辑工具的话(由这个工具再转换为JavaScript语言),开发基于HTML5的富媒体或许将与开发Flash一样方便。

 

  HTML5还有一些其他的标签。或许增加什么标签不重要,而在于HTML5自身就是一个Web替换客户端应用的过程中不断迭代的一个标记语言,这或许是HTML5被冠以革命头衔的原因所在。IE must Die,这句话或许是Web开发者对于IE不思进取最严厉的批评,不过如果无法对HTML5提供很好的支持,将会让IE逐渐被其他浏览器蚕食其庞大的市场份额。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐