Silverlight 1.1 ... A rich web technology for the .net generation...???
My main experience in the field of Microsoft's next generation GUI offerings has been from a WPF perspective, the more powerful, better performing, and comprehensive of the two brothers. I've also worked previously with Silverlight 1.0 and like the intention, but the lack of internal event handling means you end up with a stack of JScript to provide the interaction logic. I wouldn't go as far as lambasting JScript, it's just that replacing with C# in 1.1 means you end up with a much tighter and coherent package.
Despite this overwhelming power advantage of WPF, I see Silverlight 1.1 as the beginnings of a very exciting platform in my opinion, "a rich web technology for the .net generation"
At this early stage in it's development it's difficult to criticise what Silverlight 1.1 is offering by way of public release (it is after all currently only in Alpha).
The Current Frailties
You would perhaps consider...
- Where's that TextBox, Combo.... the input controls you require are not there.
- No Layout controls like DockPanel or StackPanel, just me and my Canvas.
- No reusable resources dictionaries
- Ok, no "big-bro" WPF style data binding framework - this is probably the biggest loss from the elder sibling, I agree!!
- Yes, you can currently do a lot more in Flash.
- And I've also heard of a couple of problems with it running on different platform!
But most of these reasons are exactly why I currently grow fond of it! As I begin to realise the full power and flexibility (and limitations) of WPF, and keep an eye on the strategy/actions the Product Team is taking - I can image how good it could be from a .NET developer perspective if this younger, weaker brother, gets anywhere near WPF capability. I also genuinely believe that with even only a few of the above mentioned features added on release this will be a nice start to a what will become an increasingly powerful platform (and ultimately a real contender to the space currently occupied by the likes of Flash and Flex)!
It's better by (simplistic) design??
In my many years of hands on software development I've met a lot of really clever people, writing "clever code". Unfortunately in many cases the code is only "clever" in a truly geeky/techie way, but from a readability/maintainability and management viewpoint maybe it's not too hot, perhaps it's even a bit on the convoluted side? Before I digress too far, and getting back to the point in hand, I like the look of Silverlight 1.1 because it is basic, and provides an obvious and simple (yet still quite powerful) framework. To a certain extent due to the language support (and therefore XAML definitions) being limited and the runtime not managing a binding framework, it provides a slick environment to implement the application behaviours exactly as you like them without any major management overhead.
In my opinion the cleverest design or implementation are generally the simplest and most succinct. As I've experienced in the past, sometimes developing large applications on expansive frameworks can provide developers with enough rope to hang themselves with. Maybe this is where "little-bro" Silverlight's lightweight framework approach might have a positive side-effect.
The Underdog
There is something to be said for the underdog (maybe it's a Scottish thing). Silverlight will probably always be in the shade when competing with "big-bro" WPF. The older brother currently has the key to direct GPU hardware access (pushing graphics processing off the CPU) and only has to run on a windows platform - easy job! But poor Silverlight will always have to run on all platforms - and with that scenario do you run into (what I call) the LCD factor when developing a truly multi platform application, will the Lowest Common Denominator factor always prevail. Perhaps they could enhance the capability on each platform/browser independently, but if the 3D render runs amazingly on a particular browser on a Windows box, will it look as good on a flavour or Linux... a Mac... etc?? Do we have to cut 3D from our app due to this LCD factor - only time will tell....
But it's ability to run on Multiple platforms will ultimately in my opinion be the factor that brings Silverlight mainstream, and leaves WPF behind in the "Windows Only" domain!