As a long time Ruby lover and deep rooted .NET supporter, I
was probably more psyched than anyone I knew when IronRuby 1.0
was finally released. I immediately grabbed and started
building some apps with it to see where the boundaries were
going to lie between IronRuby and ruby.exe, and so far I've
been pleasantly surprised by how many things just work as I'd
expect. I then started to try out some of my favorite libs
that I was sure would not work with IronRuby, and I wasn't
surprised at all when
_why's amazing Shoes library
didn't work. Being somewhat familiar with Shoes (it's a great
DSL for building simple UIs in Ruby) I felt it wouldn't be
that difficult to port it over and as it turned out,
someone else had already started the work. As cool as this was, I was never quite satisfied with good
'ol shoes. While it was quite complete, it lacked simple
extensibility points, and although easy, it wasn't quite "kid
friendly". At the same time on the .NET side of the fence,
IronRuby could easily compile XAML to create WPF and
Silverlight UIs, but trying to do it declaratively in plain
Ruby was no fun at all. And so, the Shoes-inspired,
WPF/Silverlight GUI DSL was born. (and it lives here:
http://bitbucket.org/fdumlao/kiddo/src)
Introducing Kiddo
Tell you what. Let's start with a quick code example first.
We'll build a useful app that we can use to quickly reverse
strings whenever we need it.