Rather than write a long, tedious project walkthrough, you can find several simple examples of Silverlight projects online. I started with a Calculator tutorial and got it working first time. This was an interesting tutorial as it showed how to integrate XAML into an existing ASP.NET website. However, the XAML for that was pretty verbose when all you need at this stage is to see how the pieces fit together. You can find a list of what I thought to be especially helpful resources at the end of this post.
Well, I've been trying to get my head around everything Silverlight since the last post. Although I had to force myself to keep an open mind about the whole thing, I'm very impressed with what I have found. When I say I had to keep an open mind, I think I need to explain where I'm coming from...
I'm a Developer-Designer. I like to use Visual Studio for everything if I can. Other times, I'll just open up Notepad2 and hack away. My Photoshop skills are pretty limited but I have a good eye and create all my own CSS designs. I know that few developers are artistically inclined and vice-versa for designers. I also know that there are many in both camps that have themselves convinced that they are either left or right-brained and settle for that. But that kind of dichotomised thinking is another story.
The original byline for CodersBarn was going to be "Blurring the Border Between Developer and Designer". I though it was a bit long-winded plus I didn't want to be writing about CSS all the time. My point here is that someone like me is going to look at something like Silverlight with both the eye of the developer and the designer. So, if Microsoft can sell this to me, they have achieved something since I will be doubly critical!
XAML the new HTML?
For some time now we have been moving toward a declarative model. When I say this, I do not mean that manual coding goes out the window. In the case of Silverlight, XAML is used to create tags which can be programmed against. Designers can use Expression Blend and Design to create their artifacts and the XAML end result can be handed off to developers. Now, most people have heard this type of marketing hype ad-nauseum over the past year. So, here's what sold me:
Arguments against Silverlight
* It doesn't support the Scalable Vector Graphics standard... humbug! Microsoft intentionally avoided introducing proprietary technology into an existing standard and instead built upon it.
* Weaning designers away from Photoshop is a real hard sell... you can import vector graphics to Expression Blend quite easily. Check out John Galloway's post on this. I also opened a Photoshop PSD file in Expression Design without any hitches. Admitedly, the IDE is a bit clunky, but for a new product, that's by no means a show-stopper. Tools improve over time and now Microsoft are moving into an area previously dominated by Adobe. Who's your money on?
* Silverlight doesn't support Linux... more humbug! Microsoft has been working with the members of the Moonlight project to make the port to Linux.
* Several US states are attempting to extend the antitrust case against Microsoft for another five years based on the argument that they will use the next version of Windows to tilt the advantage away from Adobe Flash... best of luck to them I say. If it's an accepted and open standard, then anyone can develop tools for it. Open is open. The same humbug is going on in Europe; if it's not fox hunting it's Microsoft season.
Arguments for Silverlight
Microsoft has effectively delivered a one-two-three punch winning combination against their rivals:
* XAML is text-based, thus it is searchable. Bye-bye Flash.
* The new integration between developers and designers can only foster more creativity. It will probably be a case of gradual but inevitable adoption because the Silverlight technology has taken the initiative where it is needed and I cannot see Adobe trumping that, especially when faced with the scale of the Microsoft development community. Greater co-operation between development and design teams means more productivity and it's the employers who will call the shots at the end of the day.
* I won't repeat the hype about being cross-browser and so on. The killer punch is the .NET Silvelight CoreLCR which weighs in at 4.5 MB. What a piece of engineering! Think about integration with Linq, Ajax, Web Services, Streaming... and just in case the opponent attempts to get back up off the floor, here comes the knockout blow... your JavaScript will run 250 times faster!!! In the future, where the RIA will be the name of the game, this is going to be a telling factor.
Resources
MSDN Silverlight Documentation
Overview of Differences between the 1.0 and 2 Beta 1 Runtimes
Videos, Tutorials and Samples