You want to write web apps in Clojure. It has access to all of the JVM libraries, it is supported by lots of hosting services, and it is super fun to program. There is a wealth of libraries and components to work with, and this very abundance can make it daunting to begin.
Web development in Clojure can be daunting at first. There is no big web framework to make the decision of where to start easy. In fact, Clojure's web libraries look more like a bunch of small pieces than industrial-strength frameworks. The Clojure model is so different from what most developers are used to that you might be surprised by how simple web development can be. Why is this so?
The reason is clear: Clojure's web stack is based on standard protocols, just like the web itself. If you conform to the protocol, you can play with all the other libraries as much as you want. Your libraries can interoperate without even knowing that the other libraries exist! This is what leads to a flourishing of small, compatible libraries that make Clojure web development feel like building with Lego. The trick is to understand the core standards. After that, it's easy.
The goal of these videos is to get you to understand the fundamental concepts that every Clojure web programmer needs to succeed. You will do that while building a working web application that you can host on Heroku, which has a free plan. Through guided experiences, you will understand the power of the Clojure web development model. By the end, your mastery will help you make whatever you want to build.
The videos cover the most commonly used Clojure web libraries.
Ring is the core of the Clojure web ecosystem. It defines three main concepts: adapters, handlers, and middleware. Learning the role of each and how to use them is key to mastering Clojure web development. Ring also comes with lots of utilities that help make you more productive.
Compojure is a library for handling URL routes. With it, you can easily route your handlers based on the URL and HTTP method.
Hiccup is one of the hidden gems of Clojure Web programming. It is essentially a way to write HTML with a concise syntax inside of your code files. Not only does it make defining your own components super easy, it also eliminates lots of html errors. And Hiccup compiles to speedy code.
A great, clean wrapper around JDBC, the standard Java database library.
The video also covers deploying to a production-quality cloud host for free! You can build your app and share it with your friends.
The best open source SQL database. A small database (definitely big enough to have lots of fun) is available for free on Heroku.
An amazing cloud hosting platform that scales as your app needs it. They offer a free tier, which is plenty for experimenting and showing off your work. But the paid levels are well worth the cost. Many popular, commercial web sites host on Heroku, so you know there's plenty of room to grow.
LispCast Web Development in Clojure uses unique diagrams to make learning the structure of web programming fun and easy to learn.
All of the videos are in MP4 format, which is the most widely understood format available. It will even play on your smartphone. There is no DRM. They are high definition. The downloads will also include the code you'll need.
The videos run just over an hour combined.
You need to have a beginner's understanding of Clojure and a basic understanding of web development, including HTML and Web request basics. That said, a lot of the basics of web programming are covered. Basic command line skills are necessary. I suggest you learn them at the Command Line Crash Course.
You need Leiningen installed. The Leiningen home page has instructions.Besides that, all you need is a computer with internet access. Everything else you need is included in the videos.
Hi! My name is Eric Normand. I've been programming in Lisp for over 10 years. My current favorite language is Clojure. I enjoy teaching and programming.
I write about programming at LispCast and also publish The Clojure Gazette.
I hail from New Orleans, Louisiana, where you can still find me making gumbo and having a drink.
I live with my wife and daughter.