Web development is an extremely popular use for Clojure. If you want to learn web programming, here are the courses I recommend you watch. I am assuming you already are familiar with Clojure. Be sure to click those checkmarks to track your progress.
You’ll want to learn Ring. It is a unifying set of ideas that bind the entire Clojure web ecosystem.
Web Development in Clojure
Web development in Clojure is just like everything else: you build up complex behavior from simple parts. This course builds a TODO list app from scratch, explaining the important concepts, and deploying it to a cloud service.
There are some lessons in Clojure in One Hour where we build some web applications.
Clojure in One Hour
You want to learn Clojure but it seems so daunting. Who has the time to read and read and then start yet another half-finished project? Clojure in One Hour is a series of short projects that you can do in one hour. No theory, just hands-on projects to get something done.
Parsing JSON and scraping HTML are common to do on the web.
With so many data formats out there, it's good to see some example code for reading and writing different formats. I'm talking JSON, CSV, EDN, and more. This course explores how to read and write data formats using Clojure.
Of course, you’ll probably be making requests to other APIs. I recommend clj-http.
HTTP Client: clj-http
Chances are you will need to access an API on the web without a custom API client. You'll have to make the web requests yourself. You want something reliable, fast, and with all the features. In Clojure, that is clj-http.
For frontend programming, I recommend the Re-frame framework. It is extremely popular and the architecture will help you build more maintainable applications.
A comprehensive guide to the ClojureScript Single Page Application framework built on top of React and Reagent.
Building Re-frame Components
Sometimes we want to see how individual components are built. We want to know how to reproduce common components easily using Re-frame. In this course, we take that approach. We build individual, interactive components, going through the design decisions we have to make.
Learn the fundamentals of core.async, a concurrency library for Clojure and ClojureScript that gives you tremendous power.