small medium large xlarge

Web Development with Clojure, Third Edition: Build Large, Maintainable Web Applications Interactively

by

Cover image for Web Development with Clojure, Third Edition

Web Development with Clojure, Third Edition

Build Large, Maintainable Web Applications Interactively

by

Today, developers are increasingly adopting Clojure as a web-development platform. See for yourself what makes Clojure so desirable, as you create a series of web apps of growing complexity, exploring the full process of web development using a modern functional language. This fully updated third edition reveals the changes in the rapidly evolving Clojure ecosystem and provides a practical, complete walkthrough of the Clojure web-stack.

Choose Your Format(s)

  • $25.95 In Stock
    • Beta: What do I get?

  • Ebooks are DRM free.

  • Ebook delivery options.

  • The Paper Book will ship on 2019-11-10 (roughly).

About this Title

Skill-meter-5-8
Pages: 350 (est)
Published: 2019-11-10
Release: B1.0 (2019-06-10)
ISBN: 978-1-68050-682-2

Stop developing web apps with yesterday’s tools. Today, developers are increasingly adopting Clojure as a web-development platform. See for yourself what makes Clojure so desirable, as you work hands-on and build a series of web apps of increasing size and scope, culminating in a professional grade web app using all the techniques you’ve learned along the way.

This fully updated third edition will get you up to speed on the changes in the rapidly evolving Clojure ecosystem — the many new libraries, tools, and best practices. Build a fully featured SPA app with re-frame, a popular front-end framework for ClojureScript supporting a functional style MVC approach for managing the UI state in Single-Page Application-style applications. Gain expertise in the popular Ring/Compojure stack using the Luminus framework. Learn how Clojure works with databases and speeds development of RESTful services. See why ClojureScript is rapidly becoming a popular front-end platform, and use ClojureScript with the popular re-frame library to build single-page applications.

Whether you’re already familiar with Clojure or completely new to the language, you’ll be able to write web applications with Clojure at a professional level.

What You Need

The latest JVM, Clojure 1.9+, the Leiningen build tool, an internet connection, a web browser, and a text editor or IDE such as Emacs, IntelliJ, Atom, VS Code, or VI.

Contents & Extracts

This book is currently in beta, so the contents and extracts will change as the book is developed.

  • Introduction
    • What You Need
    • Why Clojure?
    • Why Make Web Apps in Clojure?
  • Getting Your Feet Wet
    • Set Up Your Environment
    • Managing Projects with Leiningen
    • Build Your First Web App
    • Refine Your App excerpt
    • What You’ve Learned
  • Luminus Web Stack
    • Route Requests with Ring
    • Extend Ring
    • Define the Routes with Reitit
    • HTML Templating Using Selmer
    • What You’ve Learned
  • Luminus Architecture
    • Manage the Project
    • Think in Terms of Application Components
    • Managing Stateful Components
    • What You’ve Learned
  • Introducing Clojurescript
    • Understand ClojureScript
    • Add ClojureScript Support
    • Build the UI with Reagent excerpt
    • Managing State with Re-Frame
    • What You’ve Learned
  • Setting Up for Success
    • Services
    • ClojureScript Development Tools
    • Embracing Re-Frame
    • Multi-User With Websockets excerpt
    • Upgrading to Sente
    • Events and Effects in Re-Frame
    • What You’ve Learned
  • Planning Our Application
    • Opening (i.e. pitch)
    • What’s in an MVP?
    • Technical Planning/Architecture
    • Planning ahead/Architecture Principles (re-title)
    • What you’ve learned
  • Account Management
    • Authentication
    • Connecting Posts to Users
    • Allow users to customize their profile
    • Likes/Stars
    • What You’ve Learned
  • Advanced Feeds
    • User Blogs
    • User Feeds
    • Post Deletion
    • Post Boosting
    • Post Replies
    • Images/Audio/Markdown (with scaffold for gen. purpose multimedia/format)
    • Exercises
    • What you’ve learned
  • Deployment
  • Exercises
    • Multimedia Posts
    • Tagged Posts
    • Comments/Replies/Threading
    • NOTES
  • Editor Configuration
  • Clojure Primer
    • A Functional Perspective
    • Data Types
    • Using Functions
    • Anonymous Functions
    • Named Functions
    • Higher-Order Functions
    • Closures
    • Threading Expressions
    • Being Lazy
    • Structuring the Code
    • Destructuring Data
    • Namespaces
    • Dynamic Variables
    • Polymorphism
    • What About Global State?
    • Writing Code That Writes Code for You
    • The Read-Evaluate-Print Loop
    • Calling Out to Java
    • Calling Methods
    • Summary

Author

Dmitri Sotnikov is a passionate Clojure developer who enjoys building web applications. He has developed a number of popular Clojure libraries and is the author of the Luminus micro-framework.

Scot Brown is an enthusiastic web developer with a passion for functional programming and open source software.