The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Ruby on Rails - Just good for prototyping?

Rails seems like an excellent way of getting a basic data-driven website running very quickly. However, it seems that all of the "scaffolding" would have to be replaced to produce a finished website and so the total work involved would be the same as if PHP was used instead. Am I missing something?

(I read a little about RoR at (brief Ruby intro) and (quick Rails tutorial). That's all I know about it so far.)
cja Send private email
Wednesday, May 18, 2005
It seems as if you've been mislead by scaffolding as well :)

Ruby on Rails comes with a couple of code generators to generate initial code for your web application. This is all that these generators do. Rest you have to build upon yourself. You can even start without using any of these generators.

If you want to evaluate Ruby on Rails, then concentrate on ActionRecord. If ActionRecord satisifies you, then march on to ActionPack.
Pythonic Send private email
Wednesday, May 18, 2005
What's ActionRecord? Aahhh ... ActiveRecord!
Pythonic Send private email
Wednesday, May 18, 2005
I have only been using Rails for a week now - however,
one thing I can see right away is that my Rails projects
are going to be far more maintainable than any PHP project
I ever did.
Wednesday, May 18, 2005
Joe, please elaborate.
Thursday, May 19, 2005
Maybe I am just a bad PHP coder. ;)

Most of my PHP projects tend to start out
nice and pretty. A year later they resemble
a bad PERL dream.

The forced MVC separation, combined with a
language that was designed for OOP from the
ground up, encourages clean and maintainable
projects in ROR.

There is a lot of hype around Rails right now.
I believe when the smoke from the hype finally
blows away, people will find that there is real
fire in ROR.
Thursday, May 19, 2005
Lots of people think RoR is good for prototyping because of what it's bad at, specifically bad at working with complex legacy database designs that don't conform to the expectations of of ActiveRecord.

But, Rails is actually very good at making applications in the small to medium size, not just prototyping them. Once hooked up to FastCGI, Rails is a fast, lightweight framework that gives you a lot for free (including the best "Ajax" support you can get, right nowa).

Rails also gets to leverage all the libraries in Ruby, so it has bindings to all sorts of neat libraries, a rich data structure library, and a standard library for distributed applications.

It's a pretty neat deal, when you're starting from scratch on a project.
Thursday, May 19, 2005
"It's a pretty neat deal, when you're starting from scratch on a project."

Actually, connecting Active Record to legacy DB tables
is not such a big deal. (mostly)

You create a table that has the goodies AR expects.
You join that table with the legacy table in a view.
You update the tables in the view with an "instead of"
trigger, but AR neither knows nor cares about that.
Thursday, May 19, 2005
These were exactly the sort of answers I was looking for, especially those from Pythonic. Thank you.

Does anyone know about how to update from one version of Rails to another? Is it fairly painless?
cja Send private email
Thursday, May 19, 2005
>  If ActionRecord satisifies you, then march on to ActionPack.

And then you will be a ActionStar.
son of parnas
Thursday, May 19, 2005
Joe - KirinDave's point was that it was very difficult to get Rails to play with tables that weren't created according to its conventions, not legacy database providers.

Rails makes the assumptions that a) you have control of the database, and b) your domain maps really nicely to tables. Given the degrees to which those two assumptions vary in real life, every framework has a sweet spot. Obviously, Rails lets you override all the defaults if you want and you're just left with a nice MVC framework and a language you either like or not. I think the benefits of getting a prototype out really quickly are huge, but when you start needing to tear it down completely, you might as well pick whichever language/framework you like best.
Thom Lawrence Send private email
Sunday, May 29, 2005
Joe - totally didn't read the rest of your post. You're right, so long as you can actually add the new table and view.
Thom Lawrence Send private email
Sunday, May 29, 2005
I read about it yesterday and say a comment of "your primary key really should be named id".

Huh. I have primary keys named "inventory_number", "employee_id", and the like. So to try out RoR is going to be quite a hassle after reading that tutorial.
Friday, June 10, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz