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:

URL routing

HTML, XML, JSON, and other output format templating

Database manipulation

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

Stack Overflow's answer on
Clojure web application frameworks
is a few years out of date but still interesting to learn what frameworks
are still relevant after several years.

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?

Web Frameworks

Full Stack Clojure is an open book that explains
each Clojure web application stack layer and provides the
best web resources for those topics.
Matt Makai designed and
wrote this site with assistance from community pull
requests. If you're on GitHub you can
follow him
to see what daily changes are made or
star the repository for future reference.