Why Ruby on Rails

Our company is mainly made up off application developers but we have a
lot of web work coming up so we are deciding which route to take at the
moment. We initially identfied ASP.NET 2.0 with the ATLAS AJAX
framework because of the RAD features, easy to learn etc.

I had read some stuff on ROR and our Boss who is open minded allowed me
to create a sample application with ROR. He was impressed with how
quickly i picked it up and we are already practicing TDD/MVC/Agile
development which makes it more enjoyable to program ROR rather than in
ASP.NET it can seem your configuring wizards rather than meaningfull
programming. We were really impressed with how easy it was to use AJAX
and the RJS stuff is really powerfull.

Basically if we can put a proposal together as to why ROR is a real
alternative then he will step up or ROR development/training and we will
use it for some of the web projects we have lined up. Can anyone point
me in the right direction as to links stating the advantages of ROR?,
who’s using it?, any sites out there with it at the moment?.

I have read the Agile book and stated the obvious adavantages as speed
of development, cheap, easy to learn, TDD/MVC/Agile sells itself. Do
the javascript Libraries in ROR have any widgets similar to ASP.NET’s
gridviews, treeviews etc as the main reason for choosing ASP.NET is
these fancy controls that you can configure with a wizard and ASP.NET
does the rest.

We already use eclipse so RadRails is a great plug in and is what i used
for ROR development but is there any other IDE’s in the pipeline?

Any help much appreciated.

Johnny B wrote:

Basically if we can put a proposal together as to why ROR is a real
alternative then he will step up or ROR development/training and we will
use it for some of the web projects we have lined up. Can anyone point
me in the right direction as to links stating the advantages of ROR?,
hmm… www.rubyonrails.com? :wink:
I think a similar question was debated here just a few days ago
‘Marketing Rails’ or something like that. Check the archives. If you are
really not able to find it, PM me and i will look it up for you.
who’s using it?, any sites out there with it at the moment?.
There are a ‘few’ pages listed here:
Peak Obsession

I have read the Agile book and stated the obvious adavantages as speed
of development, cheap, easy to learn, TDD/MVC/Agile sells itself.
Exactly these are the are the advantages of RoR. Why do you need a site
to tell you the same? :wink:
Do the javascript Libraries in ROR have any widgets similar to ASP.NET’s
gridviews, treeviews etc as the main reason for choosing ASP.NET is
these fancy controls that you can configure with a wizard and ASP.NET
does the rest.
I don’t know ASP.NET, but be sure to check out these sites:

http://script.aculo.us/

more general:

http://wiki.rubyonrails.org/rails/pages/Plugins

We already use eclipse so RadRails is a great plug in and is what i used
for ROR development but is there any other IDE’s in the pipeline?
I don’t know but are you sure you need something different? I mean
Radrails is cool, the development is very active etc.

Cheers,
Peter

On 19 Apr 2006, at 09:57, Johnny B wrote:

I have read the Agile book and stated the obvious adavantages as speed
of development, cheap, easy to learn, TDD/MVC/Agile sells itself. Do
the javascript Libraries in ROR have any widgets similar to ASP.NET’s
gridviews, treeviews etc as the main reason for choosing ASP.NET is
these fancy controls that you can configure with a wizard and ASP.NET
does the rest.

The only thing I really miss in RoR (and yes, I know there are a few
commercial JavaScript solutions out there) is a decent grid-on-demand
control. Openrico.org’s LiveGrid is very promising, but it lacks a
few things : scrollwheel support on the list itself, selection
(although this can be implemented using a patch I believe), ?
However, the dedication of the people behind Rico is just great, so
I’m fairly confident they’ll come with a greatly advanced LiveGrid
control in a few weeks/months.

Best regards

Peter De Berdt

For tree widgets, look at livetree. it’s very nice.

Why Rails? It will save you money. I’m an engineering manager . I make
my
living doing enterprise java work and I’m continually blown away by the
quality of the rails framework.

