Latest Tweet:
  • Loading...

Silverlight 2 - No Longer in Beta! As most of you probably know by now Microsoft released Silverlight 2 with supporting tools earlier this week. I’ve been following the development of Silverlight closely, and it’s great to see it come out of beta. Hopefully this means more people will seriously consider Silverlight 2 for their applications. I also think we’ll see more and more content about frameworks, patterns and practices built on-top of the Silverlight 2 framework. Since Silverlight 2 have so much in common with WPF and .NET there already is lots of great stuff ported over, but I expect allot more to follow.

I have now upgraded my three main sample applications, WebCam, DiveLog and YouCard, to the RTW bits. It didn’t have to change any code, as I did the upgrade to RC0 when it released. The updated samples are available in my Windows Live Sky Drive folder, as well as embedded at the end of this post. I have also updated the release of Colorful Expression to clearly indicate that Expression Blend 2.0 SP1 is fully supported.

I did a talk at the Victoria .NET User Group about Silverlight this Tuesday, and hopefully got some new readers to this blog. I normally don’t do link-blogging so this is an exception. I’ve gone through my blog archive (27 posts tagged Silverlight) and picked some of the posts I’m most happy with and written a short summary.

Posts related to the Dive Log application

  • TechEd 2008 – Silverlight 2 for Developers
    I wrote the Dive Log application as a demo for my Tech Ed 2008 talk. The post introduces the projects, contains link to a video of my Tech Ed talk, as well as other relevant links.
  • Back and forward navigation in Silverlight 2 using ASP.NET AJAX
    A post that describes how to integrate with the browser history and back/forward buttons. By default Silverlight doesn't support this, but using the HTML Bridge and ASP.NET AJAX you can easily add back/forward navigation and bookmark support to your Silverlight application.
  • WCF Authentication Services, Silverlight and smelly cookies
    One of the great strengths of Silverlight 2 is the ability to easily port your application to the full version of WPF if the browser sandbox becomes to limiting. One of the issues I ran into while porting the Dive Log application to WPF was cookie based authentication against my web services. This posts shows how to authenticate against a ASP.NET Membership Provider from WCF.
  • Porting the Silverlight Dive Log application to WPF
    Once I had authentication working in WPF porting the actual Dive Log application was really easy. It probably didn't take more than a couple of hours, and this post describes some of the things I ran into while porting the app.
  • Printing in Silverlight 2 using CSS and ASP.NET AJAX 4
    Printing is a core requirement in many business applications. The Silverlight 2 printing support out of the box is really limiting, but using the HTML Bridge you can provide a better printing experience for your application. The post discusses different printing strategies, and show how to use ASP.NET AJAX 4 to generate HTML on the client that can be printed using CSS print style sheets.

Posts related to the YouCard application

  • YouCard Re-visited: Implementing the ViewModel pattern
    The YouCard application was a demo I wrote for REMIX Australia back in May. The focus was on the UI side of things, and initially I didn't pay too much attention to the architecture of the application. In this post I go back and refactor the code to use the Model-View-ViewModel / Presentation Model pattern.
  • YouCard Re-visited: Implementing Dependency Injection in Silverlight
    Inversion of Control using Dependency Injection is a really popular and powerful software pattern. It helps you separate your concerns, keep your code testable, loosely coupled and more flexible. In this post I show how you can use Dependency Injection in a Silverlight context using the Ninject framework. The post focuses on how Dependency Injection, combined with the MVVM/Presentation Model pattern can make your code easier to use for UX designers. By using mock-objects that provide design-time test data when the code is consumed inside Expression Blend the job of designing the UI, setting up Data Binding and Data Templates becomes allot easier.

Posts about testing, the HTML Bridge and other tips and tricks

  • Webcam in Silverlight 2 - MacGyver style!
    Silverlight 2 does not support webcam or microphone like Flash does. But if you put on your MacGyver hat, and use the HTML Bridge you can get some basic web cam support in Silverlight. This post shows how you can integrate Silverlight 2 and Flash using JavaScript. The example shows how to capture still images from the webcam in Flash, and use the images in Silverlight.
  • Unit testing asynchronous Silverlight code
    I'm a big fan of the Silverlight Testing Framework and how it support more advanced scenarios like testing asynchronous code. This post shows how to asynchronous features of
    the testing framework to test code that talks to Twitter and Flickr.
  • Silverlight 2 Continuous Integration Testing using WatiN
    Continuous Integration is a great practice I try to use on every project I'm involved with. In essence it's about automating what can be automated of your build- and deployment process. A common thing to integrate is automated unit testing on every checking. The problem is that the Silverlight Testing Framework has to execute inside the browser, making it more challenging to integrate it to an automated build process. This post shows how to use WatiN (Web Application Test in .NET) to drive Internet Explorer and detect if the Silverlight tests executes successfully or not. Using this technique you can call your Silverlight tests from a nUnit test, something that makes it allot easier to integrate into your build process.
  • Efficient testing in Silverlight 2 using tags
    The Silverlight Testing Framework makes it easy to write Unit Tests, Integration Tests and User Interface/Smoke Tests. However, you might not want to execute your integration tests every time you change your code. By using the new tagging feature you can categorize your tests and execute only tests that match a certain tag. The post shows how to pass in a tag from the query string to control which tests to execute.
  • Configuring Silverlight 2 applications using the WCF configuration file
    Silverlight 2 uses a configuration file for all it's WCF service references. It does not have the full configuration API from the .NET 3.5 Framework. However, there is nothing stopping you from adding your own custom XML elements to the configuration file, and write code to read it. This post shows how to add an appSettings-element to the configuration file, and build a class that looks and feels like the .NET Configuration Manager.

<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789