Since Wireframe is a way to structure your template files, it could definitely be described as an output strategy, but we prefer to call it an output framework instead. This is because Wireframe is quite a bit more than "a way to organize your template files": it's a set of guidelines and best practices tied together by a module. And then some.
- Wireframe is MVC-ish, which means that it loosely follows the Model-View-Controller pattern.
There's the View component (further split into layouts, views, partials, and components), as well as optional template-specific Controller classes for containing business logic and mediating between View and Model (the latter of which is actually ProcessWire itself).
- Wireframe promotes an object-oriented approach whenever and wherever it actually makes sense.
Layouts, view files, and partials are by default regular PHP files. Controllers are classes derived from a common Controller base class. If you find yourself often sharing features between Controllers, you can easily create your own base classes to inherit from. Typical component is a combination of a component class and one or more view files.
- Wireframe provides features that help you write clean and uncluttered template files.
There's a pre-defined file hierarchy (directory structure), designed to keep your templates directory tidy and neatly organized. Partials can be easily embedded into layouts and view files, Controller methods are directly accessible as parameters via the View, the View is accessible via the $view API variable, etc.
- Wireframe is a combination of a ProcessWire module, library files, and the bootstrap file.
The module provides autoload features and useful hooks, the library contains important classes used by the framework, and the bootstrap file can be dropped into your templates directory and connected to as many – or as few – templates as you want to using the built-in Alternate Template Filename setting.