â€¦ .NET needs Springâ€¦yes, odd indeed, considering we have Spring.NET â€“ but Spring.NET isnâ€™t taking the bull by the horns, it doesnâ€™t seem to have that same grass roots effort. I know that asp.net mvc is still consider very new, at the same time, I belief this is an area where Spring could have good impactâ€¦ but donâ€™t stop there. Grails takes Spring (MVC), in my limited exposure to both – to a new level. The MVC model works. It is easier to follow, easier to inject into, easier to test. After years of webforms and itâ€™s clunkiness, I embraced asp.net mvc, spring mvc, django, ruby on rails, grails, etcâ€¦ as a much finer architecture to build on. And all of them are familiar, easy to move to and learn because of that model.
Take grails – incorporating the finest of tools in the java world: spring and hibernate (â€¦imo of course), combine it with a domain driven perspective, test-driven in focus, injected services, dynamic language capabilities, and really for the most part a DSL of sorts for creating web applications.
I believe as well that future of .NET is happening at Novell with Mono. .NET I believe needs to grow outside of the Microsoft sphere. Itâ€™s good for everyone, including Microsoft for that to occur.
I support â€œcompetingâ€ languages, java, c#, etcâ€¦ so although I feel in many ways java has already taken .NET where it needs to be, I think itâ€™s growth still has a ways to go.
It canâ€™t be an afterthought though.
Exploring and learning new languages and tools is so vital to a programmer. I think itâ€™s a mistake to be too tied to a particular company. That is one reason I do believe the expansion of .NET into the non-Microsoft world is critical. No, we wonâ€™t see it any time soon, but it will happen eventually. Perhaps DSLâ€™s like Groovy will almost replace that need. I see a Groovy.NET that uses Spring.NET (although in the .NET world, Castle seems to hold the torch, and that is fine â€“ and good) and NHibernate. But I donâ€™t know if that means as much to me if you canâ€™t develop and deploy everywhere/anywhere â€“ portability.
Recently I saw where there are tools for Silverlight for Eclipse â€“ and with that product more support for macs. I wouldnâ€™t mind being able to do all my development (.net or java or â€¦. groovy or grails) in Eclipse.
Soâ€¦what am I doing ? .NET at day – (and here Iâ€™d really like to dig into the service bus â€“ messaging â€“ ie. Mass Transit/NServiceBus/RhinoBus approach) â€“ at night on the side, working with Eclipse and looking at grails and spring.mvc â€“ currently walking through this: http://static.springsource.org/docs/Spring-MVC-step-by-step Itâ€™s fun 🙂
By the way, when working outside of â€¦ ie. NHibernate â€“ or working on a UI piece where a DTO is passed to a ViewModelâ€¦ Iâ€™d really like to find what I consider to be the core of a systemâ€¦ is a good agnostic unit of work framework. We have rule engines, validation engines, etcâ€¦ Iâ€™d like to use it whether there is a data context or ISession, or not. And Iâ€™d like to use it as a separated piece from the â€˜dalâ€™â€¦ standalone, pluggable. Whether itâ€™s in memory data, from a database, or even just in a test. Unit of work. And back to ISession or DataContext, Iâ€™d like to not have to switch back and forth â€“ but rather have each tap into the same infrastructure unit of work/change system trying software.