在最近的PDC上微软的副总裁Bob Muglia说了类似的话“我们对Silverlight的策略改变了我们要用HTML5来实现跨平台的应用程序”于是乎社区铺天盖地响起了“微软要抛弃Silverlight”的调调。出现这个说法并不奇怪媒体转述一遍再给社区理解一下很正常。但是我觉得奇怪甚至有些恶心的是当事实愈发明朗化的时候冒出的一些莫名其妙兴灾乐祸事后诸葛还在愈演愈烈。这两天我在社区里看的很多说法某些“评论家”连一些基本概念如“Silverlight是Windows Phone 7的开发平台”都不清楚就来捕风捉影实在让我难以继续旁观。其实Bob Muglia的原话是这样的Silverlight will continue to be a cross-platform solution, working on a variety of operating system/browser platforms, but HTML is the only true cross platform solution for everything, including (Apples) iOS platform.Silverlight将继续是一个跨平台的解决方案未来Silverlight将持续工作在各种操作系统/浏览器平台上但是HTML才是目前一切运用真正跨平台解决方案包括苹果的iOS平台。这句话的问题在哪里我看不出任何要放弃Silverlight的意思。微软从一开始就说Silverlight将会跨操作系统及浏览器运行目前是将来也是包括WindowsMac OS及这些平台上的各种浏览器。但是对于移动设备又能怎么办呢苹果的iOS上已经拒绝Flash进入因此拒绝Silverlight也是可以预料的因此Silverlight方面就算尽再大努力也无法实现这点。而苹果是支持HTML 5的因此微软为了发展将HTML作为“跨所有平台”的手段在我看来十分顺理成章。可能Silverlight以后不会进入iOS但并不表示它不会进入Android等其他手机平台而就目前来说Silverlight本身已经是Windows Phone 7的开发平台了。Silverlight之于Windows Phone 7WPF之于Windows就好比CocoaTouch之于iOS及Cocoa之于Mac OS它们都是十分正常的产品及开发平台策略。就拿苹果来做例子吧CocoaTouch只能工作在iOS系统上您担心CocoaTouch被苹果抛弃吗诚然微软的手机才刚刚起步平板电脑更是没有踪影从商业上来说远不如iOS设备成功但是人人都能看到微软对Windows Phone 7的重视WP7是微软不断强调的“三屏一云”战略的重要组成部分而Silverlight就是WP7上的开发环境那么您为什么会担心它会被微软抛弃我看到有些文章的标题类似于“Silverlight失败未来属于移动互联网”于是我就转不过脑子了Silverlight对于微软来说就几乎等同于“移动互联网”您一边看好移动互联网一边觉得Silverlight挂了你让微软情何以堪有人说这次的PDC 2010都没有Silverlight的内容了可以看出微软不要Silverlight了否则怎么没有Silverlight 5的消息我也觉得很奇怪PDC是有主题的这次的主题是AzureIE 9和WP 7因此强调的是云计算HTML 5和移动互联网开发最后一个其实就是Silverlight。事实上Silverlight的内容本就没少只是换了个名字叫做WP 7。我不知道嚷嚷着PDC没有了Silverlight的同学有没有真正看过PDC不过我在看看了很多感觉很爽。我看到了PDC的Keynote演讲上ScottGu就在现场操练Silverlight开发分会场里也在大谈“基于Silverlight开发面向Azure平台的WP7应用程序”、“优化WP7中Silverlight程序性能”“早该知道的WP7开发注意事项”还有与WP7几乎无关的“使用Silverlight 4开发商业应用”“如何在WPF和Silverlight中共享代码”等等太多内容。半年前的Mix 10大会上微软还在大谈Silverlight和WP7只不过打得是Silverlight的旗号而仅过了半年微软打着自己正在全力推广的WP7的旗号来谈几乎相同的话题您怎么就突然崩溃了呢PDC是微软专业会议议程及其有限而微软的技术实在太多没有登上PDC讲台的话题实在太多太多了。去年的PDC还有关于CLR、虚拟化、Windows Server的话题呢这次都看不到了莫非微软要抛弃这些了如果像某些同学希望的这样微软发布了Silverlight 5的消息我估计对于微软铺天盖地的谴责之声就要变成“技术发展太快”了。如果说CocoaTouch只是在iOS设备上运行而Silverlight除了Windows Phone 7以外之前Windows和Mac OS上该有的还有已经在的还在。Silverlight对于微软的重要性不会比CocoaTouch对于苹果的重要性来的差。作为一个Silverlight开发人员原本该干什么现在还是干什么除此之外退可开发WPF进可出手WP7。ScottGu在PDC上接受Scott Hanselman采访时说微软将开发语言、框架、工具进行统一让开发人员可以很自如地进入WP7的开发领域。我对WPF和Silverlight一窍不通但我从没像现在这么羡慕您已经掌握了这部分技术当然其实也没那么羡慕啦我相信自己会学得很快因为在移动互联网的大潮下我可能以后还真要去学习WP7上的Silverlight开发而您已经可以顺利过渡了。如果您还是对Bob的那段话表示纠结的话其实也可以继续看看他的说法了。他和微软Silverlight团队估计也没想到当然现在也意识到事态的严重性于是连续发表了两篇声明一是微软对Silverlight未来的担保二是关于PDC上关于Silverlight那些表态的后续解释其中写到I said, Our Silverlight strategy and focus going forward has shifted. This isnt a negative statement, but rather, its a comment on how the industry has changed and how were adapting our Silverlight strategy to take advantage of that.我之前说到“我们的Silverlight策略和前进的重心转移了”这不是一个负面的说法它只表示业界的现状改变了我们调整Silverlight的策略希望可以利用这种改变。在我看来业界现状的表现之一就是之前我所说的苹果不会接受Silverlight和Flash但它对HTML 5友好。微软不强求Silverlight进入iOS——这是Bob之前所特地强调的设备——而是让Silverlight去迎合HTML 5大潮。例如Adobe在刚刚结束的MAX 2010大会上展示了一款Flash至HTML 5的转化工具那么我猜想微软今后也会这么做吗利用Flash和Silverlight所配备的高度生产力与HTML 5相抗衡也不失为一种竞争手段。当然谁知道呢。此外文章里还谈到过几个月就有下一代Silverlight的消息了不知道这能否让某些朋友松一口气。讨论和争议是好事但是在这个过程中出现了一些声音让我很不满。例如某些同学连Silverlight与WP7的关系都不知道就来指点江山。Ivony写到过类似的意思社区里有一些人看着某个事物不断发展却无力接触一遇任何风吹草动却跳出来幸灾乐祸正如这次Silverlight事件还有上次微软于LINQ to SQL等等。我不知道上次的那些认为微软放弃LINQ的同学看到.NET 4.0中LINQ to SQL的更新LINQ to Entity在最近两届PDC中的表现以及本次PDC上随Azure出现的“LINQ to AzureLINQ to Everything”的演讲是什么感觉。微软的技术一定是有问题的但是我们完全可以用合适的方式来对待受用无穷。当然这方面内容就下