Re: Ruby on Rails?
Mont Rothstein <[email protected]> Thu, 27 Oct 2005 12:36:23 -0700
| Newsgroups | gmane.comp.web.webobjects.general |
|---|---|
| Message-ID | <[email protected]> |
I asked this same question not long ago on a different list. Below is the reply I received. The list the was posted to is the developer list for http://sope.opengroupware.org and open-source re-implementation of WO 4.5 in Obj-C. -Mont On 28. Mai 2005, at 05:34 Uhr, Mont Rothstein wrote: >* I was wondering if you have looked at Ruby on Rails and if you had *>* what you thoughts on it were compared to WO. * I'm not sure its a good idea to turn this list into a RoR discussion list ;-) So I just give some ideas I have about it. Not that I never tried it in real live (wasn't too easy to setup on OSX), I've just seen some demos and read the tutorial on the website to get an idea on what it does and how. When the tutorial started with a script which _generated_ code, my first thought was "WHAT A CRAP". If you need to generate code, something is usually inherently broken in the concept. - first: its obviously clear that RoR is very much overhyped and delivering nothing which wasn't available before (even in simple frameworks). - second: IMHO its also very clear the Ruby itself is very much overhyped for the same reason. (it has everything I dislike about Python but few things I like in addition) Personally I would like to see some framework which pushes JavaScript to its limits, that would be a nice thing to see (but probably horribly slow as well) - if you really like Ruby, it should be very nice for small and fast hacks - if you know Java tech (J2EE, Struts etc), RoR should rock - if you know PHP, RoR should be nice (if you master Ruby in this case ;-) - if you know ASP.NET <http://ASP.NET>, RoR should be boring - if you know Zope, RoR should be quite boring - if you know (full) WO, you will be yawning This explains why some people love it and others don't understand it (eg I've seen Miguel de Icaza asked in some Mono forum for an explanation of the RoR hype ;-). Unfortunately its hard to describe WO because it contains soo incredibly many tools. So what are major WO features hardly available in other frameworks: - real web components (also for request processing, not just for page composition!) - very cool data binding facility (associations) - a really fast compiled language _and_ a good scripting language _and_ Java - well, this was only till WO 4.5 ;-) - since WO5 something in between (Java ...) - the most complete database access framework I know, from very simple (EOAdaptor) to very high level (EOEditingContext, hierarchie mapping etc). - Direct2Web, Direct2Java. While Ruby allows you to write simple apps with very little code, D2W allows you similiar applications with no code at all but with much more functionality and proper consistency (eg database independence, long running transactions, etc). In short: RoR contains maybe 5% of the functionality contained in WO. Note that a "I don't need that functionality for my simple app" doesn't count, since most of the stuff is framework functionality which makes zero-code apps like with WO possible. Notably all those functionality in WO have very clean and approachable interfaces and is very well modularized (unlike such of Java), so its no big monster, its just a big collection of cool modules. Also I didn't even mention Apple-only tools like WOBuilder which is InterfaceBuilder for WO templates and allows you to drag and drop connect reusable WO components. Note that with "WO" I don't mean SOPE. SOPE doesn't really compare for the avarage user because it (currently) just has the compiled language and you will be slower for fast hacks just due to that (you need to be able to use all the component reuse features to compensate for this). It further misses a complete implementation of D2* technologies as well as of EOF (well, you use AJR, which should be close). Only when we have integrated WebScript, EOF and D2W (SOPE 5?) we can start kicking away other "attempts" ;-) Right now SOPE is good for either complex applications which doesn't just consist of some HTML controller code or for applications which need to have very fast request handling. Well and if you want to write fast hacks and don't want to use WO (eg because of $$$ or Apple), IMHO Zope 2 is a better solution. Its mature, as easy as RoR, has a nice community and provides quite a lot of modules for various purposes (PDF generation, SXW parsing, form handling, etc ...) Another thing is using a relational database with RoR just doesn't make any practical sense. It can't deal well with huge database nor with existing/evolving databases. And for small databases there are much better technologies than RDBMS (eg ZODB, plain File, RAM etc). That RDBMS-is-good-for-everything is deprecated wisdom (it was different in 1995 when 20MB was all the system memory available). >* Anyone else taken a look and have an opinion? * I know that Sebastian loves RoR and has written some application with it, we already discussed that to death ;-) Unfortunately its hard to discuss with RoR (or Zope) fanatics since most of them never used a *real* application server before ;-> Greets, Helge