My Current .Net Application and Tools Stack
For what it is worth I thought I would share what my current application stack for Enterprise Web Application / Line of Business Applications. When these tools are used together they allow me to develop in a frictionless way. I am able to build maintainable software using these tools.
For the runtime environment I like the following:
- SQL Server 2005
- Windows 2003 Server
- IIS 6
- .Net 3.5
- Asp.Net MVC web application framework
- JQuery for client side Javascript
- Structure Map for the Inversion of Control (IoC) container
- NHibernate for Object Relational Mapping
- Tarantino for some utility classes.
- MvcContrib – additions to the Asp.Net MVC library
- Castle Validators – Great validation engine which is part of the Castle framework.
- FluentNHibernate – I really like the AutoMapping by convention. I have this in a small side project and I think it could change the way I think about databases.
Testing, Development, and Build Tools
- Visual Studio – VS 2008 with C# and Web Developer installed. I don’t need any of those silly VBx languages installed.
- nUnit for Unit and Integration Testing
- Gallio/MBUnit for running and reporting of Web UI Automation Tests
- WatiN framework for automating Internet Explorer for UI Automation Tests
- Cruise Control for Continuous Integration Server
- NAnt for build scripting language( I use the term scripting very loosely). I also use this to automate application deployments, it works great. I only wish it could be deployed as a single executable.
- Resharper – Visual Studio Add-In usable for a solution with lots of files.
- TDD Productivity Plugin for Resharper
- TestDriven.Net Visual Studio Add-in for running tests fast.
- Tortoise Svn – A Windows Explorer integrated subversion client. Simple and Easy.
- Subversion – source control. I prefer to have a hosted subversion repository. If that is not an option I like Visual SVN for hosting a repository.
- Tarantino – to handle Database Change Management. without this DB change management is a total pain.
- SQL Compare and SQL Data Compare- great tools for creating database change scripts. The Pro versions can be automated via command line which is a win in my book.
- CCTray – the cruise control client to monitor builds from the system tray.
- Balsamiq Mockups – great tool to create a ui mockup.
- Vitual PC / VMWare – I have machines for both. I seem to think that either platform is ok enough for me. The real performance in vm’s is how I configure the client machines.
- WinDBG – great tool for getting into the down and dirty.
- QUnit – a unit testing tool for javascript. Once I started using this.. I started liking Javascript again.
- 7-Zip command line.
- Dos / batch files. Too many people skip the basics to solve simple automation problems with batch files. I automated a server setup using a batch file and took a manual multi-hour process to a 30 minute totally automated setup. I cannot stress the power of the pure command line.
- Fiddler, Developer Toolbar – IE plugins.
- Google Chrome – I like this browser a lot.
- Rhino Mocks
Tools and Frameworks I want to tryout sometime soon.
- NHibernate Profiler. I have high hopes for this tool, I installed .Net 3.5 sp1 just so I can start using it.
- WinSnap – Screen capture tool. Thanks Jason for the recommendation.
- JQuery UI – ui gadgets for jQuery.
What do you use?