1. 程式人生 > >7個改變世界的Java專案

7個改變世界的Java專案

       Java的開源生態系統是強大而健康的,這是我們(Oreilly)建立OSCON Java(Open Source Convention Java)的主要原因之一。在過去10年中,一些專案已經被廣泛接受,並且已經統治了Java軟體開發世界,一些甚至影響到了使用者的日常生活。

JUnit

由Kent Beck和Erich Gamma從Smalltalk的單元測試中移植到Java,JUnit在過去十年中主要負責推廣測試驅動的開發。許多實現已經建立,在.NET,C,Python,Perl和幾乎每種語言的流行使用。

Eclipse

隨著Java及其API在21世紀初期成熟,Eclipse IDE為程式設計師提供了一種高效的方法,並與不斷增長的Java生態系統進行協商。Eclipse也是使用SWT UI工具包的第一個主要專案,為Sun的Swing提供了重要的競爭,並顯示Java程式可以提供豐富的本地介面。Eclipse已經朝著成為通用IDE的目標發展,現在它為平臺供應商提供了一個豐富的基礎。


Spring

Spring 框架在提高Java開發人員的生產效率方面扮演著一個重要的角色。它維持了簡單和特點的平衡。Spring為Java開發人員提供了一套服務。這套服務提供了普遍使用的應用功能,例如資料訪問和事務管理。作為Sun公司的企業JavaBean系統的競爭者,Spring為Java應用創造出了另外一個可選的簡單的路徑,同時也創造出了一個Java應用開發思想上的健康競爭。

Solr

多年來,Solr伺服器(集成了Lucene搜尋引擎)已經為web和企業應用提供了一個簡單實用的搜尋功能的解決方案。Solr的特別之處在於它為強力和快速的Lucene搜尋庫提供了HTTP訪問,使它能夠成為任何系統的一部分,無論這系統是不是由Java實現。比其它專案好的地方,Solr已經使強力快速的搜尋成為現代Web應用的一個可選項。


Hudson and Jenkins

最初開發為Hudson,現在也作為Jenkins,這種持續整合工具是Java開發設定的關鍵部分。Jenkins提供了軟體專案的自動構建和測試,繼續在JUnit的腳步中實現Java平臺上的敏捷開發。雖然Hudson和Jenkins現在仍然是彼此的叉子,但是它不會減少Kohsuke Kawaguchi在建立世界級的持續整合平臺和提高Java開發的質量方面的工作。


Hadoop

Hadoop是著名的MapReduce模型的Java實現。它的強壯使得最大多數的“大資料”系統成為可能。通過降低從巨大的資料集合中抽取有價值的資料的成本,Hadoop 已經被大量使用,如Facebook用它來做海量資料分析,Yahoo 的個人和廣告業務,還有很多其他的公司。就像Linux使大型網站能夠構建在便宜的硬體上一樣,Hadoop則通過在軟體層的高容錯性使大規模的分散式計算成為可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。

 Android

爭論從來沒有遠離Java,無論託管人是Sun還是Oracle。Google選擇使用Java作為其廣受歡迎的Android移動作業系統的程式語言,導致了對來自軟體開發人員的全新社群的語言的重新興趣。Android程式經歷進一步的步驟將JVM位元組碼轉換為Dalvik位元組碼 - Dalvik是一個為移動裝置優化的虛擬機器。Google已經能夠利用Eclipse為軟體開發人員提供一個用於建立Android應用程式的成熟的開發環境。

Oracle和Google目前正針對Android聲稱Android侵犯了Oracle持有的多項專利提起訴訟。儘管這樣的結果,Android已經做了很多招聘開發人員,並永久使用Java在客戶端軟體開發。