Hello,
I am starting up a new website that will need to meet the following requirements :
- Performance and Scalability : I am aiming to have some high traffic with high number of concurrent connections during few minutes. No heavy contents (like Flash or Videos) will be present in the first version
- Mobile Site : The first version will be launched at the same time for Internet AND for mobile users (especially iPhone users)
- Fast developing : a beta version will be deployed in few months.
- Multiple DB accesses and reports : The Database will be accessed very often in Write and Read mode
- Social networking features : profiles, forums, polls, comments, groups, IM...
- Multi-languages site : English, Spanish, French...
Of course, I want to follow other standard requirements like low building and maintenance costs, solid architecture, simple and user-friendly design and SEO.
My background in programming languages is C, C++, Java and PERL. However, I can learn quickly AND I plan to hire one or two web developers.
So now my question is : what technology, platform and framework do you advise me ?
- ASP.NET and MVC ? (seems to me the most logical solution but how expensive it is for development and production?)
- PHP and some framework (CakePHP...) ? (the most popular but I do not like PHP language..)
- Open Source CMS : Drupal or Joomla? (the most rapid to build but is it scalable?)
- Python and Django ? (google does not mistake very often)
- Rails? (twitter choice).
- Grails? (I love this one...but is it not too risky for this new techno ?)
Thank you very much for your answers.
Regards.
EDIT 03-Sept-2009
After many days of hesitations and tries , I have finally made up my mind. I'll go for RAILS and NetBeans as the IDE. (For DB, I didn't make my choice yet)
RAILS: The community is big and very enthusiastic, concepts are clear (MVC, RESTFult style, conventions...) and Ruby language is simple to learn. Performance will mainly depend on my architecture..and I pray that I will get the same performance issues as Twitter :-)
PHP: FYI, I have started with PHP & Kohana framework, but I couldn't simply deal with this (dirty) PHP language and the billions of framework around it.
ASP.NET was also envisaged but the youth of the ASP MVC framework plus a higher cost were downside that have counted in my choice
Java: it would have required a lot of configuration between multiple frameworks Spring, Hibernate AND development productivity in JAVA is low compared to Ruby or Groovy.
Grails: it was too risky although it was my primary choice. Grails is young and resources/documentations still to be built.
Python & Django : I didn' give him a chance. Why? No reason.
Again, thx for your answers.