Well, after flirting with the idea of learning Ruby on Rails for months, I’ve finally found a reason to actually dig into it. There’s an application I had in mind for personal use that involves recording data and presenting it in various reports, and I have some ideas of how it could be expanded to be useful to many users. Rather than write it in PHP or Java, I’m writing it in Rails.
Despite some silly mistakes, I got a very basic skeleton working in just a few hours of work. The data model right now consists of three tables, all of which are related, and I can now enter data and view it using the basic scaffold pages. I had to customize them to get the relationships working (for data entry), and the next step is to incorporate the relationships into reporting.
My first impressions are very good. I’m not sure how I’d describe Rails to a PHP user. To a Java user, I’d say that Rails is a combination of Struts, Hibernate, XDoclet, and AppFuse. Code generation is a huge part of Rails, as is reflection of the database structure through ActiveRecord.
The other most important feature of Rails is abstraction of most things that you’d use configuration files for in a Java framework. As long as you follow the conventions, you can skip configuration. I’m eager to find out what happens when those abstractions start to leak.
Congratulations Washington Post
The Washington Post has scored big by hiring Adrian Holovaty away from the Lawrence Journal-World. He’s looking for someone to replace him at his old job to build cool features for newspaper Web sites. I’m very much looking forward to seeing the new things that Adrian brings to the WaPo.