Silverlight's killer app?
Jul. 24th, 2009 02:05 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
The mark of a really interesting technology is when my gut reaction is "Holy crap". I just had one of those.
For those who aren't paying attention to All Things Microsoft, Silverlight is their Flash-killer technology. (As opposed to AIR, which is Adobe's Microsoft-killer technology.) I won't belabor the details, but suffice it to say that it tries to do things much like Flash, but with a Microsoft spin. This isn't a bad thing: development tools are one of the places where MS really does excel, and their programming technologies are way more cutting-edge (and far higher-quality) than their consumer products.
As is usual for MS, Silverlight 1 was basically a toy; Silverlight 2 started to show some promise; and the recently-released Silverlight 3, while still showing some holes, is becoming genuinely competitive. (I've spent much of the week trying to figure out whether we should drop Flash in favor of Silverlight; the answer I'm leaning towards is, "Not quite yet, but let's check this again next year".) It's a neat technology, and powerful enough that it's starting to show some emergent behaviour.
One of those things to emerge this week is Gestalt, and that's what caused my jaw-drop half an hour ago. The idea is straightforward, but I'm still more than a little astonished that it works. Suffice it to say, it allows you to write your client-side web pages in Ruby and/or Python, instead of Javascript. Yes, really: just specify the language as "python", and everything works.
How? By cheating through Silverlight. Obviously, you have to have Silverlight installed, but that's getting steadily easier -- the installer is decently straightforward and quick, and it supports both Mac and PC natively. (Linux support comes through an open-source project; this is lagging, but Microsoft is actively helping the project, and it's steadily catching up. Browser support is pretty good: indeed, I'm testing it using Chrome.) Given that, to use Ruby or Python, the web page just includes the gestalt.js script -- this deals with Silverlight installation if needed, loads Silverlight up, sends the Python code over, dynamically compiles it, and *poof*, it works.
If you're into web technology, I really do commend the Gestalt homepage (which shows off a realtime Twitter stream of the #gestalt tag as a technology demo) and take a look at the source code. It's practicing what it preaches: the guts of the page code (down at the bottom) is all written in Python, with impressively little overhead boilerplate. Basically, by including Gestalt, you get to embed the Silverlight languages and APIs, as well as their XAML layout-description language, right into your page alongside the more conventional bits.
I don't use the words "killer app" lightly, but this may be one. I suspect it's immature and still needs some work, but if they can get it right, it's a game-changer. Since Silverlight is an aggressively-updated plugin (much like Flash), it has the potential to become much *more* standard than browser dialects of DOM and Javascript. Being able to program the guts of my web pages in a serious language like Ruby -- moreover, with the full power of the Silverlight dialect of .NET available -- provides a *powerful* argument for me as a developer to adopt Silverlight. It removes one of the principal pain-points for hardcore client development: the weak and poorly-standardized Javascript/DOM environment. And pain-points are where killer apps come from...
For those who aren't paying attention to All Things Microsoft, Silverlight is their Flash-killer technology. (As opposed to AIR, which is Adobe's Microsoft-killer technology.) I won't belabor the details, but suffice it to say that it tries to do things much like Flash, but with a Microsoft spin. This isn't a bad thing: development tools are one of the places where MS really does excel, and their programming technologies are way more cutting-edge (and far higher-quality) than their consumer products.
As is usual for MS, Silverlight 1 was basically a toy; Silverlight 2 started to show some promise; and the recently-released Silverlight 3, while still showing some holes, is becoming genuinely competitive. (I've spent much of the week trying to figure out whether we should drop Flash in favor of Silverlight; the answer I'm leaning towards is, "Not quite yet, but let's check this again next year".) It's a neat technology, and powerful enough that it's starting to show some emergent behaviour.
One of those things to emerge this week is Gestalt, and that's what caused my jaw-drop half an hour ago. The idea is straightforward, but I'm still more than a little astonished that it works. Suffice it to say, it allows you to write your client-side web pages in Ruby and/or Python, instead of Javascript. Yes, really: just specify the language as "python", and everything works.
How? By cheating through Silverlight. Obviously, you have to have Silverlight installed, but that's getting steadily easier -- the installer is decently straightforward and quick, and it supports both Mac and PC natively. (Linux support comes through an open-source project; this is lagging, but Microsoft is actively helping the project, and it's steadily catching up. Browser support is pretty good: indeed, I'm testing it using Chrome.) Given that, to use Ruby or Python, the web page just includes the gestalt.js script -- this deals with Silverlight installation if needed, loads Silverlight up, sends the Python code over, dynamically compiles it, and *poof*, it works.
If you're into web technology, I really do commend the Gestalt homepage (which shows off a realtime Twitter stream of the #gestalt tag as a technology demo) and take a look at the source code. It's practicing what it preaches: the guts of the page code (down at the bottom) is all written in Python, with impressively little overhead boilerplate. Basically, by including Gestalt, you get to embed the Silverlight languages and APIs, as well as their XAML layout-description language, right into your page alongside the more conventional bits.
I don't use the words "killer app" lightly, but this may be one. I suspect it's immature and still needs some work, but if they can get it right, it's a game-changer. Since Silverlight is an aggressively-updated plugin (much like Flash), it has the potential to become much *more* standard than browser dialects of DOM and Javascript. Being able to program the guts of my web pages in a serious language like Ruby -- moreover, with the full power of the Silverlight dialect of .NET available -- provides a *powerful* argument for me as a developer to adopt Silverlight. It removes one of the principal pain-points for hardcore client development: the weak and poorly-standardized Javascript/DOM environment. And pain-points are where killer apps come from...