Wednesday, October 24, 2007

Best of...

Got all excited on this one! The winner in the Web Development and Design category is a tool I've wanted to explore for a while, CakePHP, an application framework for building web applications. I've used several other frameworks, but never Cake. A couple of years ago I built a system with Ruby on Rails but didn't want to stick with Ruby, an elegant but obscure programming language. Last spring I was playing with Symfony but found too many issues to want to pursue it. So, this week I played with CakePHP.

These frameworks let you build database driven applications very quickly by following rigorous naming conventions and design rules. The problem is the steep learning curve, with resulting code that is not obvious unless you are well steeped in design patterns like MVC (Model - View - Controller).

So, how did it work out? Honestly, it's still a work in progress. I decided to set it up on my Mac laptop. It still had some symfony detritus, so I had to spend a chunk of time cleaning that out, restoring Apache defaults, and cleaning up php and mysql, the other main components. Then last night, in my final pre-deadline push to make something work, I ended up in a library in Boca where the wireless would not stay connected for more than 30 seconds. Argh. Even their books were useless! Shelves and shelves of Idiot's Guides in the 005's didn't tell me what I needed to know about the default mysql user installed in OS X. Did I say argh? So, I dithered away my precious TLC 2.0 time (15 minutes squared). My first CakePHP application (subject guides for Sherman) is yet to be built.

How does this fit into libraries? This is the direction that software engineering is going. So we will someday be using apps built this way, and, maybe, even building a few ourselves.

No comments: