|
Recently I stumbled across some information that I found staggering. A company has actually created a full-fledged Windows Forms environment for Silverlight, including a designer that actually allows you to design your GUI surface from within a Silverlight application. I'm not sure what the Flash experience is like, but I am sure it is quite similar. The end result is that using Silverlight, and the GOA WinForms tool from Netika Tech, you get the following controls (information taken from the Netika site):
I find this simply mindblowing. While it certainly makes sense that it would be easier to implement WinForms using a declarative GUI subsystem like XAML ... I really didn't expect anyone to want WinForms inside Silverlight, let alone actually take the time to create not only the infrastructure to support the controls, but a visual designer for it as well!!
Here are some demos of the product in action. For the most part, I was pretty unimpressed. While I am impressed with the technical ability of the people who created this product, one simple fact remains: It's frikkin' WinForms. While there are some controls in there that I think would come in really handy such as the menu/toolstrip stuff and the Outlook-style GUI - that kind of stuff has been feasible entirely in HTML/CSS/JavaScript for years, and there are already dozens of ways of getting that same GUI available in HTML.
That said, the interesting part here isn't that that it looks like WinForms. The interesting part is that, at least for Silverlight, the framework itself uses the same composited rendering engine as every other part of Silverlight. That means that, if this company knows what they're doing, they'll make their controlls skinnable so I can get the power of having interactive treeview controls that dont' look like a standard HTML control. 90% of what I saw in those live demos was stuff that could be reproduced with very little effort using nothing but HTML and CSS, both of which I can talk to from Silverlight.
So, in closing - I'm definitely going to download the controls and poke around with them and see what the experience is like. But if I can't skin these things so they don't look like WinForms, then I'm better off writing my own control suite.
Edit: I've discovered that there is no actual designer for this - you have to write one yourself. Granted, they have a pretty decent demo for building such a designer, but still - I was a little dissapointed when I had to resort to hand-writing all the code that I used to hate about Windows Forms (all the crap that is typically hidden behind #region/#endregion pairs in C#).
Lolzors! That's hard case. Having implemented an owner-drawn tree with a
crazy inverted controller for .NET 1.1 (something I do not plan to do again
- it was kinda cool though), I totally agree.
I read the news and immediately went, "WTF(interrobang) WHY(more
interrobangs)". Let it die people.
It is especially bizarre if Silverlight supports WPF's content models that
make developing custom controls ridiculously easy (i.e. you don't have to
build a tree model - just plug in the look and feel).