The 24-hour mobile framework: Requirements

25 05 2011

If this were a real-world project, the requirements phase would take up 23 of the 24 allotted hours. But I’m a naive, ignorant coder, so I’ll go about things bass ackwards: formulate the requirements in a single hour, leaving most of the time for implementation.

Let’s start by defining “software framework” … more specifically by defining “web application framework.” Wikipedia differentiates frameworks from libraries, APIs, and applications by the presence of features such as inversion of control, extensibility, and default behavior. Once again as with enterprise-grade software, we find ourselves bogged down in vagueness. Both classic APIs and libraries tend to be extensible, and conform to the “Hollywood principle” of “don’t call us, we’ll call you.” Woefully incomplete applications or application toolkits may be pimped as “frameworks,” saving the vendor the trouble of shipping a useful implementation of anything. Things get even fuzzier in the web business: a simple web page template with external CSS and JavaScript libraries could meet the definition of a framework as it possesses reusability, extensibility, default behavior, and inversion of control.

So yeah, a cynic could say with some justification that anything and everything qualifies as a web framework. But as a developer, I feel compelled to create something useful and non-trivial. So this project will strive to deliver:

  1. A useful templating engine that supports multiple device/client families.
  2. A device detection filter that interfaces with the templating engine.
  3. A basic set of style sheets that supports common mobile design paradigms.
  4. Basic site navigation components.
  5. Integration with a commonly used web application platform.
  6. Bonus: Integration with a caching engine.

And now the fun begins.

Advertisement

Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.