(译文)Flash,Silverlight,Win32:2011三大垂死平台
导读:即将过去的2011年见证了技术与行业的许多重大变迁,Flash、Silverlight、Win32三大拥趸众多的主流开发平台在Web和移动的挑战下危机重重。英国资深IT技术记者Tim Anderson最近甚至撰文“Three dying platforms: Flash, Silverlight, Win32”,称三者已经来日无多,来自WebAppTrend的译文全文如下:
现在就来做全年总结似乎还为时过早,但是现在就已经能够看出2011年软件开发领域发生了许多重大而深刻的变革。虽然我是以用户的角度来说的,但是用户与服务提供商一直是紧密联系在一起并相互影响的。举个例子,我听说开发者正从SOAP Web Services转向REST,而他们撤离SOAP Web Services的理由并不是因为REST比其他的方法要好,而是因为用户已经逐渐从Windows转向HTML了,这使得SOAP Web Service不再适合他们的开发了。
具体有哪些变化呢?简而言之,三大平台的战略部署有所减少。三大平台上的变化现在还难以察觉。许多软件在提供商减少投入甚至是停止开发后仍然被广泛使用。而我下面列举的正在衰退的平台,仍然有许多开发正在上面积极部署;衰退并不意味着消失,数十年以后这些平台也许仍然还在运行。我所做的不过是给大家一个善意的提醒:如果你将你的软件部署在这些平台上,那么意味着用户想要使用你的软件将变得越来越困难,而你的软件最终将被新的技术所抛弃。
Silverlight 的衰退
在Microsoft发布Visual Studio 2010时,我曾对开发者表示:Silverlight是非常重要的,并且它有可能成为Microsoft客户端的未来发展方向。而Microsoft的实际开发路线也的确验证了我的想法。Silverlight的确取得了不少成绩:它是一个轻量级、安全的以云计算为中心的客户端,并且不再受Win32的GUI 限制,可以在浏览器或是桌面应用程序中运行,它同时支持Windows和Mac。正如我在之前的几篇文章中提到的,Silverlight是一个非常优秀的.NET客户端平台。
这里并不是要长篇大论讨论为什么Silverlight会失败,而是想要提醒大家在2010年底Microsoft 有意改变开发方向。在Professional Developers Conference(十月 28-29 2010)上,Microsoft 并没有提到他们的新战略方向,而是关注HTML和IE9。直到在今年九月的Build会议上,Microsoft 才正式提出他们的新方向。
不仅仅是其他的开发者对Microsoft 这样的转变表示吃惊,就连Microsoft 内部人员也同样感到意外。虽然在公布Silverlight版本计划时已经有迹象表明Microsoft 有意不再将Silverlight作为公司的主要发展方向,但是我也不知道这个决定具体是什么时候下的。在2009年十一月推出Silverlight4时,公司还有意开发Silverlight 5,这点证明,Silverlight在2010年初还是公司的重要开发计划。今年推出的Visual Studio LightSwitch可以视为Silverlight的升级版,但是Silverlight 6似乎已经不在计划之内了。
Silverlight目前还是Windows Phone 7上的开发平台,但是包括我在内的许多观察员认为,这只是为了给新的Windows Runtime版本一个缓冲期。
这是Microsoft 的一次昂贵的实验。如果公司在2007年的时候就选择Windows Runtime而不是Silverlight的话,那么他将在这一领域取得明显的领先优势。但是,对Silverlight的投入并不是完全在浪费时间。比如Windows Runtime的开发可以继续采用Silverlight中使用的XAML语言,而Silverlight开发中使用的以云计算为中心,有客户端安全机制的开发模型也可以运用到Windows Runtime的开发中。
Adobe Flash已经被放弃了
在2007年的时候,Silverlight还是为了应对Adobe Flash的流行才开发出来的。然而近期,Adobe正在经历一个痛苦的变革,公司宣布结束移动浏览器上的Flash开发。并且出于商业考虑,公司将主要业务将从开发领域转向内容的创建和发布领域。
Adobe的情况和Microsoft相似。公司内部对这一决定也表示相当意外,就在不久前的洛杉矶MAX会议上,Adobe还表示对Flash和Flex的未来充满信心。下面是一些开发者对不可避免的裁员未来的反应:
- 产品经理,宣传人员,社区管理员,开发团队听到这一消息后的反应和你几乎一模一样。他们都被这一消息吓了一跳。
- 在我去墨西哥旅行的第三天,我收到了Adobe正在做大调整的消息,许多像我这样的“enterprise” 类型员工可能面临裁员。这样的情景在德语中应该叫“berflussig”。我尽量使自己公正客观地评论这件事情。由于放假的原因,我错过了许多官方发布的信息,但是通过媒体的报道还是知道了一些相关的消息。
但是Flash在桌面浏览器上不是仍然占有很大的市场吗?Flex SDK在Apache Foundation的开源项目中不是仍然占有重要地位吗?我只能说,也许吧。但是Adobe已经放弃他们了;现在Adobe的主要方向是为HTML5,封装器,应用程序等开发设计工具。
Adobe同时也表示将会继续维护在以下两个市场中的LiveCycle中间件:
Adobe将继续出售并维护为政府和金融市场提供的LiveCycle产品,在这两个市场上,LiveCycle还有很大的商业价值。
然而,这个发言听来,Adobe似乎只是想让一些重要的客户对Adobe继续保持信心,而不是真的想继续推进LiveCycle。
Win32已被放弃,.NET面临改变
在九月份的BUILD会议上,Microsoft宣布了另外一个重大变化。这一变化或许比Microsoft对Silverlight的策略调整更加重大。Microsoft上的Win32平台已经运行了21年(Windows 3.0在1990年推出),但是现在,Win32平台开发可能将在Microsoft的工作计划中遭受“排挤”。“排挤”这一词是相当准确的,因为在将要推出的Windows 8上,我们还能见到Win32的身影,但是它将逐渐被新的Windows Runtime(WinRT)和Metro(提供触屏的友好界面)所替代。公司的主要目标是开发出一个能够和Apple的iOS抗衡的平台。它既能在ARM上运行,又能在Intel x86上运行,并且有自己的Windows Marketplace(类似于Apple的App Store)。
撇开WinRT的优点不谈,这里最大的新闻就是:Microsoft终于从Windows桌面中走出来了,过去的二十几年里,我们一直都在使用Windows桌面。促成Microsoft转变的原因很简单:面对iOS和iPad的日益崛起,Mac在开发者和笔记本市场取得了巨大成功,Windows的市场正在逐渐被吞噬。
你的Win32程序依然可以运行,只是Microsoft将去寻找新的方向了。
客户端的.NET Framework的命运又将如何呢?我想它还是会继续发展的,由于C#的优秀表现,我认为它会成为Metro上的主流编程语言。但是部分框架可能不再适合Metro,而Metro可能也会支持HTML5和JavaScript。Windows 8是否能成功现在还言之过早,Microsoft可能会发现平板电脑市场早已被iOS和Android瓜分。
这些也许是Metro的炒作,但Win32的衰退已经是不争的事实了。
各种平台方兴未艾
如果上面提到的平台都在衰退,那么又有哪些平台正在上升呢?答案很简单:Apple iOS, Google Android和HTML5。在这些平台中,谁能够像Win32一样在下一个二十年里占据主导地位,谁又会在未来几年里就被放弃呢?现在还很难判断出来;如果非得要我给出一个我看好的平台排名的话,那我觉得应该是:
- HTML, JavaScript 和CSS
- Apple iOS
- Google Android