« Coping with Highly Technical Domain Experts | Main | Getting Things Done »
December 02, 2005
Ongoing adventures with Ruby On Rails
I continue to build out little apps with Ruby On Rails.
So far, my experiences have been quite positive.
Pro:
- The Eclipse RDT framework is decent. It even has some built-in help (I didn't realize this until today). The integrated unit testing is slow, but it works
- The @session hash map was confusing at first, but once I realized I should be using ids instead of objects, I found it much easier to work with.
- Most of the useful capabilities are built-in. Logging, for example, or the various form processing capabilities of Rails. I really like that I don't have to keep hunting down the appropriate libraries to include.
- Once you get the basic concepts of the data model and the HTTP form model down, the ability to add new functionality increases rapidly.
- I'm still only using probably 40% of the useful stuff in RoR. I am looking forward to continuing to find more efficient ways to solve problems.
- The Howtos and the Cookbook, once you find them, are quite informative and useful.
- Ruby is remarkably flexible about how variables/objects are "packaged". For example, I use multiple belong_to entries in my domain objects, and it just works (I expected it to fail miserably,and I would have to hunt down the obscure syntax to define multiple belong_to entries. Big Kudos!)
- It is wonderfully easy to change the data model. The code automatically updates itself to the data model. Super cool.
- It is wonderfully easy to add new form actions. I can add a new web-based action in 2-5 minutes, including a couple of rounds of experiments to make sure that everything is what I thought it was.
Con: (Frustrations or annoyances)
- I keep having to hunt down an example of "How to do X" in one of the various online "intro to rails" documents. There are four of them, and they all have slightly different ways of solving various problems. It causes confusion, and can be quite frustrating.
- I am not particular keen on the semantics of "just put an @ in front of a variable, and it will be available to your web app.' Especially as the code increases in complexity, I worry that this will lead to overwrites and confusion.
- the Rails "master javadoc" equivalent is hard to follow. It's getting better as I master the language more, but right now? Ugh.
- I expect that this is somewhere in the docs, but right now I don't know where to find the equivalent to <html:errors> and <html:messages> from struts. I miss them.
All in all, I can see that people could build high quality applications in an order of magnitude less time than the equivalent Java/Struts/JSF/whatever code. There's just so much less "overhead" involved - FormBeans, Action Mappings, Action Classes, Hibernate mappings, etc.
Posted by jb at December 2, 2005 07:53 PM
Trackback Pings
TrackBack URL for this entry:
http://www.undefined.com/cgi-bin/mt/mt-tb.cgi/375