Originally, I thought “yeah the generation is nice and get’s you
something
up quickly, but then it’s business as usual.” Wrong. Development on
rails
is easily several times more productive than development on Java. The
only
thing lacking for me is I haven’t been able to get RadRails running on
my
Mac, but even working without an IDE, rails development is much faster
than
development with Java on Eclipse. I expect that your experience
regarding
.Net will be the same.

There are some applications i wouldn’t do on Rails (like a securities
trading system) and processing-intense things should probably be
off-loaded
to a more efficient language (and invoked from rails through a web
services
interface), but as a basic web development framework rails is very hard
to
beat…

“I had read some stuff on ROR and our Boss who is open minded allowed me
to create a sample application with ROR. He was impressed with how
quickly i picked it up and we are already practicing TDD/MVC/Agile
development which makes it more enjoyable to program ROR rather than in
ASP.NET it can seem your configuring wizards rather than meaningfull
programming. We were really impressed with how easy it was to use AJAX
and the RJS stuff is really powerful.”

You’ve already discovered it yourself. That same experience you had
is going to be mirrored across the board with Rails, you’ll be
impressed by how easy it is to do certain things, and that the stuff
is really powerful. That’s the advantages.

I guess a good argument against ASP.NET is to go ahead and implement
the same thing in ASP.NET and see how you feel about it. One other
note: Considering a web application is a complicated set of layers,
I’m not sure if you want to make your framework decision based on
which framework has the fancier UI widgets. I find that generally
speaking I spend the least amount of time getting pictures painted on
a screen and the most amount of time deep in the guts of the
framework.

My two cents,

Tim C.

On 4/19/06, Larry W. [email protected] wrote:

There are some applications i wouldn’t do on Rails (like a securities
trading system)

May I ask why? NO, this is not supposed to be a “duh, you can do
ANYTHING with Rails, and everybody who says otherwise is stupid!!1!”
type of reply. In fact, I somewhat agree with you, but I recently
realized I don’t even know why I feel that way. Is it because
dynamic scripting languages, by being way less chatty than something
like Java, somehow feel more fragile? I seriously wonder.

  • Hendrik

On Wednesday 19 April 2006 08:57, Johnny B wrote:

I have read the Agile book and stated the obvious adavantages as speed
of development, cheap, easy to learn, TDD/MVC/Agile sells itself.

Johnny

Another good book is “Beyond Java” by Bruce Tate. He goes about it not
by
saying that there are better alternatives (Rails is his main example)
but by
saying that the current systems (Java and by extension .Net) are
reaching the
end of their useful life for day-to-day web development.

Apparently Tate is working on a “management friendly” book but I gave
Beyond
Java to my boss and he was very receptive.

Ashley

Hendrik,

I tend to agree with that statement for management reasons, more than
technical or development framework issues.

I’ve worked for several Insurance companies and Banks where some of the
financial algorithms go through some pretty brutal approval processes
by certified accountants before they are approved for use in a system.
We have several systems written in C and in COBOL, that are blessed by
the accountants as accurate. We use these routines for several crucial
calculations.

One Bank I worked at last year had started the process of getting some
Java based web services approved as replacements for these old routines.

They hope to get all the approvals some time in 2007.

I would expect securities trading companies would have some of the same
concerns about accuracy, that Banks and Insurance companies have.

It may be due business needs more than a programming choice.

-Sean

Hendrik M. wrote:

On 4/19/06, Larry W. [email protected] wrote:

There are some applications i wouldn’t do on Rails (like a securities
trading system)

May I ask why? NO, this is not supposed to be a “duh, you can do
ANYTHING with Rails, and everybody who says otherwise is stupid!!1!”
type of reply. In fact, I somewhat agree with you, but I recently
realized I don’t even know why I feel that way. Is it because
dynamic scripting languages, by being way less chatty than something
like Java, somehow feel more fragile? I seriously wonder.

  • Hendrik


http://www.mans.de

