Hi everybody! Soon I begin create CRM for Real Estate Agencies sphere. In my backround 2 years of PHP-programming & then 5 years of ASP.NET (intranet applications). & I think maybe ASP.NET (i write code on C#) have good IDE (VS 2010), but this is monster :)

My application will be multiplayer webapplication for different real estate agencies (it is now fashionable to talk SAAS). Interaction over SSL via web browser.

What situation with developing of web applications now?

What language prefer for start new project? Pluses & Minuses of each? Or maybe choose another language?

Maybe now exist standarts of data structure & exchange in real estate at this moment?


In this situation, I would suggest building the site in ASP.NET (MVC or WebForms would work) simply because the tools are better suited to larger projects and it's where you have the most experience.

Depending on the technologies used, this may limit your platform choices. If you build a basic .NET site and build your data access layer yourself, you can get away with running your .NET site on Linux/Apache/Mono/DB of your choice.

If you decide to go with technologies like LINQ to SQL (or LINQ to Entities) for Data Access or WCF Services to provide a backend for your site, you'll probably want to stick to Windows Server/MS SQL Server for Enterprise Level performance/reliability.

Justin Niessner works with other databases besides MSSQL
@matt-dot-net - Yes, it does. But depending on the .NET technologies used (LINQ to SQL, LINQ to Entities, etc.), those database may or may not provide the Enterprise Level service the OP needs.
Justin Niessner
Technologies like NHibernate are available on Mono/Linux and offer the same advantages as LINQ-to-Entities. LINQ to SQL is also available on Mono and in fact works with multiple databases although it is less mature. As for the reliability/performance of databases, I bet the PostgrSQL and TokuDB folks would argue that they are more than ready to handle what you throw at them. Check out the performance of TokuDB for example:
+4  A: 

Work in the language you are most comfortable with. All modern programming languages have pros and cons. It's more important that you build a good product than the language used to build it.

Kyle B.

I'd suggest creating it in ASP.NET MVC. Why? Well, you've been developing ASP.NET and C# for longer than PHP and are familiar with the tools. I'd suggest MVC over web-forms as it makes it easier to separate concerns in the 'layers' of your app, making it easier to maintain and develop (especially with a "monster" application!).

Dan Diplo

I would also heartily recommend C# and .NET over PHP.

My own personal bias is that C# is a vastly better language than PHP but I am sure you have enough experience in each to have your own opinion.

ASP.NET MVC is more maintainable than plain ASP.NET WebForms and it is a lot easier to implement TDD (Test Driven Development) in MVC which (again my opinion) leads to more maintainable and higher quality software. Depending on your experience however, it could be a lot faster to get something up and running in WebForms. You can mix and match to some extent though. It seems common these days to design the main parts of an ASP.NET site in MVC and to build the administration screens in WebForms.

You could also use System.Web.Routing in WebForms at first and migrate over to MVC over time although again this might be difficult depending on your experience.

One thing, you do not have to deploy on Microsoft Windows. The Mono project supports ASP.NET projects on Linux very well. If someone tells you otherwise, I doubt they have tried it. If you go this route, you could also consider an Open Source database like MySQL.

MySQL can handle very large web loads with high reliability. Again, I doubt the naysayers have much direct experience with it. There are other DB options on Linux of course.

Deploy on Windows if you want. I just wanted to say that the .NET/PHP decision does not limit your OS platform decision as some suggest.


Thanks to all for answers! I think you right - ASP.NET MVC is my choice (I don'tknow it yet but I think I will learn it fast).


That being said, almost all real estate scripts are written in php

so I get a downvote for giving an honest assessment? lol

Well... if you're getting paid heavily for this, play it safe and go the ASP.NET way. Otherwise, go the PHP way. Why? Because if you can play with it, learning a little bit more of PHP will turn out to be useful, especially because it's not OS-dependant.