S#arp Architecture in 2010
So it has been rather quiet on this blog for quite sometime. I could give you the same old excuses that others have, but in all honesty, I've just been really busy in life and my job.
2009 Recap
-
Started my employment with Six Sigma Systems
-
Asked my girlfriend to marry me (more on that later)
-
Bought a house
-
Watch my brother do another deployment to Iraq
-
Got married
So what does 2010 hold in store for me? Well simple...A ton more work. A little while ago, Billy McCafferty contacted me about my interest in becoming the development lead for S#arp Architecture. When this email came in, I was floored! Over the past year I have invested a lot of time into S#arp Architecture, using it both at work as well as on side projects and on personal sites. After thinking about it (and waiting for my wife to come home), I responded and let him know I was VERY interested in this opportunity. I am excited to say that I am now the development lead for S#arp Architecture and that Billy and I are wrapping up our latest release. Originally Billy and I had agreed that he would wrap up the Q1 release and I would officially take over with the Q2 release. This has since changed as the releases complimented each other and the timing was just perfect (plus I think Billy wanted to work with me a bit to make sure he was right in his choice of me :-) ).
Future of S#arp Architecture
Starting with this next release, S# will be based on ASP.NET MVC 2. The RTM is right around the corner and seems pretty stable so far. There are quite a few new features, with Model Validation and Areas being two big ones. We will make use to the baked in Areas rather than continue using our homegrown solution. We will however add some new extension methods for creating links to areas and default action links. This is due in part to the default way of creating an action link for an area:
<%= Html.ActionLink("Link Text", "ActionName", "ControllerName", new { area="MyArea" }, null) %>
I would like the syntax to be something like this:
<%= Html.ActionLink<ControllerName>(c => c.Action(), r => r.Areas.Area, "Link Text") %>
I'm not sure if this is possible, but we are gonna look into it.
Billy is also working on stuff, besides robotics, for the release. One of the big things is a better leveraging of the Application Services and CQS. You can read more about that in this post. If you aren't a member of the S#arp Architecture google group, I would recommend you do so. You can join at http://groups.google.com/group/sharp-architecture.
Now for the big announcement, S# will provide support for EF 4 in the future. After this release is completed and packaged, I will start work on this area. We will try to keep the breaking changes to a minimum, but I am not sure if that will be possible. With the use of EF 4, the number of dependencies will drop, the number of project templates will increase by 1, and hopefully the number of users will increase as well. Some of you might be worried by that last statement, but I can put your fears to rest. While we would like to increase the adoption of the project, hoping that it would become a default choice for people wanting to use MVC with a great framework, we have no plans on abandoning NHibernate in the future. As a matter of fact, support for this will grow as well. Billy and I both believe that adding EF 4 support, could help bring some others into our world of good design practices.