Windows 8下的WPF和Silverlight的未来是什么?

时间:2011-06-05 18:13:01

标签: wpf silverlight html5 user-interface windows-8

看到first announcement of the HTML5/JS Windows 8 GUI,有很多WPF and Silverlight developers panicked

这些技术的未来是什么?新旧技术如何合作?我们是否应该很快开始使用一个全新的框架开发?

有没有人有官方消息来澄清情况?

2 个答案:

答案 0 :(得分:13)

keynote of the build conference中,他们展示了以下平台图:

Windows 8 Platform and tools

对于Win32,

WinRT is an object-oriented replacement,但Win32 API尚未删除,使用传统应用程序执行环境的旧应用程序将继续按预期工作。

Joe Stegman在BUILD会议上的

This talk详细介绍了会发生什么。

  • “这是同样的事情,只是现在本机,现在在Windows 8上发货。”
  • C ++,C#,VB:XAML的第一类编程语言
  • XAML控件是“本机”WinRT API
  • “在Silverlight和WPF中你曾经做过的事情以及将来你在Windows 8中做的事情之间确实存在一致。”

所以,仍然会支持现有技术。但是,为了利用新技术,您必须在WinRT上构建。使用XAML与您已经习惯的不同。


development blog of Windows 8 (BUILD)阐明了背景和设计决策。

Windows 8新的Metro风格用户界面是一次彻底的改造,在设计之前就考虑到了全新的体验。

  

我们在2009年夏天开始计划Windows 8(之前   Windows 7发货)。从一开始,我们的方法就是重新构想   Windows,并且即使是最基本的元素也可以重新访问   用户模型,平台和API,以及我们的架构   支持。我们的目标是不妥协的设计。

     

...如果你想永远沉浸在Metro世界中,你会的   永远不会看到桌面 - 我们甚至不会加载它(字面意思是代码会   除非你明确选择去那里!这是   Windows重新构想。

但是,Windows 8的开发团队认识到需要继续支持现有的桌面界面和应用程序,甚至会继续改进它。正如他们在a follow-up post中所讨论的那样,Metro风格与传统桌面之间的差距尽可能地和谐。

  

但如果您确实看到桌面体验的价值 - 精确控制,   在强大的窗口和文件管理中,兼容性   成千上万的现有程序和设备,以支持   您的商业软件,这些功能是正确的   指尖也是。

     

基本上,您可以将Windows桌面视为另一个应用程序。

     

所以,即使我们相信随着时间的推移会有很多场景   在可预见的未来,地铁风格的应用程序提供良好的服务   桌面将继续在许多人中发挥关键作用   住。所以我们要改进它。

Metro风格的界面试图替换适合的现有界面,但传统桌面可以提供更好的体验,它仍然可以。

  

我们的设计目标很明确:没有妥协。如果你愿意,你可以   在Metro风格的应用程序和改进的Windows之间无缝切换   桌面。现有的应用程序,设备和工具都保留并得到改进   在Windows 8中。另一方面,如果您想让自己沉浸其中   只有Metro风格的应用程序(和平台)和新的用户体验,你   也可以这样做!开发人员可以定位有意义的API   他们希望提供的软件。

至于是否仍然支持现有技术,they mentioned the following

  

我们将展示允许您编写Metro风格代码的全新工具   HTML5 / JavaScript,C / C ++和/或C#/ XAML中的应用程序。   您在所有这些语言中作为开发人员所做的投资   继续使用Windows 8,它可以让您选择最佳制作方式   使用Windows 8系统服务。我们谈到了Windows 8   对于最终用户来说,这是一个不妥协的操作系统,它也是一个不妥协的   开发者平台。

来自微软的Jon DeVaan的评论更让人放心:

  

桌面上的WPF和Silverlight继续保持不变。新的   Windows 8能够利用您的WPF和Silverlight   知识(以及带有一些变化的代码)来创建Metro Style   应用

答案 1 :(得分:0)

Silverlight将会消失:甚至其网站也不会更新。微软选择用HTML5取而代之。 对于WPF,您可以在Wnddows 8中使用C#中的XWML语言,但是库和对象,名称空间不一样。