Silverlight-1.0-Anwendungen mit JavaScript entwickeln

  • English title (might be): Developing SilverLight 1.0 applications with JavaScript
  • Language: German
  • Speaker: Oliver Scheer

On Monday, the 26. May, Microsoft Evangelist Oliver Scheer talked about programming SilverLight with JavaScript. Here are my thoughts about his presentation in order of appearance:

  • The Skeleton structure of a Silverlight application reminds me pretty much of a qooxdoo skeleton: one HTML file, one loader JavaScript file and the actual code as second (or more if you use parts) JavaScript file(s). The only difference is that in Silverlight a XAML file is used to store the UI description.
  • A funny thing that I noticed: the example website, tafiti.com, does only work correctly in "emulate IE7" mode.
  • I do not like Microsoft's naming conventions inside XAML files (e.g. LeftButtonMouseDown).
  • It is really nice that Visual Studio offers Intellisene for JavaScript files, but I am not sure how powerful this is. There are several IDEs with similar features, but they all get stuck when a JavaScript framework is used that extends the native classes or brings in it's own inheritance "syntax". By the way: this is the reason that qxDT is currently developed. qxDT is an Eclipse extension based on JSDT which will enable validation, code completion and more in Eclipse for qooxdoo projects. I will write more about this as soon as I have some time. :-)
  • Anyway, to enable Intellisense you have to download and add some JavaScript files from codeplex.com. Then you have to convert every SilverLight object into a JavaScript object before you can use Intellisense. There are three problems with this solution:
    1. After this conversion you will use a different API than before. You can edit this Intellisense.js to make the API look the way you want, but it is still different from the native API.
    2. Since you use a different API you have to keep this JavaScript files in your project if you deploy it. Even if an optimized version of this converter exists you still have to use a third-party-component in your project.
    3. Every convert call is costly and I have not seen a possibility to cache the converted objects.
  • Oliver did not mention if this is going to change with SilverLight 2.0 and I am really interested when Microsoft is going to do enhance Intellisense to work out the box with SilverLight.
  • The presentation itself was pretty good. I would have preferred to see a bigger coding part instead of showing how easily GUIs can be build, but since this is an advantage of SilverLight I do not want to complain.