Building Web Applications with Clojure

Explore the secrets and tricks of building Clojure web applications
3.6 (10 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
212 students enrolled
$19
$85
78% off
Take This Course
  • Lectures 31
  • Length 2 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2015 English

Course Description

This video course starts with a simple project setup and moves on to the various means to use frameworks or libraries, such as Ring and ClojureScript, leading the way to complex web solutions in Clojure. You will be presented with ways to connect to popular databases, such as PostgreSQL or MongoDB, and learn how some existing libraries work and how to use them properly. Thereon you will move to writing single-page applications with ClojureScript and REST API.

When you're finished with Building Web applications with Clojure, you'll be able to build and diagnose complex web systems in Clojure—regardless of the particular technologies applied.

About the Author

Tomek Lipski is an experienced programmer and open source enthusiast. He's been building and designing the architecture of web applications for seventeen years. He works with Clojure full-time. Tomek has also released a Ganelon Open Source microframework, which eases the development of AJAX web applications in Clojure.

What are the requirements?

  • For all those of you who already know Clojure, this video will help you sharpen your skills.

What am I going to get from this course?

  • Understand how Ring handlers work and implement simple routing mechanisms
  • Grasp the intricacies of the middleware to implement it in your own way
  • Discover how to handle forms, cookies, and sessions in one go
  • Get acquainted with the REST API architecture in Clojure and build a sample application
  • Manipulate queries easily with SQL Korma
  • Set up routing with Compojure and HTML generation with Hiccup
  • Find out how to build REST APIs with Liberator and learn templating with Enlive

What is the target audience?

  • If you are a Java programmer and you want to gain expertise in web application development and would like to begin the journey with Clojure, then this course is perfect for you.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Getting Started
02:55

Configuring projects correctly for development is essential in every programming language. The use of Lein and Ring in web development under Clojure allows the developer to focus on the actual code.

02:26

The Lein-ring plugin simplifies a lot of common web development tasks when programming in Clojure. In this video, we will see how to connect it to a project and configure its settings.

02:31

Knowing about Ring handlers is very important when it comes to writing web applications in Clojure. If the programmer understands what it does and how it works, all other Ring concepts become clear and understandable.

03:21

The Ring server (based on the Jetty adapter) allows the developer to quickly run the written Clojure web app. In addition, we will also see how the Ring server speeds up the development cycle with dynamic Clojure namespace reloading.

03:37

Every web application needs to be distributed to a production/test/staging environment. This video presents the different options that are available when using the Lein-ring plugin.

Section 2: Ring Handlers
03:27

How the Ring handler works and how it is just like any other Clojure function.

02:22

How to work with Ring handler request map.

03:07

How to return appropriate Ring responses.

03:03

How to dispatch Ring requests to different handler functions.

03:15

Learn how route functions can be composed to streamline common tasks.

Section 3: Middleware
04:17

An overview of the common mechanisms for Clojure web apps as reusable components.

03:17

Rewrite a handler that provides a common mechanism to work as a middleware.

03:14

Modify Ring request and response maps to provide additional features.

03:40

Modify the handler configuration to use the Ring file that serves as middleware.

Section 4: Forms and Session Handling
05:53

Apply the correct middleware to access form data in Ring web applications.

04:00

Build dynamic responses from Ring handlers.

02:30

Use Ring middleware to send cookies to a browser and read received cookies.

04:42

Use Ring middleware to manage sessions in Clojure web applications.

Section 5: Building RESTful APIs
07:41

Clojure/Ring can be used to provide RESTful APIs as well as standard web applications.

05:16

Build an example RESTful API with Clojure and Ring.

02:59

Handle errors in an API in a way that is understandable to other applications.

Section 6: Database Connectivity
04:59

How to access the PostgreSQL database from a Clojure/Ring web application.

Using Korma
03:06
04:08

Connecting a Clojure web application to a MongoDB NoSQL database.

Section 7: ClojureScript
03:44

Write dynamic applications in ClojureScript instead of JavaScript.

03:27

Learn how to change page contents and access JavaScript objects from ClojureScript.

06:03

Communicate with the backend from ClojureScript level.

Section 8: Useful Web Libraries in Clojure
04:47

Use Compojure to organize your Ring handlers.

02:57

Use Hiccup for dynamic HTML generation in Clojure.

04:20

Use Enlive to separate HTML templates from Clojure code.

04:00

Use Liberator to provide REST APIs with little effort.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Packt Publishing, Tech Knowledge in Motion

Over the past ten years Packt Publishing has developed an extensive catalogue of over 2000 books, e-books and video courses aimed at keeping IT professionals ahead of the technology curve. From new takes on established technologies through to the latest guides on emerging platforms, topics and trends – Packt's focus has always been on giving our customers the working knowledge they need to get the job done. Our Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.

Ready to start learning?
Take This Course