Three new videos and two missing pieces

It turns out that the three new videos posted this week are all by me, though one of them I recorded before joining Microsoft.

 Here, briefly is what I cover…

The video titled "Working With Shape Transforms" covers the fundamentals of transforms, and shows the makings of an incredibly lame game in which I show you a starting shape, and you must use one of a number of transforms (size, skew, rotation, etc.) to turn a starting shape into the shape you have to match. You can imagine that someone who knew what he was doing could make this fun.

The other two videos arose from my Great Asynchronous Learning Experience:  the first shows how to use Visual Studio 2008 on a development machine on which you've loaded Silverlight 1.1 to create 1.0 applications. Remember, once you load 1.1 you no longer have 1.0 loaded, but 1.1 is a super-set of 1.0 and as long as you use the 1.0 template, all is well.

The final video dives a bit deeper into how the html file, the xaml file and the .js files work together in a Silverlight 1.0 application. There is nothing new here, just an attempt at driving through my thick skull a visceral understanding of the distinct responsibilities of each of these pieces. I find that if I can get these responsibilities crystal clear early in my work, it makes things much less confusing later on.

There are two pieces not covered in the video, so I'd like to cover them in this blog entry:

Question: What is in Silverlight.js? (really)

Question: Where is the magic?  Answer: The plug-in.

 First, what is in Silverlight.js.  That one is easy; you can open it up; it is a text file. You'll notice that it is not easy to read. Conspiracy theorists will posit that this is to discourage you from deconstructing it, but let's face it; we could have made it a lot harder. Nope, it is the way it is to make it incredibly efficient for the browser. If you want to deconstruct, it is painfully easy; put it in word, do a search and replace replacing semicolon with semicolon/newline, and then replace variable names like a and b with something more meaningful.

What you find, no surprise, is that one of the main jobs of Silverlight.js is to (a) see if you have the right plug-in on your machine and if not offer you the opportunity to download it and (b) set the code so that the plug in for your OS and browser is used.  Nothing very special and you can safely ignore this file once you've satisfied your curiosity.

The one thing to remember is that if you build your application and test it and it asks you to download the plug-in, the first thing to check is whether you have the right version of Silverlight.js. Remember, also, that (at least for now), Silverlight 1.0 is self-updating but Silverlight 1.1 is not.

The second question is about the plug-in. When you are developing an application you do not see the plug-in. It does not show up in your list of files in your project. While you cannot step into the plug-in's code, you can double click on the plug-in (e.g., in the handleLoad function) and drag it into the watch window, where you can easily see its methods, events and properties. It makes for fascinating reading and a good adjunct to the Silverlight help files.


About Jesse Liberty

Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen Pluralsight & LinkedIn Learning courses. He was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Xamarin Certified Mobile Developer and a Xamarin MVP and a Microsoft MVP.
This entry was posted in z Silverlight Archives. Bookmark the permalink.