The blog of Eric Sibly; focusing on mountain biking, .NET development for the Desktop, Smartphone and PocketPC.

Saturday, February 25, 2006

User interface technology options...

Following on from a previous post, Browser vs SmartClient, I thought I would also point to this post from Tim Sneath who does a good job of rounding up the various technologies. Partial extract included as follows:

Last question. Windows Forms, ASP.NET/Atlas, DirectX, WPF, Win32 - that's five UI technologies to choose between. How do I decide?

Really the variety of choice isn't such a bad thing - it enables you to pick the best technology for the job rather than having to pick a lowest common denominator that tries to serve all masters and ends up serving none.

  • Building a forms-based application and looking for a mature technology to use with good tools and component support? Check out Windows Forms - it's got everything you'll need to turn out a well-designed, service-orientated client application.
  • Is platform ubiquity or wireless mobile device support the high order bit? ASP.NET with or without the Atlas extensions is a good technology to choose. (Don't forget about the .NET Compact Framework for rich mobile devices, of course.)
  • Want to build a first-person shooter game, a CAD/CAM workstation application or something similar where polygon count is the major technical requirement? DirectX is a natural choice - don't forget that the .NET managed APIs for DirectX are maturing rapidly and starting to be worthy of serious consideration.
  • Looking for complex data visualization, superb text flow content rendering or dynamic interactive experiences? WPF should probably be your top choice. I'll be posting in future entries about a few sweet spots that early adopter customers have been exploiting to great business gain.
  • Lastly, don't let all this talk of managed code convince you that Win32 is anything other than a vibrant general-purpose way to build applications. There are thousands of new API functions in Windows Vista for Win32 developers to do everything from integrating with the Aero Glass theme to implementing live preview icons and ink-enabled applications. Don't write off Win32, or let others convince you that it's no longer core to Microsoft. It's the platform of choice for tens of thousands of applications. Long may it continue!