Here’s a salmagundi of information and links covering the just-released Beta of the up-and-coming Silverlight 4.
(In case you were wondering, I’m using the term salmagundi to refer to a mishmash of little things. A salmagundi is an salad dish dating back to England in the 1600s made of meat, seafood, vegetables, fruit, leaves, nuts and flowers.)
What’s New in Silverlight 4 Beta?
The short answer is: a lot. The long answer is provided by Tim Heuer (one of the program managers for Silverlight), who’s written a blog article titled Silverlight 4 Beta – A Guide to the New Features, which are:
- Printing API
- Right-click event handling
- Webcam/microphone access
- Mouse wheel support
- RichTextArea Control
- ICommand support
- Clipboard API
- HTML Hosting with WebBrowser
- Elevated trust applications
- Local file access
- COM interop
- Notification (“toast”) API
- Network authentication
- Cross-domain Networking changes
- Keyboard access in full screen mode
- Text trimming
- Right-to-left, BiDi and complex script
- Offline DRM
- H.264 protected content
- Silverlight as a drop target
- Data binding
- Managed Extensibility Framework (MEF)
- DataGrid enhancements
- Fluid UI support in items controls
- Implicit theming
The Tools You Need
Here’s a quick list of what you need to get started with developing with Silverlight 4 Beta.
- Visual Studio 2010 Beta 2 or Visual Web Developer Express 2010 Beta 2. Note that these are the 2010 editions; the 2008 editions can’t be used for Silverlight 4 development. They can be installed side-by-side with the 2008 editions. Both 2010 betas are free-as-in-beer and Visual Web Developer Express 2010 will continue to be free even after the beta period is over.
- Silverlight 4 Beta Tools for Visual Studio 2010. This includes the Silverlight 4 SDK, the Visual Studio 2010 project support and the developer runtime.
- Windows and Mac Developer Runtimes. If you installed the Silverlight 4 Beta Tools for Visual Studio 2010 above, you’ll have the Windows runtime. These runtimes are for test machines. Please note that these are developer runtimes – there aren’t any ready-for-average-user-consumption Silverlight 4 runtimes yet!
- Microsoft Expression Blend for .NET 4 Preview. If you’re serious about building user interfaces with Silverlight 4 (and WPF 4, if you’re using the full-on Visual Studio 2010 Beta or Visual C# Express 2010), you’ll want to use Blend in conjunction with Visual Studio 2010/Visual Web Developer Express.
- Silverlight Toolkit. This provides additional open source controls for Silverlight applications.
- WCF RIA Services. These simplify building n-tier apps by pairing ASP.NET on the server side with client-side Silverlight. They provide a pattern in which you write application logic running on the mid-tier, control access to data, and end-to-end support for common tasks like data validation, authentication and roles using ASPNET’s services.
- You can use the online Silverlight 4 Beta documentation or
- You can download the Silverlight 4 Beta docs in .CHM format.
Getting Started with Silverlight Development
If you’re new to Silverlight development, Tim Heuer’s got a great series of articles on his blog that will get you up and running quickly! You can see the index in his entry titled Getting Started with Silverlight Development or you can hit one of the individual links below:
- Part 1: Really getting started – the tools you need and getting your first Hello World
- Part 2: Defining UI Layout – understanding layout and using Blend to help
- Part 3: Accessing data – how to get data from where
- Part 4: Binding the data – once you get the data, how can you use it?
- Part 5: Integrating additional controls – using controls that aren’t a part of the core
- Part 6: Polishing the UI with styles and templates
- Part 7: Taking the application out-of-browser
Silverlight 4 Videos
If you’re an experienced Silverlight developer, you’ll probably want to check out these videos, which show you how to use the new features in Silverlight 4:
- Network authentication and trusted network access
- COM object access in trusted applications
- RIA support services in Visual Studio 2010
- Local file access
- Asynchronous data validation
- Printing API basics
- DataGrid enhancements
- Using Silverlight controls as drop targets
- MouseWheel API
- Right-click mouse events
- Notification API
- BiDI and right-to-left support
- Accessing the global clipboard programmatically
- Using the ViewBox control
- Hosting HTML content
- Accessing web camera and microphone
Silverlight’s Commitment to the Mac
Jesse Liberty’s MacBook Pro and Cinema Display, running both Win7 and Snow Leopard.
The org chart at The Empire describes Jesse Liberty as the Senior Program Manager of the Silverlight Development Team, but both his business card and he himself will tell you that his title is “Silverlight Geek”. No matter which title you choose, it’s clear that he is the keeper of the Silverlight flame.
When I joined Microsoft and started talking about Silverlight, many in the Mac community expressed skepticism about Microsoft’s long-term commitment to the Mac platform. In its most rabid form, the concern was that we were supporting the Mac only preemptively and would drop our support for the Mac as soon as enough Mac developers embraced it (!)
So, 2.5 years later, with the worst not having happened, I have renewed my personal pledge to make sure, to the best of my ability, that Silverlight not only continues to work on the Mac but looks and feels like a Mac app.
And what’s his machine? It’s a MacBook Pro, running both Windows 7 and Snow Leopard, hooked to a 24” Cinema Display. He writes:
I absolutely understand company loyalty (and loving the Mac is not disloyal to Microsoft) but I tend to believe that we do best in recognizing the strengths of our allies and our competition.