What will the future be for WPF and Silverlight under Windows 8?
Seeing the first announcement of the HTML5/JS Windows 8 GUI, plenty of WPF and Silverlight developers panicked.
What is the future for these technologies? How will开发者_Python百科 the new and old technologies be able to cooperate? Should we all start developing using an entirely new framework pretty soon?
Does anyone have official sources clarifying the situation a bit?
In the keynote of the build conference they demonstrated the following platform diagram:
WinRT is an object-oriented replacement for Win32, but the Win32 API has not been removed and older applications using the traditional application execution environment will continue to work as expected.
This talk by Joe Stegman at the BUILD conference goes into detail about what to expect.
- "It's the same thing, just now native and now shipping in-box on Windows 8."
- C++, C#, VB: first class programming languages for XAML
- XAML controls are "native" WinRT APIs
- "Things are really consistent between what you're used to doing in Silverlight and WPF and what you may be doing in the future in Windows 8."
So yes, the existing technologies will still be supported. However, in order to make use of the new technologies you will have to build upon WinRT. Using XAML won't differ much from what you are already used to.
The development blog of Windows 8 (BUILD) sheds some light on the background and design decisions.
The new Metro-style user interface of Windows 8 is a complete overhaul, designed up front with a new experience in mind.
We started planning Windows 8 during the summer of 2009 (before Windows 7 shipped). From the start, our approach has been to reimagine Windows, and to be open to revisiting even the most basic elements of the user model, the platform and APIs, and the architectures we support. Our goal was a no compromise design.
... if you want to stay permanently immersed in that Metro world, you will never see the desktop—we won’t even load it (literally the code will not be loaded) unless you explicitly choose to go there! This is Windows reimagined.
However, the development team of Windows 8 recognizes the need to continue supporting the existing desktop interface and applications, and will even continue to improve it. As they discuss in a follow-up post, the gap between Metro style and the traditional desktop is made as harmonious as possible.
But if you do see value in the desktop experience—in precise control, in powerful windowing and file management, in compatibility with hundreds of thousands of existing programs and devices, in support of your business software, those capabilities are right at your fingertips as well.
Essentially, you can think of the Windows desktop as just another app.
So, even if we believe that over time many scenarios will be well-served by Metro style apps, for the foreseeable future, the desktop is going to continue to play a key role in many people’s lives. So we are going to improve it.
The Metro-style interface tries to replace the existing interface where suitable, but where the traditional desktop can provide a better experience, it still can.
Our design goal was clear: no compromises. If you want to, you can seamlessly switch between Metro style apps and the improved Windows desktop. Existing apps, devices, and tools all remain and are improved in Windows 8. On the other hand, if you prefer to immerse yourself in only Metro style apps (and platform) and the new user experience, you can do that as well! Developers can target the APIs that make sense for the software they wish to deliver.
As to whether the existing technologies will still be supported, they mentioned the following:
We will show the brand new tools that allow you to code Metro style applications in HTML5/JavaScript, C/C++, and/or C#/XAML. The investments you have made as developers in all of these languages carry forward for Windows 8, which lets you choose how to best make use of the Windows 8 system services. We talked about Windows 8 being a no-compromise OS for end-users, and it is also a no-compromise platform for developers.
The comment by Jon DeVaan from Microsoft is even more reassuring:
WPF and Silverlight continue unchanged for the desktop. New to Windows 8 is the ability to leverage your WPF and Silverlight knowledge (and code with some changes) to create Metro Style applications.
Silverlight is going to disapear : even its website isn't updated anymore. Microsoft chose to replace it by HTML5. For WPF, you can use the XWML language in Wnddows 8 with C#, but the librairies and objects, namespaces are not the same.
精彩评论