Fork me on GitHub

Web frameworks

A web application framework is a code library that make a developer's life easier when building reliable, scalable and maintainable web applications.

Why are web frameworks necessary?

Web frameworks encapsulate what developers have learned over the past twenty years while building dynamic web applications. Frameworks make it easier to reuse code for common HTTP operations and to structure your code so that it is maintainable.

Web frameworks learning checklist

Choose an actively developed Clojure web framework such as Compojure and stick with it for your initial web applications.

Work through a detailed tutorial found within the resources links on the framework's page.

Study open source examples built with your framework of choice so you can take parts of those projects and reuse the code in your application.

Build the first simple iteration of your web application then go to the deployment section to make it accessible on the web.

Common web framework functionality

Frameworks provide functionality in their code or through extensions to perform common operations required to run web applications. These common operations include:

  1. URL routing
  2. HTML, XML, JSON, and other output format templating
  3. Database manipulation
  4. Security against Cross-site request forgery (CSRF) and other attacks

Not all web frameworks include code for all of the above functionality. Frameworks fall somewhere between simply executing a single use case and attempting to be everything to every developer with increased complexity. Some frameworks take the "batteries-included" approach where everything possible comes bundled with the framework while others have a minimal code library that plays well with extensions.

General web framework resources

Which web framework do you want to learn about?

Tell me more about the Compojure framework.

How do I deploy a Clojure web application?

What sections will be added to Full Stack Clojure in the future?