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:
- A useful templating engine that supports multiple device/client families.
- A device detection filter that interfaces with the templating engine.
- A basic set of style sheets that supports common mobile design paradigms.
- Basic site navigation components.
- Integration with a commonly used web application platform.
- Bonus: Integration with a caching engine.
And now the fun begins.
Recent Comments