I have an idea to make an educational web application but i couldn't decide which technology to use like PHP, RoR or Node.js? Please give some advice.
Ruby on Rails is a good platform for building applications which are essentially large content management systems, with very relational content. If you can break your application down nicely into resource/data models, then Rails is a great way to build it, and very powerful.<p>Alternatively, if your application is much more about processes, and data isn't as important, or isn't as relational, Node.js might be a better thing to develop in it. The main problem with Node at the moment however is that it's much less mature than the Rails/Ruby community, and lacks the higher level frameworks like Rails.<p>I can't recommend PHP for anything at all, unless you've got 10 years PHP experience and don't want to learn a new technology. Although I'm guessing that isn't the case from the wording of your question.<p>Some other things you might want to consider: Python and Django are similar to Ruby/Rails. I think Rails is a bit more capable, but Django is easier to learn. C# and Microsoft's MVC stack is remarkably good - I usually don't work with anything Microsoft based, but was given a project that required it, I was very impressed.
1. Working with Node.js will keep you relaxed with a unified language on both ends of your web application.<p>2. It has also proven to be faster and more smoothly scalable than Ruby on Rails.<p>3. You'll find a good community support and lot, a lot of modules for nearly any purpose you seek in your application.<p>4. Many industries are moving to use it (Microsoft, LinkedIn, PayPal, NYTimes ... )
As far as I can tell, the area that you will have the biggest issue in node.js is if your data models are highly relational. Last I checked, there wasn't a robust node.js ORM for SQL data stores. Otherwise don't fret it, just get building.<p>Also, as long as you're looking at all those options, don't forget about Python/Django.
It really depends on your application. Each language, platform and framework has a niche. Depending on what you're doing none of the above might even be the answer. You might be better served a serverless solution like firebase.
there's no mainstream RoR analog in node.js, unless you consider Meteor, which has a very specific niche that doesn't apply to most sites.<p>It really comes down to what you know best, what you can get other developers for the easiest, and what is most easily maintained over the long term.