为HTML 5的未来制定学习计划
为了迎接HTML5的未来,程序员们需要掌握哪些技能才可以应对挑战呢?本文 Justin James列出了程序员需要掌握的核心技术的学习计划,以便跟上游戏规则的颠覆者HTML5的步伐。
利用Web技术进行应用开发的趋势已深入人心,甚至web浏览器以外亦是如此。最近披露Windows 8将会为编写运用HTML 5技术的应用提供支持只不过是契合了其在开发界的转变而已。因此问题是:你打算如何应对?
如果你没有在一直地密切跟踪,很容易就会做出这样的猜测,为什么突然之间Web技术会扮演桌面应用开发平台的角色。在正在定稿的HTML5标准里面,添加了一些新的项目,这些项目为HTML目前的文档格式附加上了真正的应用开发能力。过去,庞大的JavaScript框架及浏览器插件是某些相当琐碎的功能之所需。
HTML5依靠添加对视频流、多线程以及异步处理(通过“Web Workers”消息传递系统)、利用套接字直接通信等的支持来改变这场游戏。尽管一个文档格式标准拥有这些能力会吓到某些人(包括我本人在内),但是车轮滚滚,这仍是HTML 5的前进方向,而且它还有苹果、微软、谷歌、Mozilla、Adobe等公司给它撑腰。此外,各种不同的框架的存在让它能够轻易地将Web应用直接与后台的Web服务连接起来。其结果是,对于许多任务来说,HTML 5现在跟Silverlight、Flash、Flex/AIR以及JavaFX等技术一样出色(尽管在某些事情上那些仍做得更好)。
以下就是你希望学习来步入此门槛的技术:
HTML 5: 尽管HTML5作为标准可能尚未完全确定,但是到了这个阶段变动不会太大了。目前,它已经是可用的,并在相当一些浏览器上有了实现。你现在可以开始学习它了。
CSS: 如果你对CSS还不熟悉,现在正是学习它的大好时机。浏览器支持还在不断完善,且现在IE6在市场的份额已经很少,对此开发人员已经觉得可以放心地忽略不计。
Web services: 每一种主流的服务器端开发语言都拥有一个框架或一套库,以便容易地生成web服务,如.NET中的Windows Communication Foundation (WCF)。理解这些基础应该不需要花费太多的学习精力。你也许特别希望学会如何生成JSON的输出,此物正在迅速变成Web应用的通用语。还有,确保你理解了RESTful Web服务。在现代的开发环境下,相对于SOAP来说,尽管它们可能需要花费更多的功夫,但是其可访问性可用性也要高得多。
JavaScript: 相对于传统的ASP.NET或类似开发需求来说,新的应用开发范式需要多一点JavaScript方面的知识。
.jQuery: jQuery已经成为可用的客户端开发框架;它似乎可用包办一切。在利用一组扩展的插件的情况下,如果你想玩点UI的花样,很可能jQuery能帮你忙。
这些技术现在构成了若干不同的开发系统的基础。移动网站就是一条好的途径,靠它可用最少的功夫来达到最多的移动用户。像Appcelerator的Titanium那样的工具允许你在若干平台上(包括桌面和移动)在其系统之内使用web技术。其他的系统,像OutSystem的Agile Platform(免责声明:我跟他们有一些关系,在我的信息披露中有解释)打包了像jQuery这样的库,使得开发桌面或移动web应用变得极其简单。Windows 8,尽管细节仍很含糊,看起来似乎会拿IE9(或彼时的当前版本)作为HTML 5的运行环境,来充当脱离明显的浏览器窗口之外的本地应用。可以推断,这些应用会拥有增强的特权来访问本地资源,也可能其行为会更像是本地应用。
自学上述核心技术可谓聪明的一步,今年9月微软的BUILD大会举办过后,我们就应该了解到该公司Windoes 8的策略调整计划,并能发现还有哪些东西需要我们去学。
联系客服