Frameworks vs MetaFrameworks

A framework is like a building. It’s a complete package. It’s monolithic, brittle and opinionated. It works out of the box due to tightly-coupled components at the expense of API differences among competing frameworks. It works out of the box depending on your level of skill and stomach for learning curve.

A metaframework is a building block to build something (or a framework to build a framework). It is modular, extensible and unopinionated. The API is standardized so you can choose components of your own choosing. Recent example is the standardization of the container runtime (Open Container Project).

Examples of frameworks

  • AngularJS
  • EmberJS
  • Ruby on Rails
  • Martini
  • Ansible, Salt, Chef, Puppet
  • Deis, Heroku, Engine Yard
  • Mantl

Examples of metaframeworks

  • Project Iris – build your own message queue
  • jQuery – build your own components
  • T3 – build your own sandboxed JS app
  • Bootstrap – build your own static JS app
  • siesta – build your own Go REST app
  • anchor – build your own configuration management workflow
  • BoltDB – build your own key/value database

Subjectivity aside, leave a reply

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

You are commenting using your 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 )

Google+ photo

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

Connecting to %s