Microsoft hits hard in the RIA space

When Microsoft renamed WPF/E into Silverlight it was just a re-branding news. But yesterday’s news requires some serious attention. Microsoft has announced SilverLight 1.1 Alpha.

Here’s the quote from
“Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, Ruby, and integrates with existing Web applications.”

If Silverlight 1.0 Beta was about XAML GUI with the business logic written in JavaScript, now a new runtime called Dynamic Language Runtime will be used for the RIA deployment, and the fun part is that you’ll be able to create these applications with any of the languages mentioned above. This is really breaking news. The new runtime will weigh about 4Mb (Flash Player 9 that holds two VMs weighs 1.2Mb), and expected seamless installation time is under 30 sec (similar to Flash Player 9). JIT is also there.

While Java community is discussing which language features to include in the heavy tank of the future called Java 7 , their main competitor provides support to multiple languages. JVM is a very powerful but underutilized machine, and it’s about time to run more than just tried and true Java there.

Now Adobe has to respond to Microsoft with some secret weapon besides Apollo. If I were running Adobe RIA division, I’d pick up the phone and dialed the number of Jonathan Schwartz.

“Jonathan, what do you think of this crazy idea – let’s see if we can run some trimmed down version of Java in Flash Player 10”.

Yakov Fain

6 thoughts on “Microsoft hits hard in the RIA space

  1. 4Mb is pure Microsoft style, they didn’t worry about code size at all in previous products, and probably WPF/E-Silverlight is not exception there. For example .NET framework 1.0 runtime installation was about 20Mb, and in my understanding it somehow corresponds to functionality necessary for today’s RIAs in .NET .

    Multiple languages in .NET is good for advertising and academic purposes but in real life primary .NET language is C#. Also multiple languages support is not going to be very expensive. .NET engine plays language neutral CIL bytecode, and only runtime environment specific to certain language is necessary. In .NET 1.0 JScript+VB runtime size was about 2Mb in raw format, and probably 1Mb in installation.

    Funny enough that technically MS has good .NET-based platform for RIAs since .NET 1.0 (>5 years) now it’s ClickOnce, but unfortunately with bad karma, it’s not cross-platform solution and has many security restrictions. And now they trying to reincarnate this on the same engine/ideas in bottom. What is result of this game in technical aspect?


  2. To finally set cross over WPF/E-Silverlight today I installed alpha 1.1 and… surprise for me: now it’s something else, now it’s what I expected from Feb preview before and didn’t see at all. Now it contains .NET runtime like mscorlib (2Mb – the same size as it was in .NET 1.0) System and brothers with scripting. It will need in some platform neutral UI controls library, ala nowadays Windows Forms and better communication services, but it’s not going to be very expensive – few Mb in raw size.

    In other words now it started look as cross-platform lightweight .NET platform, it’s a pity that cross-platform feature was not the design case 7 or 8 years ago and now current .NET runtime contains many hardcoded MS specific things, like COM, reference to many specific to Windows API etc. On other platforms they will need to simulate it. It explains the fact that Mac installation is 10Mb in contrast to 4Mb of Windows one. For comparison browser specific Silverlight native code (slr.dll) is only 100K for both IE and Netscape browser, (50K in zip), but code providing cross-platform OS native environment > 6Mb in archive.


  3. In order to take off you would need binary compatibility of Java code. That most certainly means extension of the current Flash VM to include Java interpreter first and JIT later – task similar in size with the scope of Apollo project. However, it would be strange if Apollo would not have it in roadmap.

    Anatole Tartakovsky

  4. Jonathan,

    You made my day – not to many bloggers have comments made by a CEO of a huge corp :)

    Now back to technicalities. I can only guess that you are hinting about the new language for declarative GUI programming in Java, which is very interesting, but… I’m more concerned about these things in the order of importance:

    1. Red-neck proof JVM install. It should not take more 20 seconds to have JVM installed on the PC of a truck driver from Alabama.

    2. The size of the JVM – 16MB? You’ve got to be kidding. I know that the Java Web Browser version is in the works, which can run HelloWorld in a 3Mb JVM (I do not know the latest figures though), which is not impressive at all

    Recently I’ve been working on a Flex GUI for a J2EE project, and I needed to use a Dictionary collection of ActionScript 3.0 ( ) . The class Dictionary is inherited from the class Object (the same as in Java), but it has only one method there, while Java’s dictionary has a dozen ( ). My first reaction was, “How come this AS Dictionary does not even have an API to get a collection of elements – now I need to manually loop through this collection…”
    But maybe this is the reason that Flash Player 9 that hosts two VMs weighs only 1.2Mb.

    I’ll wait for JavaOne announcements hopefully about a light-weight VM for a new language that will easily talk to Java on the back.

  5. Probably java.util.* is what every Java application needs, even if it’s running in browser
    But JDBC, RMI (or parts of RMI) and tons of deprecated API shipped with JRE are the libraries I will happily live without on desktop.

    Btw, does anyone else besides Sun distribute CORBA these days? 😉

    And sure packaging a database in JDK is just a bad joke.


Comments are closed.