While the attendees of PDC09 likely expected to hear a plethora of announcements regarding Silverlight 3 all hopes were dashed when Scott Guthrie quickly glossed over advancements in Silverlight 3 to make time to talk about... the Silverlight 4 beta!
This episode of Pixel8 Tim Heuer (@timheuer) and Jesse Liberty (@jesseliberty) join Craig Shoemaker (@craigshoemaker) to discuss the new features that excite them as well as projects that have recently caught their attention.
If you aren’t familiar with what’s new, make sure to read Tim’s comprehensive post on new features in Silverlight 4 beta. A point that both Tim and Jesse make is that new features were largely a direct result of customer feedback.
Is WPF Dead?
The announcement of IO support, printing and other features often associated with desktop applications left some wondering the fate of WPF. If the chasm between WPF and Silverlight continues to shrink, how do you choose a platform?
Tim’s advises, if you are targeting Windows, start with WPF. Silverlight is about cross-platform and reach. Both platforms are attempting to be feature compatible. If you must select a “winner” to the debate, perhaps it’s best to say that the winner is XAML. An investment in XAML will keep your options open on the desktop and the web.
Advice on Real World Development
Tim offers some quick tips for real life Silverlight development:
- Invest time in learning the view model pattern
- MVVM seems to be the winner in presentation patterns. Even if the approach is not for you be familiar with the concepts
- Understand a composite model and learn to partition your application
- Look at Prism and realize it’s value for building modular and composite applications beyond it’s MVVM support
- Consider your extensibility points
Designer Developer Workflow
Jesse sees the line of business story a more natural fit in Silverlight 4. By leveraging some of the infrastructure of previous releases, new features offer a richer experience in for common scenarios. For instance:
- Leveraging of the Visual State Machine – where validation logic is server-bound, but the client reflects the outcome of this code
- Fluid UI – animations for different states of a list box
Jesse is heading up the open source Silverlight HyperVideo Player project. The HVP adds in-context links to video content within a video. Jesse is spending time thinking about over all architecture and finer details like accessibility. A particularly impressive feature Jesse is looking to add to the HVP is a generic marking system that will allow markers to change and be added to a video over time. Look for some innovative work for coming from the Silverlight HyperVideo Player.