November 10, 2008

Exciting times for webdevs : Flash 10 , Silverlight 2.0 , EcmaScript 3.1 ..oh my

I have been watching the web-tech space recently with much interest.
And I must say development that has unfolded so far is very encouraging for us webdevs. I feel very excited and pumped-up about the future. I ll try to articulate the reasons behind my excitement in this post.

Three major things has happened within the span of 3-4 weeks.


  1. Abandonment of EcmaScript 4.0 for much saner EcmaScript 3.1

  2. Release of flash player version 10.0 and

  3. Release of Silverlight 2.0


These are all good news to me. Although I care about open standards and
open source deeply , Im a pragmatist at heart. Its not zero-sum game for me
and I try to use and combine all of these technologies in my professional work.
In my experience hybrid approach is the way to go, to get the best out of what is available right now.

Javascript's future back in the right track


There was lots commotion in Javascript space lately. Javascript Creator Brandon Eich was pushing a thorough revise of current javascript standard (ECMAScript 3.0) with lots of new features backed mainly by Mozilla Corp and Adobe. They felt current javascript can not serve the need for web 2.0 AJAX apps much longer and they must overhaul the whole thing with ES 4.0 . But Microsoft and Yahoo disagreed . They felt this radical change is impractical and unnatural. It will take years to ship the final product if at all . And it undermines the true power of javascript and trying to shift away from what made javascript popular in the first place. And as Yahoos javascript luminary Doug Crockford pointed out their might be a motive to make javascript more java like to give it some "respectibility" as "real programming language".

There was much heated debate , much accusation and counter accusations .
For a while it seemed , much to our horror , both party is going to go their own way and implement their own stuff and we will be left with dealing with the horrible incompatibilities. The painful task of managing the variations in the current browsers is burden enough. I cant even imagine what insufferable experience it would have been for devs. But thankfully all involved parties came to their senses in recent meeting in OSLO. They finally realized everybody loses if they cant come to an agreement. They will all work on a variation of EcmaScript 3.1 proposal code named "Harmony" and evolve the language incrementally and pragmatically. This is great news for us as we can look forward to target one javascript standard. And we are also getting js performance boost from effort like google chrome "V8" engine , mozilla TraceMonkey , webkits SquirrelFish. No doubt Microsoft will answer with something similar. I feel happy and encouraged because this healthy competition can only bring good thing for us . Javascripts future on the web never looked so bright if you ask me.


Flash is still alive and kicking




Say what you will about the Flash but it is by far the most far reaching rich media platform on the web. And webs video revolution just wasnt possible with flash player. As a developer you just can not ignore these facts.

With lots going on in the microsoft silverlight and javascript space Adobe was awfully quiet for a while . But they have answered strongly with releasing flash player 10. Although Flash 10 doesnt have much new to appleal to the application developer directly it has some performance improvements. It is mainly focused on improving the 3D performance and Screen Text quality . But I feel these feature has big potential. Flash 3D apps or games is relatively unexplored territory. It can become big all of a sudden. All we need is a killer application like youtube was for flash video.

Another good thing that I noticed Adobe released the linux version of the flash player 10 simultaneously with windows and mac version. Historically linux flash player release was always lagging behind. This means we as developers can deliver same experience to the users across all platform with no delay.

With introduction of Flex Adobe has taken big step to make flash platform more developer friendly. They continue to do so with rapid release of flex and other tools and frameworks. I see a rapidly growing Flex developer community on the web. We can also target desktop with Adobe AIR platform with the same skillset. But Its too early to tell how the AIR platform will turn out.

Silverlight 2.0 looks promising





Microsoft Silverlight 1.0 was basically a Flash competitor offering video service with some javascript programmability. With version 2.0 they are introducing their own value , dotnet programming model in the browser, fancy graphics and animation with WPF(XMAL) and even the possibility of using Python or Ruby on the browser. If microsoft can deliver on their promise, this will provide great productivity boost for developers.

But I feel hopeful because microsoft has been doing great work last couple of years to get back developer confidence in their platform. They are showing lot more respect to the standards and they are not as hostile to the opensource ideas as they used to be. And the channel9 folks has done a great job in giving Microsoft people and process some human face . People like Anders Hejlsberg (C#), Scott Guthrie(Asp.Net), Jim Hugunin (IronPython), John Lam (IronRuby) and their visibility gives certain amount of confidence to the developer crowd that technologies in Microsoft are in good hands and run by people who are developers at heart and understand developers.

Another big thing is that not only Microsoft offering silverlight runtime to window and mac platform , they are providing assistance for developing a linux version too. Miguel De Icaza and his team from novel Mono project will be providing opensource implementation of silverlight clone called "Moonlight" for the linux platform. This is encouraging because that will make silverlight a real flash competitor in all platform. And that will make both parties work harder to get developers mind share. Its all good news for the devs.