Day 1 with Silverlight

Wednesday, 16 April 2008 23:26 by snyhol

Below, I share some of my impressions of Silverlight from my first day of using it.  More importantly, I share the educational links I found along the way.  My goal with this post is to provide a useful reference for others who are getting started with Silverlight 2 Beta 1...  and to create an online bookmarking service for myself, so that I can easily find these web pages in the future.

Let's start with those references first:

... and also links to some bloggers who are writing about Silverlight 2:

OK, now let's started with day 1.  First, review some basics about Silverlight and then get started with educational resources.

Silverlight Basics

The Fancy Microsoft Silverlight Overview includes a video and FAQ pages that share Silverlight goodness:

  • growth in internet usage and broadband penetration enables the RIA market <define RIA>
  • RIAs are being used in business apps
  • RIAs can deliver "at home, at work, and on the go" - to the desktop (Windows, Mac, and Linux )via Moonlight, web (Firefox, Safari, Internet Explorer), and mobile (Windows Mobile and Nokia S60)
  • Delivering a good user experience is profitable; users expect compelling content
  • Silverlight 2 Beta 1 comes with a Go-Live license!
  • Silverlight is a subset of WPF; specifically 3D and GPU rendering are not available in Silverlight
  • Silverlight runs on any web server, even Linux servers
  • Silverlight Streaming hosting is available from Windows Live

Scott Guthrie's First look at Silverlight 2 and Adam Kinney's My notes from the First Look at Silverlight 2 are worth reading.  The features I am most looking forward using to are the rich controls and base class library.  This combination means that I can now make a Silverlight application without HTML elements or JavaScript.  Hooray!  Goodbye browser code!  Hello RIA wonderland!  For example, Kathy Kam from the MSDN made a sample page to demonstrate the new controls.

Getting Started, Educational Resources

The Silverlight Community Get Started web page provides links to the latest versions of the tools you need to start working with Silverlight 2. 

I reviewed several resources for learning Silverlight.  They are listed in the order that I recommend them.  The resources toward the top were shorter and covered more basic topics.

  • Tutorials
    • These basic tutorials walk you through starting to develop applications with Silverlight.  The write up and accompanying source code can all be viewed on the web or downloaded.
    • Overall, these were pretty basic and a good introduction to Silverlight.  They only require Visual Studio 2008, so you don't need Expression Blend to follow along.  If you are coming to Silverlight directly from ASP.NET, WinForms, or some other technology, this is a great intro. In fact, this is also a great intro for those who are moving to WPF from another technology. 
    • Tutorial 3 lists the fonts supported by Silverlight 2 Beta 1.
    • Tutorial 4 shows how to bind Silverlight controls to the data returned from a WCF Web Service call (which could return anything, but in this case returns the results from a LINQ to SQL database query).  Bleeding edge stuff. 
    • Coming from WPF, I was able to quickly grok pretty much the entire series... my reaction was "I already know all of this." 
  • Scott Guthrie's 8 part tutorial Digg client sample 
    • This great tutorial seems to do a good job of explaining the big concepts and wrapping them up in a working application.  It walks you through using Visual Studio 2008 to build a Silverlight 2 Beta 1 application and then port it to WPF.
  • Hands-On Labs
    • The Hands-On Labs each link to a download that contains a write up in Microsoft Word 2007 .docx format and at least one Visual Studio solution.  Some of them require other tools to follow along, such as Expression Blend 2.5 or ASP.NET Futures.
    • If you're a Tim Sneath fan, the first Hands-On Lab was written by him.
    • They cover more advanced topics than the Silverlight.net tutorials.
  • QuickStarts 
    • The QuickStarts are kind of like topics from the MSDN Library, but easier to read.  They are full of information and references back to topics in the Library.  You only need Visual Studio to follow along.
  • Whitepapers
    • The whitepapers are actually just useful links to the MSDN Library or other Silverlight articles.
    • The Getting Started white paper uses Expression Blend 2.5 (and not Visual Studio).
  • How Do I Videos
    • The How Do I Videos were designed to be watched after completing the Tutorials. 
  • VisitMix
    • The Visit Mix website is full of great information, particularly videos from Mix08 sessions that you can watch. 
  • Silverlight 1.0 Fire Starter
    • The Fire Starter website provides one day's worth of videos with the goal of getting you productive quickly.  I suspect that it teaches you Silverlight 1.0.
  • ASPAlliance
    • The ASPAlliance article archive includes some whitepapers on Silverlight, mostly from Scott Guthrie's blog.
  • The Code Project
    • The Code Project article archive includes some Silverlight topics, but, as of today, none of them are about Silverlight 2.
  • nibbles
    • The nibbles website hosts video tutorials, mostly on Blend and Silverlight.

More Day 1 Thoughts

Overall, the experience building Silverlight applications will be a positive one.  It is almost the same as developing WPF applications.  Silverlight can be used to build make some really amazing stuff!  I am very excited to see where this platform goes over the next few years.  I am a big believer that RIAs are the future of web development.  Scott Guthrie said, "Note that all controls we put in SL we also plan to support in WPF going forward."  This is nice because it means that the work I put into building a screen in Silverlight should be able to be reused in WPF. 

Here are some things to watch out for:

  • The canvas control is confusing at first because it is invisible.  Temporarily give it a background color to see your working space.
  • The current Visual Studio read-only designer is annoying.  I miss drag & drop controls.  I really should use Expression Blend to build the initial XAML.
  • I also tried porting the XAML from my WPF data-centric app to Silverlight.  My form centered on a customized DataGrid type of control.  Note that the XAML does not easily port from WPF to Silverlight. 
    • There is no ListView control.  I needed to port my ListView code to use a DataGrid.  Read Scott Morrison's blog for tips on using the DataGrid.
    • There is no ContextMenu.  Silverlight does not natively support right-mouse clicks.
    • The ListView ColumnHeaderClick event did not port.
    • The EventSetter, set from Style did not port.

I also tried some online demos of 3rd party controls.  I found ads for these companies on the silverlight.net website. They have done some amazing things.  It will be fun to see what else they come up with. Below are some links to those 3rd party control vendors.

  • The ComponentOne demo showed some powerful controls.  I was especially impressed with the ReMix Agenda sample.  However, the Editable Datagrid sample was buggy and had poor scrolling performance. 
  • Intersoft Solutions has an impressive navigation control called WebAqua.  It's like a Mac dock panel with incredible visual effects.
  • Netika Tech made some nice Silverlight 1 controls
  • VectorLight has some responsive controls.

I encourage you to share the resources that you have found useful.  Silverlight here we come!!!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:   ,
Categories:   Software Dev
Actions:   E-mail | Permalink | Trackback | Comments (0) | Comment RSSRSS comment feed

Related posts

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

September 5. 2008 13:53