Why Silverlight Should Stay

Mary Jo Foley just published a post discussing the future of Silverlight.

I’m not a Silverlight Developer by any stretch of the imagination. I never played with it. Never touched it at all.

Then, for the Flying Shakes website,  I had to have the control below in a web form. Naturally I turned to Silverlight.

image

 

With no knowledge or experience of Silverlight it took me 90 minutes from idea to working control.

And yes, I realise that I could write a HTML5 version of that now. But it would probably take much, much longer (don’t nobody suggest Flash).

Silverlight is good, not just for rich client experiences it allows us to build, but also because its part and parcel of the tools we Visual Studio devs work with every day.

The flip side to this, of course is the user perspective.

Here in the UK we have Sky satellite television. The reason why I like them so much is that they are fairly technology friendly. Besides streaming on the go (iPad, iPhone, etc), you can log on to their Sky Go website to stream on-demand or download and watch on your desktop offline.

This experience is delivered by, wait for it, Silverlight. The impressive part of this whole thing was the Sky Go Desktop Client. Its an offline Silverlight application, popping straight out of the browser and installed silently.  Was downloading from my queue 10 seconds after hitting the download button.

Satisfied does not even begin to describe it.

I HTML 5 may be the bees knees, but there is still a business case for keeping Silverlight around.

I’ll consider HTML 5 a contender when we have the same level of support and tooling for it as we have now for Silverlight.

Sliverlight 2 Ships!!!!

The next version of Microsoft’s Flash competitor is out.

And why is this big news? Well, a number of things stand out about this release.

The first big one is the number of languages that you can use with Silverlight: VB, C#, JavaScript, IronPython and IronRuby. though this, potentially isn’t the whole list. Any language that is targeted for the .Net CLR can, in theory, be used. This opens up the number of developers with the skills to use Silverlight. Microsoft may not have the install base that Flash has, but its making that up  by allowing as many developers as possible to get started quickly.

So Microsoft will leverage the .Net developer corps as well as the Python and Ruby community to jumpstart Silverlight and Silverlight Adoption.

In addition, Scott Hanselman says that you can use Eclipse to code Silverlight:

But there’s also http://www.eclipse4sl.org/. Yes, that means you can code Silverlight in Eclipse. Details and progress at the Eclipse Tools for Silverlight Blog. It’ll be licensed under the EPL 1.0 License.

 

Scott Guthrie  adds (I missed this on first reading):

Today we are also announcing that Microsoft is partnering with Soyatec to sponsor additional tools for developing Silverlight applications using the cross platform Eclipse development platform.  Click here to learn more about this and download the free Silverlight Eclipse plugin.  Click here for a step-by-step tutorial that walks-through how to use their Eclipse tools today to build a Silverlight 2 application.

The other big thing, at least for me is the tools library. This has been the one thing stopping me from enjoying Silverlight to the full.

Scott Guthrie provides the details:

Today we are also announcing the "Silverlight Control Pack" – which will deliver dozens of more controls that you can use with Silverlight 2.  We will continually add new controls to the control pack over the next few months (we expect to ultimately have more than 100 controls total).  The first release of the control pack will include controls like TreeView, DockPanel, WrapPanel, ViewBox, Expander, NumericUpDown, AutoComplete and more.  All controls will ship with full source, and with a OSI license that allows you to modify and use the source for any purpose.

Let me repeat that: All controls will ship with full source, and with a OSI license that allows you to modify and use the source for any purpose.

Unbelievable. I’m gonna have some serious fun playing with and tweaking those controls.

This is yet another element of Silverlight that will attract developers in droves. It all fits into to Microsoft’s pan of driving adoption of the platform on both the developer and client sides. I mean, Flash has no controls (except the most basic root level elements). And here is Microsoft offering developers the nirvana of controls and full source. It will boost productivity not only for developers, but also for designers who want to add that extra special flourish for their customers – its just a small tweak away.

Also, there’s one little line in Scotts post that jumped out at me:

We are also announcing today that we are releasing the Silverlight XAML vocabulary and schema under the Open Specification Promise (OSP), which enables anyone to create products that read and write XAML for Silverlight.

That’s really interesting. Is Silverlight XAML going to become like XML is now? Where we output XAML on the fly? The possibilities that can come out of this little bombshell are quite amazing. can’t wait to see what people come out with.

That’s what got my attention (of course, there is more in Scott Gu’s post)

And just to wet your appetites, Scott Hanselman has a talk at PDC which includes Silverlight and his now famous Babysmash application that will showcase the networking capabilities of Silverlight:

I’ll also show a Silverlight version of BabySmash that talks to the same server-side endpoints, and we’ll all (the audience) run BabySmash Silverlight on our laptops during the talk (better than just checking your email, which is what you usually do in talks) and see if we can’t crush my server live. Then I’ll talk about new .NET 4.0 features that I could use to take the whole solution to the next level.

Using Silverlight

Not that I’ve used Expression Blend 2 to create anything fancy. I’ve done a two page test Slideshow in a quick feasibility study with regard to one of my pet projects.

Then I had to deal with the hosting. I’m using Sliverlight Streaming to deliver the applications to my webpages (via an Iframe, I belive).

It took a while to figure out how to upload the pages so that the service could understand what was supposed to happen with the application. then it took a wee bit longer to understand how to integrate the provided code on to my ASP.net page.

But I got it working, in the end 🙂 .

Now that I know it works, I have a few ideas.

And now I have to go and actually build the thing….

PS. If you get Error 2252 while running your application make sure that the path from your xaml file to the dll is correct. Took me a while to figure that one out. I find that its usually the simplest things that stump you 🙂 .