I normally attend code camp (http://www.siliconvalley-codecamp.com) but this year I had a wedding on Sunday, so I only got to go on Saturday. I spent most of the day looking at Microsoft’s new RAD (Rapid Application Development) tool, Lightswitch, with their Senior Program Manager, Beth Massi. She gave a couple of talks which peaked my interest in the technology, mostly because it offered a quick way to prototype systems.
When I got home I gave it a try…and it almost works! Well, that is to say, you can define a bunch of tables and screens and have it create an application for you, but it’s still in “pre-release” mode and that shows. The key seems to be to define the data as completely as possible first. Don’t even think about the screens until your sure you have your tables defined and their relationships, because the screens don’t update based upon changes to the data (which they shouldn’t really). As you design these elements (data and screens) they go into a big old XML file…which get’s corrupted and won’t let you into the project after that, but hey, it’s “pre-release”.
Anyway, I’m sure on the next release it’ll be much better.
OK, so it’s not 50, but it’s still a lot. My idea was simple. Create a small use case (in this case, create a file listing), and see how many different ways I can implement it using .net code. The first two were easy, good ol’ windows forms using c# and vb.net. Well then, why not WPF? Well, as long as we’re getting into the Microsoft foundation series, how about a WCF client/server version? And as long as we’re talking client/server why not Silverlight? Great, but all these technologies are so 2009. So let’s add an implementation using Microsoft’s Managed Extensibility Foundation (MEF) and the new code contracts…cool! Along the way I kept refactoring the code, but it still encompasses 17 projects. I’ll probably add an RIA Services version at some point as well, which should bring us up to a round 20 projects.
Just to list the files in a directory. Check out the code here: FileListing
Onacat.net is my public playground . I’m interested in everything .NET at the moment, but over the past 35 years of mucking about with computers, I’ve worked with lots of different technologies and industries, so this too may change as the world turns. I’ve been working in .NET since before it’s official release. I attended one of Microsoft’s mass events up in Cupertino and was hooked.
I’m also interested in some Apple development, mostly dealing with the iPad and the iPhone, but haven’t really had a chance to explore these yet. So stay tuned and watch my experiments.