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.
Modern web development needs modern tools. Web Development With Clojure shows you how to apply Clojure programming fundamentals to build real-world solutions. You'll develop all the pieces of a full web application in this powerful language. If you already have some familiarity with Clojure, you'll learn how to put it to serious practical use. If you're new to the language, the book provides just enough Clojure to get down to business.
You'll learn the full process of web development using Clojure while getting hands-on experience with current tools, libraries, and best practices in the language. You'll develop Clojure apps with both the Light Table and Eclipse development environments. Rather than frameworks, Clojure development builds on rich libraries. You'll acquire expertise in the popular Ring/Compojure stack, and you'll learn to use the Liberator library to quickly develop RESTful services. Plus, you'll find out how to use ClojureScript to work in one language on the client and server sides.
Throughout the book, you'll develop key components of web applications, including multiple approaches to database access. You'll create a simple guestbook app and an app to serve resources to users. By the end, you will have developed a rich Picture Gallery web application from conception to packaging and deployment.
This book is for anyone interested in taking the next step in web development.
What You Need:
The latest JVM, Clojure 1.4+, and the Leiningen build tool, as well as an editor such as Emacs, Eclipse, or Light Table.
Table of Contents
Chapter 1. Getting Your Feet Wet
Chapter 2. Clojure Web Stack
Chapter 3. Liberator Services
Chapter 4. Database Access
Chapter 5. Picture Gallery
Chapter 6. Finishing Touches
Chapter 7. Mixing It Up
Appendix A1. Alternative IDE Options
Appendix A2. Clojure Primer
Appendix A3. Document-Oriented Database Access