A few weeks ago I went to a Node workshop. It was really good, but in order to participate, we were asked to install Node. We had an hour. Including the workshop. It was NOT enough. Everyone at the workshop ran into some kind of problem, and it’s definitely something I’m going to consider more carefully next time I’m tempted to sign up for a workshop!
If you want to create a Rails app, you need to lay some groundwork. That can mean installing Ruby and Rails on your computer. It doesn’t sound like much, but every computer is set up differently, so it can be pretty simple, or it can end up taking quite a while. You do really just need to install Rails once, but there’s also other ways around it.
For development purposes it’s a clever idea to use a virtual machine. Using a VM (virtual machine) can be a great idea especially if you’re working with a team. While you still need to install the VM software, using the same development environment can eliminate a lot of headaches and bugs because everyone is working with the same setup. That means a lot less “This works on my computer, why doesn’t it work on your computer?”
The setup I’m currently using is Vagrant on top of Virtual Box, running Ubuntu. Initially, I had the relationship a little backwards. Virtual Box is the software which creates and runs virtual machines, and Vagrant runs on top of Virtual Box, and makes it much more user-friendly.
An alternative to a VM could be an online IDE (Integrated Development Environment) It’s more restrictive, but it’s a good idea if you want to start playing around in a programming language without having to spend much time getting set up. There are a many online IDE’s available- quality and features vary, and there are some free ones out there (though you may need a credit card to register) One that I’ve used in the past and that I was pretty happy with is Cloud9. No, it’s not quite the same as having a VM or installing Rails directly on your system, but it’s definitely the quickest way to get something up and running if you’re just learning and want to practice.