Re: Ruby on Rails?

Geoff Hopson <[email protected]> Sat, 29 Oct 2005 20:35:30 +0100
Newsgroups gmane.comp.web.webobjects.general
Message-ID <[email protected]>
I've been using RoR for a few weeks now, looking at an alternative to 
certain licensed products that I have been using for 10 years or so. I 
know PHP well, Java well, ObjC well and have been developing web apps 
since <img src...> was considered the pinnicle of web development. My 
main conclusion about Rails is that its not quite ready for prime time 
yet. I can't quantify that, it's just a feeling, but there seems to be 
several ways to skin the same cat and no 'right way'. And it has an 
'unfinished' feel to it. There are anecdotes about how scalable it is. I 
still wouldn't trust running a serious ecommerce application on it.

The code generation is nice - gets you going really fast. The default 
project layout is nice too - all very clean, very obvious, very simple. 
I like my components (someone else mentioned that you cannot do 
components in Rails. They have a mechanism called 'partials' which works 
OK for me.). Ruby the language is very nice as well. And, if you follow 
the naming conventions for database tables (plurals, PK named id, 
updated_on, created_on, lock_version columns) there is a nice 
ActiveRecord class that gives you a lot for free. Kinda like EOUtilities 
on steroids. Just subclass off ActiveRecord::Base and away you go. They 
recommend the 'static method on the model class' type of pattern for 
adding specialised fetches etc. No fetch specs yet. That will come, I guess.

But, it's not even a release 1 product yet, and it is still evolving. I 
have been caught a couple of times chasing the latest version and 
hitting weirdness. However, I personally am going to keep an eye on it, 
and will use it for simple CRUD apps - for example, I am planning on 
using RoR apps as simple admin functions on deployed WO apps.

In the day job I am still doing Java work, and it was using Hibernate, 
Hivemind and Tapestry. Recently I have started doing my web work in 
Click (http://click.sf.net/) on top of HiveMind and Hibernate. The Click 
development team are looking at RoR for inspiration, specifically the 
ActiveRecord stuff, and have subsequently integrated Click with Cayenne 
(with help from Andrus). This is looking extremely good - off to play 
with the example Cayenne web app after this email. Cayenne is very nice 
and familiar to an old DBKit/EOF person like myself, and Click is 
*considerably* simpler than Tapestry - I have had developers pick it up 
and develop basic CRUD web apps in less than a day. Go check out the 
Click examples, view the source etc. Simple. And the Ajax integration is 
easy, and uses the prototype javascript library (same as RoR).

Version 1 of Click is out soon, so go give it a look. My next project is 
Click on top of Cayenne. Not WO. I like open source. I can fix the bugs. 
Sorry, WO fans...

Geoff

Bruce Fancher wrote:
> Thanks for the responses from everyone.  There's been so much hype over RoR
> that it piqued my interest, but when I hear "it's 10x more productive than
> Java!@$!@#$!" I assume that what that really means is that the person who's
> just started out with RoR was suffering through Struts and EJB and all that
> other junk so I tend to discount it.  I figured I'd get a more accurate
> assessment from a group of people who know what a real application framework
> is supposed to do (i.e.: you guys). 
> 
> It's kind of tragic that 10 years later there's still nothing else out there
> that quite compares to WebObjects (although I've heard good things about
> Tapestry and Cayenne).  I'm pretty busy right now working on a smallish
> WebObjects project but once I finish it in the next month or so I'll probaby
> dive into Rails and see what the fuss is about.
> 
> One thing I'll add is that while I'm a big fan of dynamic languages and
> metaprogramming (aspects, multimethods, open implementations, etc.), I
> already fucking hate the Ruby syntax.  Given that it claims to have derived
> from Smalltalk, I don't understand how they missed one of my favorite
> contributions of Smalltalk to programming languages: named arguments.
> 
> The Ruby enthusiasts seem to have made a fetish of "terseness", which (IMHO)
> they falsely believe is a significant boost to productivity.  Given that any
> line of code is going to be *read* far more often than it's going to be
> written, it seems like the pride they seem to take in having dispensed with
> curly brackets and semicolons is misplaced.  I find this especially annoying
> as I've lately been quite pleased to see that some of other languages that
> have recently been written for the JVM (Nice, Groovy, etc.) have added some
> great language features while fixing the main thing that I don't like about
> Java's syntax: the lack of named arguments.  Oh well, you can't have
> everything.
> 
> Bruce
> 
> _______________________________________________
> WebObjects-talk mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-talk
>