dswdcloj2

Build Bulletproof Web Apps with Less Code

先進的web應用程式值得用先進的工具來開發.  運用JVM的豐富架構, 同時利用現代函數式語言(functional language)的表現力和輕快的效能.  應用Clojure在web開發上的優勢. 一步步以Clojure的基礎設計實現真正符合需求的專業網頁應用軟體.  此版多加了新的libraries、工具與最佳實踐, 並專注開發現代的單一網頁應用程式(SPA, Single-page applications).
—  2016年7月15日將出書, 現有Beta版

關於這本書

expert

不要再用昨日的工具開發web 應用了. 今天, 越來越多的開發者採用Clojure做web開發的平台.  當你建立一系列越來越複雜的web應用程式, 使用這現代函數式語言(functional language)經歷web開發的整個過程時, 你就能親身感受到為什麼Clojure這麼受歡迎. 本書帶你從構想階段到打包佈署, 走過所有開發豐富圖像網頁應用的每個步驟, 讓你實際地用Clojure建立符合真實世界需求且專業的web應用.

此完全更新的第二版揭示快速演進的Clojure生態系統的變動. 讓你跟上許多新的libraries、工具與最佳實踐的新知, 並獲得目前流行的Luminus架構下Ring/Compojure堆疊的專業知識.  你也將學到Clojure如何處理資料庫和加快RESTful服務的開發. 了解為何ClojureScript已快速成為流行的前端開發平台, 並配合受歡迎的Reagent library使用ClojureScript來建造單頁應用(SPA , Single Page Apps)

此書為你而寫–不管你已熟悉Clojure, 或你正想了解這門語言.


五個問題相關Clojure 和Web開發
by Dmitri Sotnikov, author of Web Development with Clojure, Second Edition

Q: Clojure 像什麼?
A: Clojure是小而優雅且可延展的語言, 其主要目的是簡單確實. 身為函數式語言(functional language),其強調不變性(immutability)和宣告式編程(declarative programming).  因託管在Java虛擬機上, Clojure有成熟且高度效能的環境, 且有很棒的輔助工具和佈署的選擇.

Q: 什麼讓Clojure這麼特別?
A: 任何可用高階語言表現的東西也可用其他來表現.  但實際上我們應該問這語言之於我們想解決的問題到底有多契合. 是否這語言可讓你由問題領域來思考, 或你必須不斷地在用這語言編程時轉譯此領域的觀念? 最佳狀況是你可以不假思索就能順手地用這語言. 這正是Clojure的亮點. 它可讓你很容易地用問題領域的術語來推導解決方案.

Q: web應用程式為何要用函數式語言(functional language)?
A:函數式語言(functional languages)很適合寫大型應用程式, 因為其原始設定會避開同樣程式碼在執行時隨隱藏變數改變的問題(global state), 其著重不變性(immutability, 程式碼相同跑出來的結果一定相同).  讓資料無法從後台修改其值將允許我們安全地做部分應用程式的獨立推理. 此外, 因著重不變性(immutability), 讓平行與同時處理難題更加簡單. 雖說沒有銀色子彈能解決所有問題, 運用函數式語言(functional language)對解決問題大有幫助.

Q: 為何要在Clojure上寫web應用?
A: Clojure誇說已有成千上萬的使用者, 且web開發是其主要使用領域之一.  但其他平台也可用來做web開發, 為何要選Clojure不選其它呢?  嗯, 大多數的平台強迫你要做一些取捨: 如犧牲效能、架構、簡明, 或開發容易性.  以在JVM上託管現代的函數式語言(functional language), Clojure的創作者不會被要求犧牲任何一項.

Q: 有類似Rails for Ruby的Clojure架構?
A: Clojure社群已安排有利於架構(frameworks)的結合專案模板的libraries使用. libraries可被很容易地以對你特定的專案有意義地組成.  同時, 模板允許不需要架構(frameworks)中的控制反轉(IoC, Inversion of Control)即可很快地建立專案. 很多web開發者發現這種模式在架構為基礎的處理上有明顯的優勢.  我想你也將會發現.

讀者評語

第一版 (Amazon)

amazon-clojure

準備

最新的JVM, Clojure 1.7+, 與 Leiningen build工具, 以及如Emacs, IntelliJ, Eclipse, Light Table, 或 VI的編輯器.

資源

內容

作者介紹

Dmitri Sotnikov 是熱情洋溢的Clojure開發者, 他很享受web應用開發. 他已經開發了許多手歡迎的Clojure libraries, 且是Luminus micro-framework的作者.

團購價

  • Pragmatic Bookshelf原價USD24
  • 10本團購特價 USD22.08 
  • 在Facebook參與團購(不用先付$), 團購人數到後才貼付$的連結
  1. 購買量達到10單位,團購即成立.
  2. 成立時我們將通知大家, 請收到訊息後盡快寄info@esast.com告訴我們您的email、國籍與英文名.
  3. 我們將以email寄給您付款資訊, 請於通知後3天內完成轉帳, 告知您帳號末四碼.
  4. 我們將於大家付款確認後, 跟Pragmatic Bookshelf下單, 並請Pragmatic直接把codes寄給大家.
  5. 此時您已經有個帳號在Pragmatic了, 以後如果您的電子書閱讀器有任何變動, 也可隨時登入pragprog.com重新下載.

想參加此書的團購嗎?   歡迎到Facebook Po文留言

歡迎參加雲端讀書會 

想找社群朋友一起買這本好書嗎? 使用以下的社群分享按鈕分享給你的朋友吧!

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

你正使用 WordPress.com 帳號留言。 登出 / 變更 )

Twitter picture

你正使用 Twitter 帳號留言。 登出 / 變更 )

Facebook照片

你正使用 Facebook 帳號留言。 登出 / 變更 )

Google+ photo

你正使用 Google+ 帳號留言。 登出 / 變更 )

連結到 %s

分類