I am creating a crowdfunding platform with a thousands of pages connected with a database. I am outsourcing it to web devs. Option 1: Use Ruby on Rails, with contractors from India (freelancer websites) Option 2: Use node.js or Django with contractors who are friends of friends Option 3: Build it on Wordpress or PHP and find people to do it Price quotations received is about the same. Which language is good for scalability (lots of pages), has a big community (for support) and will be good to build a startup (building a team in the future)? Any thoughts?
NOT Wordpress! Facebook uses PHP among other languages, if that tells you anything.
Every programmer will be bias toward what they like and what they are used to coding with.
The bigger question for you is, have you completed your due diligence? Is there a real need for another crowd funding platform? Why would yours be so different that it would stand out among the others? Who is you target market? What is your unique selling proposition? How big is your potential market? Should you go vertical or horizontal? You may have already answered these and the two dozen other questions every entrepreneur must ask before they waste valuable time and money to become another business start up statistic.
Assuming you have a strong grasp of where you are heading and a solid strategic blueprint to be able to predict your growth, the last thing I will leave you with is this. The programing language is not nearly as important as your database structure and IT infrastructure for the purpose of scale. Not to say the language is not important - all three components work together. Spend time on the other two and work backwards.
If you would like to discuss this further at no charge, use the link below. I provide a free 30 minute consultation to first time callers.
PHP would probably give you the biggest pool of available developers which will help keep the cost down. If you pair that with a modern compiled framework like phalconphp.com and stay with php version 5.5 with its opcode and memory optimizations, you'll be able to run your site in low end ec2 instances for a long time.
Focus on the team that will build the web platform, not the programming language. Choose a team that will be able to:
1) Understand the requirements
2) Build the product
3) Support you (this is the most important)
Seems that your budget is quite limited. If you do not spend your initial money wisely, then you'll spend way more for fixing and expanding the platform. Work with a team with a proven portfolio and proven experience. Look at their portfolios and their clients. Consider south-eastern Europe companies, too.
As a technical note, do not choose WordPress for such a purpose, as it does not scale up efficiently. Anything else from what you proposed is fine.
PHP has the largest developer community, however, also consider ASP.NET or Java, which are backed by huge companies. Facebook is not using PHP. It uses a private version of PHP which compiles to C++.
I think some of the above answers are really helpful. Just to throw in my 2c:
- watch out for wordpress, yes. If you need a nice CMS for a website, it's a fantastic platform. It can be extended a bit, but if you are going to build a big, custom system using wordpress as a framework, you will likely outgrow it quickly and it will be painful
- as for the other platforms, I think that you can look at this in 2 ways:
1) It's great advice to consider gravitating towards the platform/framework that your chosen developers are expert in. But then, you also need a framework that 'fits' so you need to balance this with your business objectives. So, I'd refine the advice to say, 'make sure your team is expert with the stack that you have chosen, and that you've chosen a stack based on your business objectives and not just because your team is good at it'
2) please consider carefully your true objectives, and their priority. something like 'good for scalability' can mean so many different things. a php site can support millions of users, but a Ruby site can probably support those users with less tweaking. meanwhile, a node/mongo site can probably handle massive concurrent load pretty well. each has drawbacks and strengths, so you need to consider how much scalability you really need. if you can quantify this it will help so much in choosing a stack.
It's also great to consider the culture/developer availability, etc. Node developers are harder to find these days, and php developers are everywhere, for example. A MS stack can be great if you are integrating with certain type of systems, and a ruby stack can be great for rapid development.
I would recommend you really try to figure out your true needs, both short term and long term, and create a document that describes them. From there, choosing a stack/language should be much easier!
Here's a video on that exact subject: http://www.youtube.com/watch?v=ct8AI0YqFlw