Building Web Applications with Clojure
3.4 (20 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.
286 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Building Web Applications with Clojure to your Wishlist.

Add to Wishlist

Building Web Applications with Clojure

Explore the secrets and tricks of building Clojure web applications
3.4 (20 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.
286 students enrolled
Created by Packt Publishing
Last updated 1/2015
English
Current price: $12 Original price: $85 Discount: 86% off
3 days left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion

Training 5 or more people?

Get your team access to Udemy's top 2,000 courses anytime, anywhere.

Try Udemy for Business
What Will I Learn?
  • 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
View Curriculum
Requirements
  • For all those of you who already know Clojure, this video will help you sharpen your skills.
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.

Who 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.
Compare to Other Clojure Courses
Curriculum For This Course
31 Lectures
01:59:04
+
Getting Started
5 Lectures 14:50

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.

Project Setup
02:55

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.

Lein-Ring Plugin
02:26

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.

Simple Ring Handler
02:31

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.

Running the Ring Server
03:21

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.

Preview 03:37
+
Ring Handlers
5 Lectures 15:14

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

Ring Handler Anatomy
03:27

How to work with Ring handler request map.

Request Map
02:22

How to return appropriate Ring responses.

Preview 03:07

How to dispatch Ring requests to different handler functions.

Routing
03:03

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

The Not Found Error and Error Handling
03:15
+
Middleware
4 Lectures 14:28

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

Introduction
04:17

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

Middleware Example
03:17

Modify Ring request and response maps to provide additional features.

Altering Requests and Responses
03:14

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

Using Existing Middleware
03:40
+
Forms and Session Handling
4 Lectures 17:05

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

Preview 05:53

Build dynamic responses from Ring handlers.

Generating HTML Content
04:00

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

Manipulating Cookies
02:30

Use Ring middleware to manage sessions in Clojure web applications.

Ring Sessions
04:42
+
Building RESTful APIs
3 Lectures 15:56

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

APIs – Introduction and Routing Building RESTful APIs
07:41

Build an example RESTful API with Clojure and Ring.

Preview 05:16

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

Handling Errors in REST APIs
02:59
+
Database Connectivity
3 Lectures 12:13

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

Connecting to PostgreSQL
04:59

Using Korma
03:06

Connecting a Clojure web application to a MongoDB NoSQL database.

Connecting to MongoDB
04:08
+
ClojureScript
3 Lectures 13:14

Write dynamic applications in ClojureScript instead of JavaScript.

Introduction to ClojureScript
03:44

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

Manipulating the DOM Tree with ClojureScript
03:27

Communicate with the backend from ClojureScript level.

Accessing REST APIs from ClojureScript
06:03
+
Useful Web Libraries in Clojure
4 Lectures 16:04

Use Compojure to organize your Ring handlers.

Preview 04:47

Use Hiccup for dynamic HTML generation in Clojure.

HTML Generation with Hiccup
02:57

Use Enlive to separate HTML templates from Clojure code.

HTML Templating with Enlive
04:20

Use Liberator to provide REST APIs with little effort.

REST APIs with Liberator
04:00
About the Instructor
Packt Publishing
3.9 Average rating
8,274 Reviews
59,226 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.