`
bzu334fc
  • 浏览: 15219 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Three dying platforms: Flash, Silverlight, Win32

 
阅读更多

Three dying platforms: Flash, Silverlight, Win32
2011年11月28日
   By  
  
  Tim Anderson
  Categories:
  Mobile Rants and Raves Skills Web TechnologiesTags:
  adobe android apple flash google html5 ios microsoft
  It is a little early for a review of the year, but not too early to state that 2011 has brought profound changes to the software development world. Although I am thinking mainly of the client, I would also argue that client and server are so intertwined that both are affected. As an example, I have heard developers moving away from SOAP web services not because of any conviction that REST is a better approach, but because the move away from Windows and towards HTML clients makes SOAP web services more difficult to consume.
  So what's changed? Simply put, three platforms which once seemed strategic are now in obvious decline. Getting the nuance right for these platforms is tricky. Lots of software still runs and is still widely used long after it has ceased to be strategic for the company which supports it. All the platforms mentioned negatively below are still in active development; they are not going away and will still be running ten years and more from today. They come with health warnings though: depending on these platforms means that your software will gradually become more difficult for users to run and will be left behind by new technologies.
  The decline of Silverlight
  In the run up to the launch of Microsoft's Visual Studio 2010 I spoke to a number of Microsoft platform developers. The consensus then was that Silverlight was very important and possibly the future of Microsoft's client. The view was supported by the company's energetic development efforts for Silverlight. It also made a lot of sense: a lightweight, secure, cloud-centric client that escaped the GUI limitations of Win32, worked in the browser or as a desktop application, and as a bonus run on Mac as well as Windows. Silverlight, as I noted in several articles, is client-side .NET done right.
  This is not the place to write a long screed about why Silverlight failed, but rather to note that at the end of 2010 it became obvious that Microsoft was changing direction. At the Professional Developers Conference, October 28-29 2010, it was hardly mentioned, and the company focused instead on HTML and Internet Explorer 9. The full extent of its new strategy was not shown until this year, at the BUILD conference in September.
  It is not only external developers that were surprised by what seemed a sudden change of direction. The same seems to be true of many within Microsoft itself. Nor am I sure exactly when someone decided that Silverlight was no longer strategic, though there are clues in the Silverlight release schedule. When Silverlight 4 was unveiled in November 2009 it was still ascendant. Silverlight 5, due out shortly, suggests that it was still considered important in early 2010. Visual Studio LightSwitch released this year was likely planned in part as a way of boosting Silverlight, since it builds Silverlight applications. But nobody is talking about Silverlight 6.
  Silverlight is still the development platform for Windows Phone 7, but many observers, myself included, believe this will give way to a variant of the new Windows Runtime (see below) in a future version.
  This has been a costly experiment for Microsoft. If the company had done the Windows Runtime, rather than Silverlight, back in 2007, imagine how much stronger would be its position now. That said, it is not all wasted. XAML, the presentation language in Silverlight and in Windows Presentation Foundation, continues in the Windows Runtime, and so does the essence of the cloud-centric, client-secure development model.
  Adobe Flash Deprecated
  Back in 2007 Silverlight seemed to be in part a competitive response to the increasing popularity of Adobe Flash. This month though, Adobe went though wrenching changes of its own, announcing the end of Flash on mobile browsers and a fundamental shift in business strategy away from enterprise development and towards content creation and distribution.
  There are plenty of parallels with the Microsoft case. One is that the changes also came as a surprise to many within the company, who just a few weeks before, at the MAX conference in Los Angeles, were talking confidently about the future of Flash and of Flex, the application-centric SDK for Flash. Here is Doug Winnie, a casualty of the inevitable layoffs:
  The product managers, evangelists, community managers, and developer relations team members found out the news and the way it was communicated at almost the same exact time you did. They are wrestling with the news and your reaction in real time--so please be supportive of them as they dig through everything.
  and here is Duane Nickull:
  While on the 3rd day of my vacation in Mexico, I got the call with the explanation that Adobe is doing a major refocus and as part of that, many of us "enterprise" types are no longer required. "Ãœberflussig" I guess is the correct German word for the situation. Keep in mind that I now speak as an individual, not as an Adobe employee. I missed most of the official story due to the timing of my vacation but caught up with a few news outlets to get the rationale.
  But isn't Flash still going strong on desktop browsers, and the Flex SDK heading for great new things as an open source project at the Apache Foundation? Well, maybe. Adobe is not betting on that though; it is betting on design tools for content, HTML5, and packaging and distributing publications and apps. Its Flash technology is still critical to how that is done under the covers, but Flash itself will be invisible.
  Adobe also says that its LiveCycle middleware will continue to evolve in two specific niches:
  We will continue to sell and support our LiveCycle products in the government and financial services markets, two areas where the LiveCycle value proposition remains especially strong.
  Again, maybe. This sounds more like Adobe keeping faith with some important customers, than a strong future for LiveCycle.
  Win32 Deprecated, .NET changes
  Microsoft announced another profound change in direction at its BUILD conference in September. Although related to the decline of Silverlight, this one deserves its own heading. What we saw was that the Win32 platform on which Microsoft has built its prosperity for the last twenty-one years or so (Windows 3.0 came out in 1990) is now being shunted aside. "Shunted aside" is the right term because it is still there in the forthcoming Windows 8, but it is side by side with the new Windows Runtime (WinRT) and a touch-friendly user interface called Metro. The company's goal is to create a platform that will succeed against Apple's iOS. It runs on ARM as well as Intel x86 and has its own Windows Marketplace, similar in concept to Apple's App Store.
  Leaving aside the merits of WinRT, the big news here is that Microsoft is finally moving away from the Windows desktop on which most of us have done our work day to day for the last two decades. The reasons are obvious: mainly the rise of iOS and the iPad, but also the success of the Mac among developers and at the premium end of the laptop market. Windows was already in decline.
  Your Win32 applications will work forever, but Microsoft's energy is now going elsewhere.
  What about the .NET Framework on the client? It is still there, and thanks to the excellence of the C# language I expect it will be the most popular approach for coding for Metro. Parts of the Framework will no longer work in Metro though, and it may even be that HTML5 and JavaScript, which is equally well supported, will gradually supplant it. Nor do I take the success of Windows 8 for granted; Microsoft may find the tablet market already largely absorbed by iOS and Android.
  That is speculation; but the long-term decline of Win32 is not.
  Platforms ascendant
  If these platforms are in decline, what the ones that are rising fast? That is simple to answer. Apple iOS, Google Android, and HTML5 in general. Are these good for the next two decades as in Win32, or will be on the deprecated list in a few years? That is hard to say; if I had to rate them in order of likely longevity I would guess this:
  1. HTML, JavaScript and CSS
  2. Apple iOS
  3. Google Android
  Predictions though are a dangerous game, and I would be interested in other opinions
  [/b]
  [b]中文导读:即将过去的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.
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics