TechEd 2007: Skinning Demonstration for Silverlight Touts C# Payoffs
ORLANDO - During an early morning session on Thursday, Microsoft program manager Chung Webster introduced developers to some of the basic concepts of building Silverlight-capable Web applications, including the creation of customizable video controls. The tools Webster used were the Beta 1 edition of Visual Studio 2008, the current beta of Expression Blend 2, and the Silverlight Alpha 1.1 version which uses Web services and C#.
What Webster was implying - and many in the crowd knew he was doing so - was that there is indeed a payoff to be gained from developing Silverlight apps using the strongly-typed C# language. One is the ability to utilize Web services through JSON - not yet SOAP, he said, although Microsoft is currently working with the W3C to make that happen. Another is the ability to use Expression Blend to tinker with the skin of the video control, producing a new set of XAML framework code that can be imported into the project.
As a developer tool, Expression Blend is a lot more like Photoshop than an IDE - or perhaps more accurately, it's more like Adobe Illustrator, because it produces front-ends and skins in a vector-oriented format. This way, skins produced for a video control may be rendered in variable resolutions, making them look crisp and clear for mobile browsers on handsets, as well as on Safari browsers for Mac OS (which Webster also demonstrated).
One of the questions we've raised during our coverage of Silverlight since its inception has been whether Web developers would be willing to adopt C#, a language from the world of traditional, monolithic applications. The answer today looks closer to "yes" than "no." When polling the audience, Webster learned that about two thirds of the self-proclaimed Web developers already know and use C#.
But even helping along the developers who've never worked in the monolithic world is the fact that a lot of the C# code for a project is automatically generated during the application creation process. Essentially, the template code instantiates Silverlight, and produces the client-side code that would bootstrap the library on the user's browser. It then calls up the XAML code which renders the controls - that's the part that's the most customizable by the developer, but the developer will be using the Expression Blend graphical environment to accomplish this, not so much the "Intellisense" environment of Visual Studio.
From some of the "wows" we heard in the crowd, we're learning that the Silverlight 1.1 alpha may go over quite well among developers. Among those who are accustomed to Flash - Silverlight's principal competition - the fact that skins can not only be customized but easily branded by Web sites, will deserve one of those "starbursts" you see in features lists.
There are some other payoffs from debugging and tweaking C# code, as Webster showed, including endowing slideshow controls with custom abilities and properties, like fade effects and dynamic stretchability.
In one demo, stretching and resizing IE7 triggered an event that prompted Silverlight to resize the slides themselves, and the controls around them, to fit the new size...as the browser is being dragged, not just when the mouse button is released.
Stay in touch with BetaNews for more from TechEd 2007 throughout the week.