O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Web Development with Clojure

Book Description

If the usual patchwork of web development tools and languages just isn't cutting it for you, you need Web Development With Clojure. Clojure gives you the rich infrastructure of the JVM with the expressive power of a modern functional language. It combines excellent performance with rapid development--and you can exploit these virtues for web app development. With step-by-step examples, you'll learn how to harness that power and richness to build modern web applications.

Table of Contents

  1. Web Development with Clojure
    1. Copyright
    2. For the Best Reading Experience...
    3. Table of Contents
    4. Early Praise for Web Development with Clojure
    5. Introduction
      1. What You Need
      2. Why Clojure?
      3. Why Make Web Apps in Clojure?
    6. Chapter 1: Getting Your Feet Wet
      1. Setting Up Your Environment
      2. Your First Project
    7. Chapter 2: Clojure Web Stack
      1. Routing Requests with Ring
      2. Defining the Routes with Compojure
      3. Application Architecture
      4. Beyond Compojure and Ring
      5. What You’ve Learned
    8. Chapter 3: Liberator Services
      1. Creating the Project
      2. Defining Resources
      3. Putting It All Together
      4. What You’ve Learned
    9. Chapter 4: Database Access
      1. Working with Relational Databases
      2. Report Generation
      3. What You’ve Learned
    10. Chapter 5: Picture Gallery
      1. The Development Process
      2. What’s in a Gallery
      3. Creating the Application
      4. Application Data Model
      5. Task A: Account Registration
      6. Task B: Login and Logout
      7. Task C: Uploading Pictures
      8. Task D: Displaying Pictures
      9. Task E: Deleting Pictures
      10. Task F: Account Deletion
      11. What You’ve Learned
    11. Chapter 6: Finishing Touches
      1. Adding Some Style
      2. Unit Tests
      3. Logging
      4. Application Profiles
      5. Packaging Applications
      6. What You’ve Learned
    12. Chapter 7: Mixing It Up
      1. Using Selmer
      2. Upgrading to ClojureScript
      3. SQL Korma
      4. Creating Application Templates
      5. What You’ve Learned
    13. Appendix 1: Alternative IDE Options
      1. Installing Eclipse
      2. Installing Emacs
      3. Alternatives
    14. Appendix 2: Clojure Primer
      1. A Functional Perspective
      2. Data Types
      3. Using Functions
      4. Anonymous Functions
      5. Named Functions
      6. Higher-Order Functions
      7. Closures
      8. Threading Expressions
      9. Being Lazy
      10. Structuring the Code
      11. Destructuring Data
      12. Namespaces
      13. Dynamic Variables
      14. Calling Out to Java
      15. Calling Methods
      16. Dynamic Polymorphism
      17. What about Global State?
      18. Writing Code That Writes Code for You
      19. The Read-Evaluate-Print Loop
      20. Summary
    15. Appendix 3: Document-Oriented Database Access
      1. Picking the Right Database
      2. Using CouchDB
      3. Using MongoDB
      4. You May Be Interested In…