Since Wireframe is a way to structure your template files, it could definitely be described as an output strategy, but personally I 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":
- Wireframe is MVC-ish, which means that it loosely follows the Model-View-Controller pattern.
There's the View component (further split into layouts, view scripts, and partials), 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 it actually counts.
While layouts, view scripts, and partials are by default regular PHP files, each Controller is a class derived from a common Controller base class. If you find yourself often sharing features between Controllers, you can easily create your own base classes and inherit from those as well.
- 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 scripts, 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 a 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.