The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 3,824,578
since: 19 Jan 2005

Windows Forms for Silverlight (and Flash)

posted Mon 02 Jul 07

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):

  • Control, ContainerControl, ScrollableControl, Panel
  • Button, CheckBox, RadioButton, GroupBox, Label
  • TextBox, NumericUpDown
  • ImageBox, ImageList
  • ScrollBar, HScrollBar, VScrollBar
  • Form, MessageBox, Cursor
  • ListBox, CheckedListBox
  • ComboBox
  • TreeView
  • MonthCalendar
  • TabControl, Splitter
  • ToolTip, ProgressBar, Timer
  • ToolStrip, StatusStrip, MenuStrip, ToolStripButton, ToolStripComboBox, ToolStripDropDown, ToolStripLabel, ToolStripProgressBar, ToolStripSeparator, ToolStripSplitButton, ToolStripTextBox
  • XamlCanvas (Silverlight specific)

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#).

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. Seth left...
Mon 02 Jul 07 9:03 pm

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).

When you then also consider the advantages of dynamically-sized and displayed content and the history of poor support for such concepts in any windows designer, you wonder what kind of drugs these people were taking (and perhaps if they also export :)

Personally, I'm ignoring the WPF designer. Much like the WF designer, it is a poor representation of the technology. WPF is so good for generating data-aware look and feel for interfaces on the fly. So good. Hopefully Silverlight has the same templating, binding, trigger and content model features that WPF has. Been meaning to look into it more.


Tag Related Posts