Hacker News new | ask | show | jobs
Ask HN:Is it possible to make an app in Node.js same as a RoR app?
5 points by theneelpatel 4457 days ago
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.
7 comments

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.

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.

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.

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.

You use the one which you are the most confortable with.
This. If it’s a significant app just use what you’re already comfortable with. Don’t go crazy trying to pick a tech stack, it really doesn’t matter much anyway.

Also, I can’t speak for PHP but there aren’t any frameworks for Node that does nearly as much as Rails does (Sails[1] being the closest, but yet still far)

[1] http://sailsjs.org/

For PHP it would be laravel (http://laravel.com/)

Though personally I won't work with it unless it's running Twig for templates. To each their own, though.

1. Working with Node.js will keep you relaxed with a unified language on both ends of your web application.

2. It has also proven to be faster and more smoothly scalable than Ruby on Rails.

3. You'll find a good community support and lot, a lot of modules for nearly any purpose you seek in your application.

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.

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.

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.

Can you give us more information about your programming background (if any)?
Undergraduation in CS. And i am good at C/C++,bit of c# and Java and I am familiar with RoR.
Like others said use what you feel you are most comfortable with. The reason is that when you don't like the technology you're using, no matter how popular or advanced it is, there is a possibility that you might lose interest.

But that's only a 'possibility,' we don't know you personally so we can't judge how determined you are to achieve your goals no matter what.