anApp

anApp is my baby. It’s yet another PHP development framework. Written from scratch, I’m about to release version 5.0!

What makes anApp different?

anApp was created with several underlying philosophies:

Get out of the developer’s way

In the docs, and in the comments in the code, you’ll find phrases like “if you want to use this” or “you don’t have to use this, but…” I know when I’m coding, I’m fairly particular about how I like to do things. I want the required parts of anApp to be as few in number as possible. No one should have to use any component they don’t want to. Don’t want to use the iform object? Don’t! I could care less.

Thus every bit of anApp, with a very few exceptions, should be discrete and optional. The various modules you build your application out of may have requirements and dependencies, but that’s a different story. And they should be fairly pluggable.

Allow the developer to do as little work as possible

Ideally, creating a new anApp-based application will involve copying the basic framework files to a new directory, choosing modules from the library, copying those files into your new application directory and tweaking them. I know that it will rarely work out that way, but writing one or two new modules per application is better than starting from scratch.

Why version 5.0? What happened to versions 1 – 4?

Version 1 of anApp was our original, in-house version. It is running on sites like http://www.thoughtholder.com/ That version was using version 2.1 of aLib.

We skipped Version 2 of anApp and went straight to Version 3, since aLib was already on 2 and was going to version 3 in this release. I thought it would be confusing to put anApp at version 2 and alib at version 3, so everything is version 3, which meant we got to bypass the terrible twos.

Then there was version 4. Or rather, there wasn’t. Originally we were going to call what became “version 5” “version 4”, but I arbitrarily decided that since we were going to drop integration with specific JS libraries and drop the artificial separation between anApp and aLib, AND we were going to go to a non-backwards compatible php 5.3 way of doing things, that the jump over 4 to 5 was worthwhile. So… there is no 4.

Hopefully if there ever comes a 6, it’ll actually happen and we won’t jump ahead to 95 or something.

Where can I get it?

You can’t. It’s not done yet. But work proceeds apace. Keep an eye on the github repository!