常州市新北区典雅商业广场2号楼501、502、525、526
目前网上已经有不少的HTML5演示代码,甚至商用网页了。或许是因为仍处于起步阶段的缘故,我们看到的更多是一些分散的特性,而不是浑然一体的一只大象。HTML技术的奇妙之处就在于,人们永远可以基于现有的、成熟的、分散的技术,来组合实现强大的功能,就好象HTML4+CSS+AJAX+JSON+...这些组合一样,所以我们也有理由相信,几年之后HTML5的成熟应用所展示出来的功能和效果,或许会让人们忘记它和本地应用之间的差别。
那么现在开发者们都在做些什么呢?从我接触到的一些身边的一些HTML爱好者,开源社区的开发者,论坛的技术人员...等来看,大致有以下几类(有些分类不太严格,毕竟大家都处于摸索阶段):
1)框架,或者引擎
如前所述,HTML5确实定义了不少新接口,但就如同不是任何网络应用开发者都希望自己直接操作Socket一样,开发者们肯定希望基于一套功能强大且性能稳定的库来开发自己的应用。像游戏这类开发,人们就需要一个引擎,从而把更多精力放在内容和逻辑的创建上。
HTML4时代就有很多著名的JS框架/库,例如Prototype、jQuery等(虽然都号称轻量级,但在Galaxy I9000这种级别的手机上运行起来仍然气喘吁吁,甚至会crash)。现在很多公司也在提供自己的游戏引擎,或是扩展支持HTML5新接口,或是改写以前用于桌面平台的框架/库,使其更适合移动设备...等等。
2)与特定的操作系统整合
毕竟HTML5只是一套标准,各个平台实现基本不一样,有些平台还提供自己特有的接口,所以有些公司会在主流操作系统(例如开源的Android)上,做一些适配甚至是改善性的功能,例如一个适合触摸屏的、甚至多点触摸的游戏引擎。
3)功能改善和增强
我们知道HTML5和JavaScript这类在客户端解释执行的机制与本地二进制应用相比,在执行效率、图形能力等方面都有先天弱势,此外还存在代码知识产权的保护等问题。所以有些公司设计的引擎是在服务器端进行预编译后才嵌入到网页的,这样对执行效率和代码保护都有帮助。
4)开发工具,IDE等
这个貌似只有微软、IBM、Adobe等大公司才有能力做的事情,但一些开源社区或小组织也在默默耕耘,他们的产品可能不是大而全的,但一定是因为某几个很好的feature而吸引使用者的。
5)移植、Demo、再造应用等
在初期这部分开发者比例或许是最大的,比如说有人将一些好玩的iOS或Android应用用HTML5来实现,有人用HTML5实现某个著名的街机游戏等。或许有人会说做这些事情意义不大,但至少这些应用让我们见识到了HTML5的强大:我自己也没想到,一些HTML5的游戏这么快就能在我的智能手机上如此流畅的运行起来了。此外在移植和尝试的过程中,你会率先使用新的接口,率先遇到更深层次的问题,并在调试的过程中获得大量经验值和宝贵的解决方案。
6)媒体、出版行业
其实这是我个人最希望看到:传统媒体和出版行业可以利用HTML5来在互联网领域占领自己的那一片山头,毕竟他们是内容生产者,只要充分利用HTML5这个发布工具,他们就能把传统领域中流失的一部分用户重新又争取回来。而我们(用户)也能在碎片时间中以更好的用户体验(跨平台的、比HTML4更好的),获得更好的内容(而不仅仅是互联网的海量垃圾信息)。
当然还有很多开发者在做一些有意思的事情,,没法一一罗列。作为个人而言,尽早的去接触新的技术总是有益无害的。很多人可能会发现,粗略学了一遍HTML5下来,还是不知道自己该做些什么——好的应用往往是从实际需求而来的,不是拍脑瓜空想出来的。有一个趋势是这样的:我发现越来越少有人写一些“孤岛”式的应用(练手、Demo、定制等除外),不论对本地应用还是HTML5应用都是如此。有实力、技术强的公司和团队往往更愿意从事框架、引擎等基础设施,或是与内容产生相结合、与云相结合的研发。