Chinese Edition
近十年前,Bruce Tate 於 2004 出版的《Better, Faster, Lighter Java(中譯書名:輕快的好 Java)》預告 Java Ecosystem 的未來趨勢,正如這本書名所言:更好、更快、更輕巧。但現實…真的是這樣嗎?
很多 Java 工程師深陷無盡的窮忙迴圈,數不清的技術詞彙如 JSP、Servlet、EJB、Struts、JSTL、JSF、Swing、JFC、Spring、Ant、Maven、Hibernate、Eclipse、NetBeans…每個名字的背後都是光陰與數不盡的血與淚,等你攀爬過這面高牆,又會發現背後原來還有一座山。
作者 lyhcode 早期從熱愛的 LAMP 轉換到不喜歡的 Java 世界,曾經還因為太過厭惡而試圖將整個 Java 專案用 PHP 重寫。後來看到 Ruby on Rails 的出現,更是想把 Java 踢回火星。
前些年,徘徊在 Java 悲慘世界的邊緣,絕望之際發現世界的盡頭出現曙光,開始接觸一系列蛻變後的現代 Java 開發工具。
原來 Java 開發也能很輕快,甚至只要一套 Vim 或 Sublime 搭配 Console 就能搞定。
本年度的 30 篇連載,將陸續挑選簡單實用的案例與看倌交流分享。
以 Groovy 為基礎發展的各式工具,還是近年 Java 世界最值得注目的焦點。其中 Gradle 快速竄紅已被 Google 定位為 Android 官方的自動建置工具,可惜中文的資料太過稀少,過去曾在部落格分享少數心得,這幾個月也陸續收到兩岸的讀者來信要求更完整的介紹。
- Groovy - 讓 Java 語法化繁為簡,並添加現代程式語言具備特性
- Gradle - 搭配強大套件版本管理的專案自動化建置工具
- Grails - 以 Groovy 為基礎發展類似 Ruby on Rails 風格且整合 Spring / Hibernate 的現代 MVC 框架
- GVM - 類似 NVM / RubyGems 的 Groovy 相關軟體版本自動管理工具
- Griffon - 類似 Grails 的 RIA 桌面應用開發框架
Java 的 Polyglot 特性讓「新語言」並行發展,你不需要再為了 Lambda 而苦苦等待 Java 8 釋出,Bruce Tate 在 2010 年出版的《Seven Languages in Seven Weeks》,就包含以下兩種活躍在現代 Java 世界的新語言。
- Scala - 跳脫傳統 Java 思維重新定義的新程式語言
- Clojure - 類似 LISP 語言的函數型程式語言
相信「測試」的重要性不需要多提,但 Java 專案如何落實測試呢?趕快認識這些工具吧!
- Jenkins - 24小時幫專案開發團隊做持續整合好管家
- Spock - 類似 RSpec 的測試框架
- GSpec - 實現行為驅動開發(BDD)的敏捷開發框架
- Geb - 類似 jQuery 選擇器的瀏覽器自動化測試框架
如果你喜歡 Node.js 的優點,可以先不要急著丟掉手邊的程式碼,用 Java 打造更快更好的網路應用程式。
- Jetty - 更適合嵌入式及雲端應用佈署的輕量化網頁伺服器
- Netty - 非同步事件驅動的網路程式開發框架
- vert.x - 類似 Node.js 的高性能 Web 應用開發框架
- Lift - 以 Scala 為基礎發展架構先進的網站開發框架
@作者 lyhcode 目前從事程式設計教學與顧問工作。