近两年来,IT界炒的最火热的发展方向无非是O2O,而炒的火热的技术也无非是HTML5,但实际上,HTML5究竟是什么?能做什么呢?知其然,更要知其所以然,这是中国人对知识真理的追求写照。然而在关于HTML5的问题上,这句话并没有显现出来。HTML5会改变下一代互联网,HTML5潜力无限,这些观点在互联网上多之甚多。为什么呢?HTML5在互联网上究竟带来了什么?这些问题一抛出,全行就愕然了。甚至HTML5究竟是什么,都很难让人阐述清楚。

首先,简单而言HTML5就是超文本标记语言规范的5.0版本,当然对于不同的人来说,HTML5具有不同的意义。对某些人来说,它仅仅意味着”页眉”和”页脚”之类的新标签,以及一系列出现于标记的新属性。对其他人而言,这意味着出现在网络上的新鲜有趣事物,其中包括植入单个浏览器或其他非HTML5规格的技术。

就我个人来讲,近期关注新工作的同时,不时听到有人问,懂不懂HTML5(国内人呢亲切的简称其为H5),我的回答都是:”我认为的HTML5其实应该是HTML+CSS+JS,对于新一些的浏览器,我们可以选择使用HTML5的部分新特性+CSS3,而实际应用中大部分还是使用HTML4或者说是XHTML的一些内容,通常来讲,HTML5如果不是用于特效等需新特性支撑的地方,它也就是个规范而已,对于搜索引擎的抓取,有那么一些优势”,当然,这也是我个人的理解,大家可以不必认真。

显然,了解HTML5的真正意义正是我们许多人所面临的第一个瓶颈。坦白地讲,关于HTML5的定义真是太多了。

根据万维网联盟(W3C)的定义,HTML5包含超过100种与下一代网络技术有关的规格。不难发现,W3C通过将这100多个规模置于HTML5的名称之下,过于简化了实际情况。虽然我们难以将像HTML5这样广泛的事物,以模糊的方式对其定义,我还是相信W3C试图通过引进HTML5这个统一的概念来解释变化多端的网络环境。

事实上,HTML5是一个描述用于帮助开发者创建下一代网站和应用的HTML、CSS和JavaScript规格的涵盖性术语。这个定义中最显眼的三个部分是:HTML、CSS和JavaScript。他们定义了开发者如何使用优化标记,风格更丰富的性能,以及新JavaScript API来制作最新的网络开发功能。简单而言,HTML5=HTML+CSS+JavaScript。

HTML5主要关于HTML、CSS和JavaScript的变化。这三者描述了HTML5的宽度和范围,这样你就无需担忧关于100多种规格的问题。

还是觉得这有点简单化?有可能,但你很快就会看到,HTML5的广泛定义并没有像你选择的(值得投入时间和精力的)技术那么重要。

往往越简单的东西,越难以说明的东西都越是深奥,HTML5也是一样。唯一的希望就是HTML5能够给我们带来一点实际的东西,我到是在某网站上看到一个动画。能够拿来做出案例,应该是经典之作了,感觉其效果也和flash差不多。难怪有网游在看到某HTML5网页游戏过后,大呼:五年前我就能用flash做出来的东西,HTML5就只能做这些?我们希望HTML5能够带来更多的东西!

在极客公园上看到有篇文章——《关于HTML5的四个谎言和惨痛的500天》,吐槽了关于HTML5的四大谎言。

谎言一:用户使用一个 Native App 的时候要去 App Store 搜索,这一过程繁琐不友好。

谎言二:Native App 的更新频繁,用户对更新感到厌烦。

谎言三:下载和更新 Native App 耗费流量,流量花费影响用户使用。

谎言四:用户不愿意下载太多的 Native App。

2012 年 HTML5 全球范围的热度很快传输到了中国,行业掀起了一场大论战「Web App 和 Native App 在 3 年或 5 年内谁生谁死」。可是不成想,就在当年 HTML5 话题在中国最热的时候,欧美接连传来坏消息,众多大牌的 HTML5 拥护者纷纷反水:如 Facebook 承认 HTML5 移动战略的错误、苹果 App Store 拒绝充当包壳的 Web App 发行渠道等等。很快中国力挺 Web App 和 HTML5 的排头兵们纷纷偃旗息鼓,为数不多的当时获得 VC 青睐的 HTML5 创业公司也在 2013 年被迫转型甚至解散。直到 500 天后的 2014 年,一只再次挑动了 HTML5「神经的猫」出现才打破这一悲观的趋势。

2014年10月28日,W3C的HTML工作组正式发布了HTML5的正式推荐标准(W3C Recommendation)。W3C在美国圣克拉拉举行的W3C技术大会及顾问委员会会议(TPAC 2014)上宣布了这一消息。 HTML5是万维网的核心语言 -可扩展标记语言的第5版。在这一版本中,增加了支持Web应用开发者的许多新特性,以及更符合开发者使用习惯的新元素,并重点关注定义清晰的、一致的准则,以确保Web应用和内容在不同用户代理(浏览器)中的互操作性。HTML5是构建开放Web平台的核心。

万维网联盟创始人Tim Berners-Lee评论说, “今天,我们想做的事情已经不再是通过浏览器观看视频或收听音频,或者在一部手机上运行浏览器。我们希望通过不同的设备,在任何地方,都能够共享照片,网上购物,阅读新闻,以及查找信息。虽然大多数用户对HTML5和开放Web平台(Open Web Platform, OWP)并不熟悉,但是它们正在不断改进用户体验” 。

HTML5带来了一组新的用户体验,如Web的音频和视频不再需要插件,通过Canvas更灵活的完成图像绘制,而不必考虑屏幕的分辨率,浏览器对可扩展矢量图(SVG)和数学标记语言(MathML)的本地支持,通过引入新的注释信息以增强对东亚文字呈现(Ruby)的支持,对富Web应用信息无障碍新特性的支持,等等。

为实现”一次编写,多处部署”的承诺,在过去的22个月中,W3C技术社区不断丰富HTML5测试套件,其中包括超过100,000个测试用例,并且测试用例的数字仍在不断增长。Test the Web Forward社区的努力对增强开放Web平台的互操作性起到了日益重要的作用。

随着今天HTML5标准的正式发布,HTML5技术使用者将HTML5标准的免费授权承诺中获益。有从超过60家公司根据对W3C的专利政策对HTML5标准中所涉及到的专利进行了免费授权。采用Web技术的开发者将无须支付任何专利费用,这对于进一步鼓励基于Web平台的创新是至关重要的。

至此,HTML5热潮依然在不断膨胀,依然有很多互联网公司把HTML5当作神一样的存在,之前有公司约去聊项目,打算基于HTML5做手机游戏,在我以我的经验劝说之后,果断还是选择了Native App。而在这场HTML5的热潮中,前端工程师也被列上了头条,正因为对HTML5热捧,让前端工程师这个职位显得异常重要,很多HR联系时聊到,公司原本是写Java或者PHP的后台开发人员之间写前端部分,现在公司决定招聘专职前端,分离前后端开发。这无异于前两年包括现在都Android都非常火的情况,其实前端对于普通懂Web开发的人来说无非类似于Android对于Java,都是一类东西,只是在某一方面需要略用心即可,话说回来,这些也只有做过才知道它有多少含量。