MVC Marathon Part 1: Creating a New Application

jk2addict on 2008-06-30T01:44:27

I get the feeling that it's going to be more work to document the progress that it will be to write all of the code...and that's probably a damn good thing.

http://today.icantfocus.com/blog/mvc-marathon-part-1-creating-a-new-application/


Good work!

jplindstrom on 2008-06-30T11:15:05

That was very interesting!

Lots of small, simple ways to improve all frameworks by taking inspiration from the others. Nice touches:

  * CakePHP: A few bits of config status, e.g. caching, db, etc.

  * Rails: Links to the online community

  * Catalyst: listing the actions/urls

One interesting (and vital) thing you could add to your list of things to try: how to manage changes to the db schema.

Please keep posting here whenever you write another one!

Re:Good work!

jk2addict on 2008-06-30T14:15:37

The only reason I didn't add schema change management to thje list was that I swayed too far from the "getting started" type of examples. The schema change management in Ruby is killer, but they don't push it in the getting started examples too much. Of course DBIx::Class has the same type of thing, but that's not really Catalyst at all.

At this point, I'm a little torn on sticking to what is included in the framework vs. adding extra components.

Re:Good work!

jplindstrom on 2008-06-30T15:23:15

Well, the reason I'd find it useful is just because it's not one of the things that demo well in let's-create-a-blog-in-five-minutes, but is a real-world problem that is not at all trivial. Especially not when you have serious data volumes combined with harsh uptime requirements.

Re:Good work!

jk2addict on 2008-06-30T16:46:21

Good point. I'll add it to the list.
I'll probably have to spend some time learning where the lines are between adding a database, adding a table, schema version management and adding a new model.

It seems some frameworks are better geared towards addding a model, then pushing that to the schema while others have the processes more separated.