Well we are looking to replace a number of legacy desktop financial
systems created in Visual Basic and fox pro to a web solution but there
are not any real complicated calculations involved. I have read some
other posts from people stating that they wouldn’t use ROR for
financial, transaction heavy or security intensive systems but never got
a valid reason apart from the business needs argument above and that ROR
is unproven in these area’s.

On another note to the initial post about gridview controls, treeview
etc, scriptaculous has a number of update tickets in for these controls
which i am glad to see. I have looked at rico and
http://script.spinelz.org/ and while i am impressed with the examples on
their respective sites i suppose what frightens people off(like my boss)
is what if work on these open source initiatives slows down or stops
completly then you may be come reliant on something that is dead.

Instead off these new javascript libraries should their creators not
just create seperate components and submit them to exisiting libraries
like prototype/scriptaculous to make them more powerfull rather than
having lots of different javascript framweorks which basically do the
same thing?

I’ve worked for several Insurance companies and Banks where some of the
financial algorithms go through some pretty brutal approval processes
by certified accountants before they are approved for use in a system.

Yeah, that makes sense. Thank you.

  • Hendrik

This is very contradictory and I’ll tell you why: open source means
you have access to the source, so even if the core developers give
up, you still have full access to the source and you can modify it in
any way you want. Besides, most of those libraries are maintained by
more than one person.
One of our customers had to see a commercial software supplier file
for bankrupty and losing all support at that point… and no source
code whatsoever, as it was closed source. That was back in the old OS
9 days… and then came OS X. They knew OS 9 was eventually going to
be discontinued, so again they had to look for new software.

Instead off these new javascript libraries should their creators not
just create seperate components and submit them to exisiting libraries
like prototype/scriptaculous to make them more powerfull rather than
having lots of different javascript framweorks which basically do the
same thing?

Rico and script.aculo.us both use prototype.

Best regards

Peter De Berdt

On 19-Apr-06, at 7:32 AM, Hendrik M. wrote:

like Java, somehow feel more fragile? I seriously wonder.

Hey,

as someone who has done web-based trading systems I’d say there
is nothing stupid about using rails for the front-end.

I’ve seen j2ee-based successes and failures as well as perl-based
successes
and failures.

The common theme among the failures has been the attempt
to create “one solution to rule them all” while the successes have
been more
focused on one particular type of trade - i.e. metals or primary bond
issues.

Your real limiting factors are the back-office systems and legacy
databases
you may have to integrate with. Your choice of platform will work
for or against
you here - each situation is different, obviously.

In fact, I find it really surprising that we don’t hear stories about
rails being
snuck into trading situations. I can think of no easier place to get
“the business”
to sign off non-compliant systems (although my experience has been
limited
to front-office environments).

Regards,
Trevor

Trevor S.
http://somethinglearned.com

I would say the main thing is programmer productivity. Time is money,
Rails saves both.

Actually that was pretty good. You know what, if you need to make a
presentation in Powerpoint to sell this to somebody, do two slides in
a row like this:

Slide 1
Time is money

Slide 2
Rails saves both

Anyway, your other questions:

TextMate is the preferred alternative to RadRails for many Rails
developers.

The availability of treeview and gridview out-the-box stuff: I
honestly haven’t heard of such a thing, although I do know there’s an
excellent graphing package which Geoffrey Grosenbach presented on at
Canada on Rails and which if I remember correctly he also wrote.


Giles B.
http://www.gilesgoatboy.org

Hi, I’m currently a new developer on both ASP.Net and RoR. I’m in the
process of building ASP.Net as part of a contract arrangement but I’m
building the RoR counterpart as a learning exercise with a real
application. Thus, I’m taking notes as I go through this process and I
have
some very interesting findings so far.

o Pros

  • solid IDE with good database integration and debugging
  • very good configuration management for role base authentication
  • good development framework for building ASP.Net 2.0 applications
    • seperate code from HTML/XHTML
  • good web project structure
  • alot of books of the market but only a few that I would consider
    great
    (i.e. ASP.Net 2.0 web programming with C# 2005 by Joel Murach and
    Anne Boehm)

o Cons

  • platform restriction
  • supports other databases but it works the best an dprovides
    better
    support for SQL Server
  • sparse documentation in regards to deploying your application
    from different versions of their IDE (i.e. VS 2005 vs VWD 2005
    Express)
  • cost associated with their mid-tier tools (i.e. VS 2005
    Professional
    and SQL Server 2005)
    • currently MS is offering free 1 year licence of all the
      express
      tool
  • restricted to using the IDE for any reall development
  • cannot install SQL Server 2005 Express within VPC and this is an
    addtional cost for VPC
    with XP w/SP2. However, I was able to get VWD 2005 Express
    installed
    and running but
    no SQL Server 2005 Express at this time.

RoR

o Pros

  • no financial cost to get up and going with RoR development
  • dynamic programming language (i.e. Ruby) that has some of the best
    features
    functionality of its ancestors
  • supports many platforms as well as the major database engines
  • execellent project structure for organizing web applications
  • can work both within IDE and from the command line
  • great people to assist the new RoR developers in coming up to
    speed
  • not many books but the few I have come into contact with are
    execellent.
    (quality over quantity) For examples, Rails Recipes, Programming
    Ruby,
    and Agile Web D. with Rails.

o Cons

  • availability of RoR IDE with database integration

    Note: I see RadRails as being that IDE and I look forward to the
    database integration at the
    level of Visual Web D… 2005 Express. Also, it
    would
    good see blessed plugin
    for supporting role based authentication

- not enough of common framework that's blessed by the core team and 

is
a standard part of
rails. There are certain things that one does over and over again
and
this needs to be a part
of rails. I know that the team is working hard and we’ll see
these
things in time.

-  configuration of standard webservers (i.e. Apache) needs to 

become
easier to support multiple
applications. Maybe, a configurations manager that one can
access
from an IDE tool or from
the command line to configure webservers, authentication, roles,
database provider, and so on.

Well, this is all the information that I have at this time but I’m sure
that
I’ll have additional information
in a month or so where I focus more on productivity.

-Conrad

The graphing package is called Gruph and i am currently playing with it
at the moment. The link is below.

You must install ImageMagick and RMagick to enable gruff to work.

Looks pretty cool from early testing.

http://nubyonrails.com/pages/gruff

Sean H. wrote:

Ok, but what about RoR vs. some of the PHP frameworks that are coming
up in its wake?

I work in a largely J2EE shop. We have a few very monolithic java
apps and I can’t stand JSP. Now granted, some of it is because of
shortcuts programmers have taken (because of time restraints mainly).
But, even if you are very careful and refactor, there are decisions that
can cause lots of issues (caching and persisted classes and all sorts of
crap). We are currently rearchitecting a lot of this stuff to get rid
of the boxes that we are in with “nifty” technologies that promised to
fix stuff. I may be stretching the issue a bit, but it’s still
difficult sometimes to do even some normally easy stuff. :: shrug ::

I, myself, am pretty good with PHP and my boss is as well. We can
easily come up with working applications for various web clients.
However, we have never successfully been able to deploy a current
framework. We’ve tried at least ten of them (two of them “commercial”
ones). Not only that, but customers generally don’t like huge,
convoluted administration systems. Just consider walking a client
through security with PostNuke. :: grin ::

While PHP has its place, I’m currently investigating writing a few
things in RoR as proof of concept apps. I hope we can move from PHP to
RoR.

I also don’t put much stock in all the One True CMS stuff. I expect I’m
not the only one that has wasted weeks on it. Not that they don’t have
their uses, but I’ve been in condition upon condition where a client
will state “This is magnificient! But we were in a meeting demoing the
softare and the CEO said it needs to be able to do X, Y, and Z”. No
problem, right? Well, a couple of times the framework nearly
prevented X and Z, and we had to write around a lot of stuff to
implement it. If we had rolled our own we would have known instantly
what we could do. I’m with DHH on this and I’ve only been working with
RoR for a very short time.

