Silverlight Gets Interesting / Come On Tamarin

Imentioned Microsoft’s new Silverlight platform a week ago,opining that it appeared to be nothing more than a Flashcompetitor…despite all the noise, enthusiasm and blusterthat comes out of the gathering of the faithful (Mix ’07).

If Flash wasn’t already the answer for a particularproblem space — and it seldom is necessary or beneficial given theincredible power and versatility of the foundational webtechnologies — why would Silverlight change the equation?

For those instances where Flash isan appropriate solution, the question then is what Silverlightbrings to the table that Flash doesn’t What couldpossibly overcome the new entrant’s already limitedplatform coverage and concerning vendor conflict of interest IsSilverlight really just another attempt at pushing Windows Media,released as a last-ditch attempt to recapture some of themarketshare that WMV has lost, largely to Flash of all players.

The answer came as Mix progressed, when it was announced thatthe Silverlight platform will optionally come equipped with a.NET Common Language Runtime (the common language of coursebeing CommonIntermediate Language), equipped with a greatly pruned down Framework: the runtime and the framework occupy2MB, so clearly it’s only a tiny subset of the full .NET 2/3framework.

Supposedly the CIL really is the same CIL used in our desktopand server .NET apps, so hypothetically a given assemblycan be used on the desktop, in Silverlight on Windows, and even onSilverlight on the Mac (or any other platform that Microsoftdecides to target), which is interesting.

In practice it’s never that easy. The minimized frameworkincluded with Silverlight means that a lot of code will havedependencies that aren’t satisfied in Silverlight, similar to theexperiences many will have attempting to run .NET code ona Mono platform(despite Mono havinga vastly larger Framework to draw from).

What it does mean, however, is that code (which beforedeployment will be “compiled” from whatever source language to theremarkably high-level Intermediate Language, much like you can usetools to “compile” Java to JavaScript, orWasabito PHP, or between any other Turing-complete language) run withinSilverlight will likely demonstrate excellent performance: The .NETteam has done a superb job of teasing greatperformance out of managed code, and I would expect that to carryover to Silverlight as well.

Silverlight was completely uninteresting before, but this newinformation makes me somewhat curious, and it does technologicallydifferentiate the product.

This should light some fires under the team incorporatingthe JavaScript Tamarin engine(which humorously came from Flash) in Mozilla products. As itcurrently stands, the JavaScript interpreter in Mozilla isamong the performance frontrunners, however that pack in general isproving to be unacceptably slow as the web becomes increasinglyrich.

The Tamarin engine, and similar designs, hyper-acceleratesthings by doing JIT compilation of ECMAScript Edition 4 (JavaScript2) to native code where possible, offering potentiallyenormous performance improvements.

Back to Silverlight, I laugh at those who are giddy with gleeabout the death of “HTML”, or the coming of “Web 3.0” (which is anembarrassing comment being bandied about in regards toSilverlight).

Were Java Applets Web 3.0 Was ActiveX Web 3.0 Was VRML Web3.0 Flash/Shockwave have been with us since Web 0.9.

Put a Remote Desktop ActiveX control on a page and people willdeclare it Web 3.0. Who knows, maybe Google will dojust that.