Use Ruby on Rails for a standalone prototype?

I need to develop a web prototype. I want to learn and use Ruby on Rails to do it. I don't have an ISP for this project. I want to build it on my laptop (WinXP Pro), then zip it up nicely for a clean easy install on someone else's laptop (most likely XP as well) -- someone else who is not a developer.

Is Ruby on Rails a good choice for this type of standalone deployment? What are my deployment options using Ruby on Rails?

Sure, this is very easy with Rails. Your entire project is contained within the project directory structure, so if you Zip it up and send, all someone else needs to do is create the db tablespace and run rake db:migrate.

You still need a way to run Ruby code on the "someone else's laptop (mostly likely XP)." That laptop is not likely to have a Ruby interpreter installed. It's also not likely to have a database server running either, so you can't just "rake db:migrate" and expect that to work.

You can freeze Rails into the project's vendor/rails folder so you'll be good there, but you will need to install Ruby and a database on the other machine. I would highly recommend using SQLite for your database that way you can have the database file with pre-fill content all ready to go and have it stored inside your project as well. This is very easy now since SQLite is the Rails 2.0.2 default. It really works great for this sort of thing.

Oh, and one more thing. You would be fine running this with WebBRICK (the built-in Ruby web server), but for bit nicer experience you might want the mongrel gem as well. Also remember that if your application uses any gems you will also need to install those (and that will require RubyGems to be installed too).

As for the gem requirement, you can install gemsonrails (Dr. Nic) on your development machine. It allows you to do something similar to gems:freeze:rails, but with gems that are not part of the Rails core.

For distribution you might also want to check out RubyScript2Exe, which does the zipping that you describe but pops it into a self extracting exe. I think you have control over setup scripts as well. I believe that this is what InstantRails uses but I can't swear to it.

Good luck!

Thank you for your help. RubyScript2Exe and using SQLite sounds like just the ticket. Though I still cringe at the thought of putting together any installation process on Windows :slight_smile:

We are now also considering finding an inexpensive shared web hosting service that supports Rails. What are the pros / cons of zipping up a standalone package with Ruby interpreter, WebBRICK, SQLite, and gems all included vs. deploying a Ruby app to a Rails hosting service? It's just a prototype, so there's no hard core bandwidth, disk space, or site management required. Looks like Site5 has some great deals -- too good to be true?

I have used Instantrails to install, develop and distribute an entire Rails application on a 2GB flash drive. The performance is not exceptional, but is OK if it is a high speed USB drive. To transfer to another computer simply plug in the flash drive and load the program. Or copy everything to a directly to a subdirectory of your choice on the c: drive. Very clean isolated install.

I have heard about rubyscript2exe and will try it.

Fabulous alternative! Flash drive -- why didn't I think of that? That will come in handy because we may have an issue using a company provided laptop to do work on the side. If our new app is not actually installed on the company laptop that will help immensely.

Thank you!