We have tried in a full development, client setting the Nuke variations,
Drupal, Mambo, and too many others to remember. None of them worked
without major hacks. And the “framework” which includes login /
security usually is either so damn complex that it’s worthless or so
rudimentary it’s useless. As I’ve heard many times, with a “CMS”
(particularly the PHP ones) you usually get 80% or 120% of what you
need. And the extra 10-20% of what you need takes twice as long as
rolling your own entire framework would have (and that’s in PHP, imagine
the time savings with RoR).

Instead, our solution was to have about three core frameworks with PHP
ranging from simple to complex and mostly having to do with the security
systems. Then we can start off with core code that we know (stored in a
code repository, of course). We can select the one that makes the most
sense for the project and build upon it. I figure we’ll do a similar
thing if we move to RoR. It really would take a minimal amount of time
to do in RoR. The PHP versions have taken a while to perfect…but it
works better than any framework out there for us.

Remeber, clients don’t want to hear, “well we’ll see what we can do”.
They hear “they don’t know what they and their software are doing”.
That loses you business. With RoR, you don’t have to hack a framework
to make it work right. You can take a week and have nearly the exact
stuff they want to demo it. :: shrug :: It just works… That doesn’t
mean it’s always easy… But we didn’t become programmers for an easy
job. :slight_smile:

Bottom Line: My clients have been extremely impressed with “Hey, do
you have a couple of minutes to pull up the staging site and walk
through those changes we had discussed this morning?” They are used to
hearing “Sure, we’ll have it tomorrow, or the next day… We’ll give
you a call then.”

Wow, what a fantastic writeup. Thank you!

My boss has made it official–a coworker and I will be looking at 4
different frameworks to determine which one we will adopt going
forward:

http://www.rubyonrails.com/ (well, duh)
http://www.symfony-project.com/
http://cakephp.org/
http://seagullproject.org/

There are a lot of similar things about a lot of these, but one
advantage to Rails I’m looking forward to promoting is Ruby, which we
can use to replace Perl as our scripting language. You can’t use PHP
as a shell scripting language. Plus, I write a lot of scripts outside
of the web-based environment of Rails apps that handle data input and
cleanup through ActiveRecord. That’s a huge plus in favor of Ruby and
Rails!

Sean

Sean H. wrote:

You can’t use PHP as a shell scripting language.

This isn’t strictly true… PHP has a command line interpreter and PHP
has pass thru calls
to most any system call (using system() or exec() if nothing else).
However, your point
still stands, that PHP is intended as a web-page scripting language…
which has always
been it’s biggest flaw imho.

I would very much like to see Ruby replace PHP for web scripting and
Perl for system
scripting. Don’t know if I’d go so far as to threaten bash though…

b

Actually, we’ve all made a huge error in not making the web browser
language (now
JavaScript) the same as the web server language (too numerous to
mention). It really
isn’t right to make people use two different languages for similar
things.

I understand the Netscape server made a stab at using JavaScript on the
server, once. So
the right answer, of course, is replacing JavaScript with ruby in the
browser but my hunch
is that might not happen soon. And, hypocritically, I won’t give up
ruby on the server,
either.

Warren S.

Ok, but what about RoR vs. some of the PHP frameworks that are coming
up in its wake?

http://seagullproject.org/

I’ve been tasked with comparing these to RoR. I know RoR, but my 2
coworkers do not. 1 is a PHP genius (and open to RoR) and the other
knows PHP but is open to anything.

How do I weigh their combined knowledge against having them learn RoR?
Are these PHP frameworks almost as good?

The documentation aspect is huge, of course. There are no training
books or classes (or conferences or seminars) for any of the PHP
frameworks. If/when we hire someone new, I would like to be able to
hand them a book (AWDwR, etc) if they don’t already know Rails and go
from there. With the PHP frameworks, we’ve got nada.

Thoughts?

Sean