Geeks With Blogs
Liam McLennan

image I am writing this post in response to David Burela’s ‘What is your preferred technology stack?’ meme.

As an independent developer I generally have a lot of flexibility to chose the tools that I think will deliver the best result, with the restriction that my customer is generally looking for a .NET based solution. I favour tools which:

  • are open source. Open source libraries are often designed to facilitate quality practices, not to sell tools. Also, access to the source and the price are bonuses.
  • support the software craftsmanship ideology. Small, sharp tools that stay out of the way and don’t force any design decisions.

Here is my current preferred technology stack, from the outside in:

  • jQuery + lots of plugins on the client. I hope to introduce CoffeeScript on a project soon.
  • I don’t have a firm opinion on view engines. nHaml is great in theory, but poor in execution. Spark is also fantastic, but I might switch razor in the future if I like it.
  • Asp.NET MVC. Leaving webforms behind was the best technology decision I have ever made.
  • Structure Map for IoC. I don’t have a strong opinion on this. I continue to use Structure Map because it is familiar.
  • ELMAH for logging exceptions.
  • Moq for mocking. AutoMockContainer for auto mocking.
  • StoryQ for BDD style testing
  • NHibernate + FluentNHibernate for data access. The more I use these tools that more I favour explicit mapping over auto mapping. I don’t like NHibernate but at the moment it seems to be the best of a bad bunch.
  • A custom framework for constructing objects for use in testing.
  • SVN for version control. I have used mecurial for some projects but svn is familiar and does everything that I need.
  • Pivotal Tracker, Green Hopper or Unfuddle for project management
  • Rake + albacore for build scripting. I have a screencast on this that will hopefully one day see the light of day.
  • Teamcity for continuous integration.
Posted on Thursday, July 29, 2010 1:13 PM | Back to top

Copyright © Liam McLennan | Powered by: