iT邦幫忙

DAY 1
6

Modern Java Programming 技術漫談系列 第 1

Modern Java Programming - Hello World

  • 分享至 

  • xImage
  •  

近十年前,Bruce Tate 於 2004 出版的《Better, Faster, Lighter Java(中譯書名:輕快的好 Java)》預告 Java Ecosystem 的未來趨勢,正如這本書名所言:更好、更快、更輕巧。但現實…真的是這樣嗎?


(圖片擷取自 Flickr 網路相簿 Creative Commons 授權圖片)
很多 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 目前從事程式設計教學與顧問工作。


下一篇
GVM - Groovy 的版本管理工具 - Modern Java Programming
系列文
Modern Java Programming 技術漫談6
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
SunAllen
iT邦研究生 1 級 ‧ 2013-09-23 23:44:38

沙發

想請問一下大大,不知大大有沒有遇過這樣的情形,在Browser裏執行Java介面的網頁程式,有的瀏覽器比較快,有的比較慢...是因為什麼原因

Kyle iT邦新手 3 級 ‧ 2013-09-23 23:47:23 檢舉

可以先檢查是否為前端網頁的問題~

我要留言

立即登入留言