BusinessRx Community

Dedicated to the advancement of software, technology and the people who devote their lives to it.

Welcome to BusinessRx Community Sign in | Join | Help
in Search

BusinessRx Reading List

These blog entries are written by industry experts and leaders. We consider this content to be a good read for any software developer or web technologist.

The Emergence of Choice in the .NET Ecosystem

Last week I gave a talk at the local .NET User Group (TRINUG). The original title of the talk was "10 Open Source Tools you Should be Using", but then I decided that I didn't really know what tools people should be using and I didn't want to just pick the popular open source tools... so I changed the name to "10 Open Source Tool I Love". This way I could just talk about 10 tools that I love and not tell people what to do, then I decided that I hated one of the tools but I still thought it was valuable... so I changed it to "9 Open Source Tools I Love and 1 I kind of hate". But then I figured that was a little too crazy and that I needed a good enterprisey title for the talk and settled on "The Emergence of Choice in the .NET Ecosystem".

In the past couple of years, and greatly accelerating in the last 12 months, the choices you have as a .NET developer have greatly increased. There have always been alternatives around, Mono and the Castle project have been around forever, but never before has there been so many choices and have those different choices been so widely accepted. What I find especially interesting is that Microsoft is even encouraging choice (ASP.NET MVC vs. WebForms. IronRuby & IronPython, etc). It also seems like the community in general is warming up to alternatives instead of just following the Microsoft path, perhaps this is just me and the circles I frequent, but I really see more activity in adopting non-Microsoft endorsed technologies.

The main reason for this post is to post a link to my powerpoint for the talk and to post the list of tools I talked about and the resources and alternatives. You can see the powerpoint on slideshare (or download it) but be warned I don't put much on my slides so it's mostly useless.

Here are the tools I covered:

1. ASP.NET MVC

I know its not really open source, but I had to include it. I have heard people dismissing ASP.NET MVC as a tool for the "test obsessed" or "pattern people" but in my opinion it is the most important thing to come out of MS in years.

ASP.NET Resources
Scott Guthrie’s Blog
Phil Haacked’s Blog
Rob Conery MVC Storefront

ASP.NET Alternatives
MonoRail
Classic ASP.NET + URLRewriting.NET + MVP Pattern

2. NHAML

I love the ruby Haml so I knew I would love NHAML. I doubt this will become a mainstream tool, but I love to see alternative implementations to the normal asp.net syntax.

NHAML Resources
Andrew Peter’s Blog (creator of Nhaml)
MVCContrib Codeplex
MVCContrib Google Group

NHAML Alternatives
Nvelocity

3. jQuery

I am fairly new to Jquery but so far I am loving it. I have much more experience with Prototype. The real point of including JQuery was to point out the power of these javascript frameworks.

JQUERY Resources
Learning Jquery
FlyDom Plugin

JQUERY Alternatives
Prototype
Scriptaculous
Mootools
ExtJS

4. Castle ActiveRecord

I love NHibernate and Castle ActiveRecord makes NHibernate even more enjoyable and usable.

Castle ActiveRecord Resources
Nhibernate
Nhusers Google Group

Castle ActiveRecord Alternatives
SubSonic
Entity Framework

5. SQLite

This isn't really a .NET tool, but its a great tool for running clients in off-line mode or just as a simple light database. I love using it as a testing database so my tests run fast and they don't clutter up my other database.

SQLite Resources
ADO.NET Provider
SQLite Administrator

SQLite Alternatives
SQL Server Compact Edition
NOT SQL Server Express - Installation and size limitations mean Express is not competition for SQLite.

6. MbUnit

MbUnit has long been my testing framework of choice, xUnit.NET is more and more compelling though.

MbUnit Alternatives
nUnit
xUnit.NET

7. Moq

I am not a mocking fanatic and usually only mock out external dependencies or long running operations. I have used Rhino.Mocks in the past but I wanted to show off the simplicity of Moq.

Moq Alternatives
Rhino.Mocks
Typemock (commercial)

8. Ninject

I am just starting to get into DI (still not sure the value is worth the complexity yet) but Ninject would definitely be my framework of choice because it helps me avoid XML.

Ninject Alternatives
Castle Windsor
StructureMap

9. Watin
I am a long-time fan of Watir and Watin so I wanted to be sure and feature it (even though isn't as necessary when using ASP.NET MVC)

Watin Resources
Watin Test Recorder

Watin Alternatives
WatiR

10. Cruise Control.NET
Cruise Control.NET is the tool that I hate. I love the benefit, but it is a total pain in the ass to setup and get running the way you want.

Cruise Control.NET Alternatives
TeamCity (semi-commercial)

If you have any other alternatives for the tools I talked about please leave a comment and I will add it to the post. I have an example app that includes samples from all of these tools as well, but I want to clean it up a little bit then I will post it to Google code. (I also have some other plans for it that should be alot of fun)

-James

Published Monday, May 19, 2008 2:12 PM by Infozerk Inc.: averyBlog
Filed under:

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit
Powered by Community Server, by Telligent Systems
'