views:

181

answers:

5

Hey Guys,

Today I had a nice opportunity from my manager to propose new technologies to start up a new project. Here we used to use ASP.NET and SQL mainly. I really wanna propose using ASP.NET MVC and LINQ To SQL and do some nice TDD. The question is, i don't know how to convince my manager, actually i'm not sure of these choices myself. Could you please be me and propose the set of new technologies that you think is the best, and also propose some resources in case the developers don't know about these technologies, and any thing else that we might wanna consider during that transition.

PS: The project is a web site, and uses Amazon Web Services a lot, the good thing is, it's an internal project and time is not that much of a constraint.

Waiting for you sweet SO fellows.

A: 

I think if you are going the MVC route, you should probably also consider learning JQuery too.

Galwegian
+2  A: 

The obvious, if not immediately helpful answer is to go learn about any technologies before you recommend them to anyone. If you are not convinced then go pick up one of the bits of kit and try to make it do something.

.Net MVC, Ruby on Rails and a raft of other platforms exist, pick 3 and try the same project in each. That way you'll soon have an idea of which you think is the strongest and convincing you manager will become a simple case of "Technology X is better because it will take us less time to build a more stable product which will save you money".

ilivewithian
Totally agreed. I've already worked with Linq to SQL and i'm on my way with MVC since almost a month. The thing is I need people with real experience about these technologies to tell my what they think is best. Hope you get my point!
Galilyou
A: 

You could say that ASP.NET MVC and LINQ to SQL really boost productivity and are really easy to maintain. Also the logic get's separated so well that testing is a breeze.

Give SO as an example of how successful and scalable solutions in ASP.NET MVC with LINQ2SQL can be in those new technologies.

Konstantinos
Linq2Sql won't be supported by Microsoft anymore. :(
Arnis L.
Really??? Oh :S ..
Galilyou
Aha, MS will support Linq2Entities. L2S is legacy already. :/
Arnis L.
any links to support it? it sounds very absurd to stop supporting it after such a short lifetime.
Konstantinos
http://blogs.microsoft.co.il/blogs/gilf/archive/2008/10/31/the-end-of-linq-to-sql.aspx http://ayende.com/Blog/archive/2008/10/31/microsoft-kills-linq-to-sql.aspx
Arnis L.
Actually, there have been such a buzz about this that i`m surprised someone still does not knows. :)
Arnis L.
hahahaha indeed, i blatantly missed it
Konstantinos
+1  A: 

I had the same situation recently too.
Combo i use:

  1. ASP.NET MVC
    Cause i`m tired of webForms. And mvc is supposed to be faster in general.

  2. StructureMap IoC
    Cause i want app to be loosely coupled, tried it first and it does the job good enough.

  3. NHibernate
    Cause it fits DDD best despite of lack of sproc support.

  4. RhinoMocks
    For now - it just sits in my tool belt waiting for it's turn.

  5. AutoMapper
    Not needed anymore cause of NHibernate mapping capabilities.

  6. MsTest framework
    Still haven't seen any good argument for switching to another.

  7. JQuery
    Cause i dislike MsAjax framework. It's too clumsy.

  8. MVCContrib
    Cause it makes ASP.NET MVC apps easier to write.

  9. Fluent NHibernate
    Cause it gives better approach to configure NHibernate.

Trying to follow TDD and DDD. Gradually rewriting old legacy application too.
So far - so good. :)

Arnis L.
A: 

Do not dive into the pool before knowing the depth or you will hit your head on the pool floor. I understand its a internal project but before you pick any technology stack. I would do the following -

  1. Understand the team strengths, I dont want my freshwater fish trying to swim the ocean.
  2. Understand the domain bits as much as you can. Not all technology stacks solve a problem in the same way.
  3. You say time is not an issue but time often is the driving force. Set a feasible timeline.
  4. Prototype some bits of software.

I think you can narrow down to the technology stack you would want. My options would be -

  1. ASP.net MVC + Entity Framework + jQuery + Silverlight (if RIA is a goal)
  2. MonoRail + NHibernate/ActiveRecord + jQuery + Silverlight (if RIA is a goal)
  3. Mix and match 1 and 2
  4. If webforms is something you like or suits your team's skill set, why not ? There is lots coming our way in the new .net version.
Perpetualcoder
Yeah, they are adding "RenderTable" attribute to formview control. ^^ Anyway, just wanted to say - don't use Entity Framework, it will disappoint you.
Arnis L.