细数2011年对开发者而言的十个重大事件

openkk 12年前
     <p> <strong>从 Windows 8 开发者预览版的推出到移动版 Flash 的“消亡”,2011年对开发者而言定是重要的一年。</strong></p>    <p> 对软件开发者来说,如果要为 2011 年下个注脚的话,注定是个“多秋之年”。这一年许多重大事件层出不穷,技术变革犹如风景变幻,若要追溯的话最与之相仿的应该是 1995 年了,在那一年 Windows 95 及 32 位计算正式推出。今年,在迈向 Web 编程的道路上我们同样经历了许多重大变迁,下一代 Windows 系统同样令人期待,不同于我们现今所常使用的。此外,许多我们原本认为的“未来”技术似乎突然间又与以往想象并不相同。以下就来细数一下 2011 年中开发领域所发生的一些重大事件。</p>    <p> <strong>1. Windows 8 开发者预览版推出</strong></p>    <p> Windows 8 开发者预览版的发布犹如在开发者社区中投下了一枚重磅炸弹。全新的 Metro 界面及 WinRT API,清楚无疑地表明了微软已无意再执著于传统的桌面市场。你可以对“平板效应”持任何保留观点,但微软显然相信了。除非在正式版(据说将在 2012 下半年,且很可能在 8 月份)推出前微软有了一个新的战略改变,否则我们有理由期待,微软将把早期的传统桌面系统划入“Maintenance only”行列,并最终遗弃它们。或许值得思考的是:倘若真的一个 Windows 8 生态系统形成,像 Ruby、Python 以及 Java 等这些语言如何定位它们的位置呢?在一个纯 Metro/WinRT 模式下,它们可能并不能很好地运作。</p>    <p> <strong>2. HTML5 崛起</strong></p>    <p> HTML5距离真正“完成”还有一段路程。但是在 2011 年,各大厂商纷纷加入对它的支持之中,从浏览器至各种开发工具中都可见一斑。与此同时,许多网站等甚至正式采纳它,特别是在移动设备中。为什么是移动?首先,这得感谢移动浏览器的大力支持——在移动设备上没有 IE 6 的存在。其次,HTML5拥有许多特性可以提高移动设备上的浏览体验。再则,移动开发人员大都倾向于使用前瞻性的、前沿技术,这也得益于大多数情况下他们可以轻装上阵。</p>    <p> <strong>3. Adobe 停止移动版 Flash 开发</strong></p>    <p> 当 Adobe 宣布停止移动版 Flash 的开发时,人们的第一反应通常是“这么快?(译者:这么慢?)”,而不是“怎么会这样”(注:Adobe 近日表态只是不再推出基于移动设备浏览器 Flash Player 的更新版本,而在桌面平台使用的 Flash 及移动设备浏览器之外使用的 Flash 即 AIR,Adobe 将继续支持。此外,其他合作伙伴也可以继续开发它)。但是倘若在日益流行的移动平台上 Flash 无法继续更新,恐怕其在桌面系统上的优势也将难以为继——大多数情况下应是如此。除非你不打算进行移动开发(祝你好运,单就屏幕大小来说大型平板已经不逊于桌面计算机),Flash 已无机会。Flash 的终结可说是众望所归。</p>    <p> <strong>4. Silverlight 遭微软搁置</strong></p>    <p> 在 Adobe 将移动 Flash“冷藏”于 Maintenance-only 仓库之前,微软已开始在 Silverlight 上“急刹车”了。首先,微软表示 Silverlight 将不再应用于各种 Flash 或 HTML5 所实现的方案,由于 Silverlight 已不可能到达“无处不在地安装”程度——就像曾经的 Flash 以及即将到来的 HTML5,微软的这一举措无疑是明智的。同时,微软表示 Silverlight 更多地是为浏览器之外(out-of-browser)的应用程序所准备的,比如 WP7 或企业应用。开发者们随后即发现 Silverlight 的升级及路线图发布不再像以往那么快了;虽然微软辩称 Silverlight 现在已是一项很“成熟的”技术,但是你应当明白。随着 Windows 8 预览版的到来,Silverlight 和 WPF(Silverlight 的 Windows 桌面版兄弟;即 Windows Presentation Foundation,微软推出的基于 Windows Vista 的用户界面框架)都将沦落为边缘角色。唯一的安慰在于 Silverlight、WPF 和新的 Metro UI 及 WinRT system 很相似。在多数情况下,从 Silverlight 或 WPF 应用开发转移至 Metro/WinRT 应用很方便。</p>    <p> <strong>5. Java 7 发布</strong></p>    <p> Java 7 终于发布。在 .NET 生态系统加速圈地的同时,Java 社区却由于 Oracle 对 Sun 的收购似乎陷入了“内战”的泥潭之中。好在,Java 7 还是出来了。这是 Java 迈向现代化进程所跨出的有力一步。但是,对比一下,Perl 也很快将到达6,而C++ 11 亦将很快到来。</p>    <p> <strong>6. iPad 支配平板市场</strong></p>    <p> 当下,已经有很快开发人员开始期待 Android 平板能够冲破 iPad 所构筑的壁垒。不过,目前说来 Android 充其量也只是在 iPad 所开创的平板蓝海中溅起了一点浪花。2012年会是属于 Android 平板的吗?也许。不过也可能是属于 Windows 8 平板的。甚或只是 iPad 将各个挑战者逐一挑落的一年。现下,如果你想开发完全针对平板的应用,还是投靠 iPad 吧,或者打消这个念头(如果你并不喜欢 iOS 开发)。</p>    <p> <strong>7. PaaS 产品盛行</strong></p>    <p> 数年前,我目睹了最初 PaaS(平台即服务)产品的诞生。它与亚马逊此前建立的 Amazon Web 服务不同,我的反应是“Oh,真有意思”。今天,从各种主流平台(.NET、Java、PHP)到小众应用(Ruby on Rails),甚至一些相对陌生的平台(如 OutSystem 的 Agile 平台)上都能看到 PaaS 的身影。有趣的是,其中大多数似乎都是建立于 Amazon Web Services 之上。无论如何,现在我们更关注的是该将应用放到哪个云上,怎么才能解决管理、安全及性能等问题,而不是为什么要这样做。平台的时代已经来临。</p>    <p> <strong>8. 低廉的云工具渐取代桌面工具</strong></p>    <p> 说到云,过去一年中我谈论云工具要远甚于桌面工具。云工具比相应的桌面工具要便宜得多,而且容易使用。很多时候,厂商利用了已有的开源工具,这使它们易于使用和运行,也很容易在云上部署。这是个好主意。对系统管理人员来说,可不情愿看到服务器散列(server sprawl)问题的发生(尤其若对某个操作系统或工具还不甚了解时),而更希望开发团队去使用云服务。云工具可以说是产业的未来,特别是对小企业来说。</p>    <p> <strong>9. JavaScript 日益重要</strong></p>    <p> JavaScript 的重要性是早已周知的。而随着 HTML5 的崛起及 Flash 与 Silverlight 正走在淡出的路上,JavaScript 是唯一变得越来越重要的。jQuery 等框架的日益流行也使它更容易使用。很多推出的新语言无一不是支持编译器转换为 JavaScript 代码,以便透过其进行推广,比如 Google 的 Dart。</p>    <p> <strong>10. ASP.NET WebForms 趋于没落</strong></p>    <p> 多年来,ASP.NET 开发人员只能眼睁睁地羡慕着其他语言的开发人员,比如 Ruby on Rails 开发者,因为 WebForms 的混乱让他们苦不堪言。不过在 2011 年 ASP.NET MVC 不再生涩,今年初微软发布 ASP.NET MVC 3,使得该技术真正成熟了起来。越来越少的开发人员在新项目中使用 WebForms,理由也非常充分。虽然 ASP.NET MVC 还没完全让我喜出意外(部分原因也是因为我一直以来拒绝 WebForms,而使用了一种与 ASP.NET MVC 较相似的方式来写 ASP.NET 程序),不过一切在朝着好的方向发展。.NET 开发者最终将能够获得像 Ruby 与 Java 开发人员那样的代码编写功能。</p>    <p> <strong>最后再提名一个:C++11</strong></p>    <p> 本文前面介绍到了C++11,不过我们有必要将它单独列出来。C++11终于将 C++ 带入了现代化,这也得感谢其“漫长”而谨慎的规范制定过程。它曾经很糟糕,很长一段时间内都被称为C++0X,因为没人知道它什么时候将完成。在没完没了的命名上,它甚至耗费了长达一年多时间来最终敲定。尽管如此,C++11将无疑吸引更多的开发人员进入 C++ 世界,特别是在现在底层与本地(Native)编程日趋于冷门的情形下。</p>    <p> Via  <a href="/misc/goto?guid=4958322958118154020" target="_blank">http://www.techrepublic.com/blog/10things/the-10-most-important-events-for-developers-in-2011/2904</a></p>    <div id="come_from">     来自:     <a id="link_source2" href="/misc/goto?guid=4958322958923947831" target="_blank">www.iteye.com</a>    </div>