After the Day 1 keynote at ReMIX we moved into the real business : the presentations. During the day there were two real areas of surprise that emerged for me. The first relating to Silverlight and the second was relating to Expression Web and Visual Studio 2008 (I'll talk about this in a seperate post).
After MIX there was a lot of blog traffic about Silverlight. Following along it was clear that Silverlight was a genuine challenger for Flash's crown. But what got a bit lost in all the hype was how much of the excitement was about what Silverlight might offer. Today I realised how limited a platform Silverlight currently is. The original beta release doesn't provide many common controls that are essential for any RIA. For example, they hadn't considered providing a text input control. The upcoming version 1 release will fix this oversight. But many important controls will still be missing and are not going to be part of a version 1.1 release slated for early 2008. Examples of missing controls are a Tree view, Accordian and dataGrid. Equally surprising for someone with a Flex background is the abscence of a styling mechanism and the very restrictive layout engine (both are being 'considered' for v 1.1).
One of the questions I had been asking myself is how to approach this new technology. It seems clear that both Flex and Silverlight will offer advantages in different areas. Should I attempt to have a similar level of knowledge across both technologies or should I aim for expertise in one and maintain a good overview of the other. Certainly the developer experience in Flex and Silverlight is very similar. Both use XML for visually laying out the application and code to manage user interaction. But there is still a lot for new comers to learn in the detail of the differences. From what I saw today it is clear that I can put off my decision at least for the next year.
Silverlight is a long way from being ready. I already mentioned the lack of many necessary controls. But presentations demonstrated that Silverlight requires a lot of unnecessary complication to perform simple operations. This isn't surprising. Earlier versions of Flex were quite confusing compared to the current version with most of the refinements occurring during the Flex 2 beta. All of this, in my mind, suggests it's too early to jump in and try to gain any sort of detailed understanding of Silverlight. As the Silverlight framework finds it's feet there will be regular developer tremors as the ground shifts around them. I recommend we meet back here one year hence to re-assess Silverlight's readiness.