Web Development with Clojure: Build Bulletproof Web Apps with Less Code [Kindle Edition]
Author: Dmitri Sotnikov | Language: English | ISBN: B00I800FCM | Format: PDF, EPUB
Posts about Download The Book Download Free Web Development with Clojure: Build Bulletproof Web Apps with Less Code for everyone book with Mediafire Link Download Link
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.
Q&A with Dmitri Sotnikov
Why did you write Web Development with Clojure?
When I started using Clojure, I found that it took a lot of work to find all the pieces needed to put together a working application. There was very little documentation available on how to organize the code, what libraries to use, or how to package the application for deployment. Having gone through the process of figuring out what works, I thought that it would be nice to make it easier for others to get started.
What are the advantages of using a functional language?
Over the course of my career, I have developed a great appreciation for functional programming. I find that it addresses a number of shortcomings present in the imperative paradigm. For example, in a functional language any changes to the data are created via revisions to the existing data. So they only exist in the local scope. This fact allows us to safely reason about individual parts of the program in isolation, which is critical for writing and supporting large applications.
Why use Clojure specifically?
Clojure is a simple and pragmatic language that is designed for real-world usage. It combines the productivity of a high-level language with the excellent performance seen in languages like C# or Java. It’s also very easy to learn because it allows you to use a small number of concepts to solve a large variety of problems.
If I already have a preferred web development platform, what might I get out of this book?
If you’re using an imperative language, you’ll get to see a very different approach to writing code. Even if you’re not going to use Clojure as your primary language, the concepts you’ll learn will provide you with new ways to approach problems.
Is the material in the book accessible to somebody who is not familiar with Clojure?
Absolutely. The book targets developers who are already familiar with the basics of web development and are interested in learning Clojure in this context. The book introduces just enough of the language to get you productive and allows you to learn by example.
- File Size: 757 KB
- Print Length: 232 pages
- Simultaneous Device Usage: Unlimited
- Publisher: Pragmatic Bookshelf; 1 edition (January 2, 2014)
- Sold by: Amazon Digital Services, Inc.
- Language: English
- ASIN: B00I800FCM
- Text-to-Speech: Enabled
- Word Wise: Not Enabled
- Lending: Not Enabled
- Amazon Best Sellers Rank: #357,732 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
- #34 in Books > Computers & Technology > Programming > Languages & Tools > Lisp
I've been coding in OO languages knew nothing of Clojure or functional programming but heard great things about its concurrency, conciseness of lisp, easy access to the java library ecosystem.
There are a number of books on Clojure but none that focus specifically on how to build a website - i.e. setting up a http server, database connections, db queries, taking form, url or session params to get data from the db, etc. So this book was very helpful in quickly getting me building a guestbook with all these essential requirements for a website app.
What I found as I went through the book's example apps was how flexible and easy it is to switch libraries and that the Clojure library system is quite extensive. In the rare case one doesn't exist for your needs, you simply include a java lib.
You include libraries in your project.clj file and then in the root of your app in the terminal command line simply type 'lein ring server' and before firing up the web server lein automatically fetches and installs them in your app. Lein is akin to rake in Ruby on Rails and just as concise and user friendly.
The book walks you through building the example applications with the views in the Hiccup template language. In later chapters, the author shows you a walk through of how to do the same application with the Selmer template system which he created based on the django template design.
The author is quite prolific in his support of the Clojure community having contributed some key libraries, developed the Luminus web framework in Clojure and as one of the maintainers of lib-noir, one of the key Clojure libraries useful for building websites. I tried Luminus which is a Clojure web project template with a curated set of useful libraries.
0 Response to "Download Free Web Development with Clojure"
Post a Comment
Note: Only a member of this blog may post a comment.