Day 1 of PDC 2010 is now over and I had the chance to watch the “WPF vNext” session by Rob Relyea. You can follow this link if you want to watch the video on-demand.
Rob starts with an history of Microsoft products from Windows 95 and IE 1.0…
The Blend team was created to build tools that would meet developers and designers needs. They worked closely with the Avalon team (codename for WPF) to make sure the platform was adequate and toolable.
Then the Cider team started their work in order to have a good integration in Visual Studio.
At this point, .Net 3.0 hasn’t shipped yet (it was in 2006), but Microsoft already has the vision of having XAML-based technology in the browser (with what would become Silverlight) and on the phone.
Silverlight & WPF
- focuses on premium media experiences and business applications
- suitable for most other types of application
- complex ISV (Independent Software Vendors) applications
- key scenarios includes DX and Hwnd interop
- bringing key features of WPF into Silverlight
- WPF will support Silverlight hosting in the next version
- great Windows applications
- modern UI
- seamless integration
- rich content
Microsoft adoption of WPF
- Visual Studio 2010
- Expression Studio
- Web Matrix
- Powershell ISE
- more to announce from Microsoft, but not during this PDC…
- integration of the Ribbon in WPF
- improved collections handling in background thread (simplify the problem related to the UI thread)
- improved UI virtualizing and grouping (right now virtualization is disabled as soon as you group data in an ItemsControl)
- seamless integration: new SilverlightHost control (so we’ll be able to have DeepZoom in WPF !)
- hwnd-based will no longer have airspace problem (for example, a Winforms control is always rendered on top of all other WPF controls).
As a conclusion, it’s good to see Microsoft finally giving some information about the future of WPF. The most important part I guess is to understand that Microsoft is still doing improvements on WPF and positioning WPF as the key technology for building apps with modern UI on Windows. We might have more and more applications switching to Silverlight but I’m sure they are still a lot of need for a technology like WPF which can use the whole power of the Windows OS (wheter it’s interop with native code, DirectX or other technologies).
For more information, you can also check-out a blog post from Pete Brown entitled “The Present and Future of WPF“.
In my last blog post, I did a review of a PDC09 Session “Advanced performance tuning with WPF”. Today, I’m doing a review for another very interesting session “How VS2010 was built with WPF ?”. The video is available here.
Why did Microsoft choose WPF for VS2010 ?
- Technological: prove the capabilities of WPF4
- Separated presentation
- Support for long range road map (+10 years)
- Key VS2010 features need it: Editor, Architecture Editor, Parallel tools debugging
- Take an opportunity to give feedback for WPF4: when VS2010 development started, .Net 3.5 SP1 was just shipped and it was the right time to give feedback for the new features and fixes for WPF4.
It is worth noting that VS2010 is a project that is being watched carefully inside Microsoft. We can expect that more Microsoft applications will move to WPF in the next coming years.
What WPF features are used ?
- Declarative UI using XAML
- Styles and templates
- Application Resources
- Interop Win32 (because they did not have the time to rewrite everything using WPF or because features doest not need to use WPF for example de WinForms designer…)
- Integration with the message loop (to deal with particular focus issues)
- New text stack (part of WPF4) based on DirectWrite
- Define data models: a huge diagramming and architectural exercice
- Replace the main window with WPF (only the window not its content !) to start the mix approach (managed/unmanaged, WPF/Hwnds)
- Write new managed components: Window manager, command bar presentation
- Scout with other VS teams
- Test, Test, Test…
What were the challenges ?
- Mixed mode application: native and managed code; WPF and HWNDs (Win32 or WinForms)
- Keep existing extensions working and allow new extensions to take advantage of WPF
- Don’t “stop the train” other teams were working at the same time on the product to add new functionalities
- Text clarity
- Focus management
You can watch the session here if you want more detail and demos of what I mention in this post.
Since a few days now, videos from PDC 2008 sessions are available online (hosted on Channel9) !
Many videos seems to be very interesting and I wish I could have more time to take a look at them. The good news is that the material hosted on Channel9 will be online for a looooong time, so there is absolutely no need to download everything as quickly as possible.
Here is my personal list of the sessions that I watched or I’m going to watch (hoping that next year, I’ll have the luck to watch them in live from L.A :p)
I Paris, next february there will be the TechDays (lot of technical sessions during 3 days). I hope I’ll have the opportunity to go there with the members of .Net team of my company.