Edit this Page

A framework is a collection of code used to solve a set of related use cases. Most frameworks focus on developer productivity at the expense of precise control.

Good frameworks:

  • Are well documented
  • Solve several closely related use cases.
  • Are actively maintained
  • Are extensible
  • Don't change their interface often.

When deciding between using a framework or a library, ask:

  • How much control do we have to give up? Is that OK for our current context?
  • Which parts of the framework will we be using? A small sliver or most of it?
  • How large of a surface area does the framework have?
  • How much will we need to learn to be effective?

Some popular frameworks are:

  • Ruby on Rails - A server side web application framework for interacting with databases and building web pages.
  • jQuery - A front-end framework for manipulating web pages and interacting with web APIs

Frameworks are installed with a languages package manager such as gem, the Ruby package manager.