Am 16.08.2006 um 21:33 schrieb Pascal Robert: That's a good name :-) Or maybe "WebObjects' Not Rails" or "WND" ? :-P
Hi,
I think we (as a community) should stop bashing Rails. It is a completely different animal than WebObjects.
See it as a neighbor, not an enemy.
Most of rails' magic arises from the power of Ruby. Ruby has nothing to do with Rails in the first place. It's a programming language, Rails is an Web development framework and a persistence framework (an "opinionated" one, actually, which proposes to do things in a certain manner).
Language:
Ruby is _way_ more dynamic than Java is. When I played around with Ruby, I started to understand why the WO people coming from an ObjC background think it was a step back from switching from ObjC to Java. From what I know, ObjC is about in the middle between Java and Ruby, as far as the dynamics go. Ruby (as a language) has its disadvantages: Currently it's always interpreted. Means: You'll have to give out your source code, if you distribute it. That's probably the main reason, why practically all of the commercial rails apps are ASP solutions. Also, creating an IDE for such an dynamic language is way more complicated than for a language like Java. Nevertheless, I for one could easily imagine giving up Java (the language) for Ruby (the language).
My summary: -Ruby is great -Java is ok if you have a good IDE, could be a lot better
Framework:
Rails has a Web stack (ActionPack) and a stack for persistency (ActiveRecord). The web stack is cool, but completely different from WO. It's focus is _not_ on reusable components. Actually, the whole concept of packaging more than a bit of business logic is almost deprecated in the rails community. There are approaches to do so (engines), but they have been discussed controversially in the past. ActiveRecord is nice, but nowhere as powerful as EO.
My summary: -WebObjects is nice -Rails is nice -Rails doesn't work the way I think -WO does
Philosophy
This is the part hat really matters. Rails has as philosophy. I'd summarize it as "keep it simple" and that - IMHO - is the real reason behind it's success.
-Have a community with a VOICE (I think we're working on that right now) -Do LESS, but do it RIGHT -Make it DEAD simple to start something -Have useful DEFAULTS and CONVENTIONS for everything, so that you don't even notice that there is a different way to do it -Create useful TOOLS for things everyone is doing almost every day (rails: migrations, deployment: Capistrano/SwitchTower) -Offer a way to easily add ENCAPSULATED functionality (plugins)
Talking about rails plugins, there are a few for which I would love to see an equivalent for WO. I'm not sure if it's possible to create a real equivalent for all of them, given the limitations of Java.
Timo
PS: No, I didn't say Jehovah.
|