序
近年來,Java 增加了函數式程式設計的特性,如類型推斷、Lambda 運算式、Stream 流等,後端開發逐漸採用了一些函數式程式語言,如Scala、Kotlin。函數式程式設計以其簡潔性、不變性、空指標處理人性化等特點深受後端開發人員的青睞。
筆者之前使用Scala 做過後端開發,感慨Scala 的門檻較高,入門困難,而且生態資源相對匱乏,開發過程比較痛苦。後來,使用Java 進行後端開發,依靠Spring Boot 強大的生態,可以方便地使用訊息佇列、資料庫、快取、大數據相關中介軟體。但是Java 比較笨重,容錯的程式、空指標異常、執行緒安全等問題經常困擾著筆者。隨著Kotlin 在行動端開發的普及,它也逐步走入後端開發者的視野。Kotlin 是JVM 系統的語言,和Java具有良好的互通性,上手較容易,且可以使用Java 強大的生態,其還具有函數式程式設計的優點。另外,Spring Initializr 提供了對Java、Kotlin 語言的支援。
Kotlin 是JetBrains 公司開發的,目前流行的IntelliJ IDEA 軟體也是該公司開發的。IDEA 對Kotlin 支援較好,可以將Java 程式轉為Kotlin 程式。IDEA 還支援Java、Kotlin 混合程式設計,歷史程式使用Java 撰寫,新的程式可以嘗試使用Kotlin 撰寫。
基於以上考慮,筆者開始研究使用Kotlin、Spring Boot 做後端開發,獲得了不錯的效果。市面上介紹使用Kotlin 進行後端開發的圖書比較少,筆者在大量實作的基礎上,萌生了寫一本書的想法,希望和更多的Java 開發人員分享Kotlin 在後端開發中的實作經驗。
本書共10 章,第1 章介紹如何架設Kotlin 的開發環境,第2 章介紹函數式程式設計,第3 章簡單介紹Kotlin 的語法,第4 章介紹Kotlin 在常用中介軟體中的應用,第5 章介紹Kotlin 如何應用於微服務註冊中心,第6 章介紹Kotlin 如何應用於微服務設定中心,第7 章介紹Kotlin 如何應用於微服務閘道,第8 章介紹Kotlin 如何應用於Spring Cloud Alibaba,第9 章介紹Kotlin 整合服務監控和服務鏈路監控的相關知識,第10 章介紹如何用Kotlin 撰寫部落格應用。本書提供了大量的實例,相關原始程式可以從GitHub 下載運行。
?
袁康