There are tons of awesome gems for Rails but I feel like the future is node... Which one should I go with?
You can either start by choosing a technology, then a project that is adapted to it. Or pick a project, and choose the framework that is best for achieving said project. Here are some thoughts about Node vs. Rails to help with your decision:
- Asynchronous IO, great for handling high volume of requests or massive amount of simultaneous connections.
- Smaller learning curve, given you're most likely already familiar with JS
- Can do much more than traditional web frameworks (e.g. php/rails), like binding to a specific port, handling socket connections etc..
- It's pretty fun :)
- Uses Ruby, so there's a bit of a learning curve here
- Extremely mature framework with impressive amount of existing libraries (known as gems) that plugs into it
- By nature, enforces great software practices (e.g. testing)
- Best adapted for creating traditional SaaS applications
- It's also a lot of fun :P
Honestly, if it's for fun, just pick one and start doing a project. They're both in their respective ways fantastic.
HOWEVER, there's still a way which works pretty well, which involves running rails from a Virtual Machine (e.g. Ubuntu) to which to ssh into, while coding from windows. Take a look at http://tinyurl.com/b8w4exm (using vagrant might be easier than this tutorial).
Whatever you do just pick _something_, and don't get lost down the rabbit hole (http://news.ycombinator.com/item?id=5197155).
Grails is great when comparing it to what came before it in Java land, however, given the choice on a greenfield project, especially one I'm doing for fun, my gut instinct is to reach for Rails. One reason being Rails has noticeably quicker startup times and has less need to restart the app during development. To be clear, Grails startup time isn't terrible, but Rails is faster, and you notice it when you're working with both.