7個(gè)改變世界的Java項(xiàng)目
1. JUnit

Kent Beck先生關(guān)于Smalltalk的單元測(cè)試被Kent Beck 和Erich Gamma 帶進(jìn)Java——JUnit。在這十年里,JUnit帶來(lái)了測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的普及浪潮。許多其它流行語(yǔ)言的單元測(cè)試版本也跟著被創(chuàng)造出來(lái)了,例如.NET、 C、Python、Perl。
2. Eclipse
剛進(jìn)入20世紀(jì),隨著Java和它的API的成熟,Eclipse IDE(集成開(kāi)發(fā)環(huán)境)為程序員提供了一個(gè)幫助他們提高生產(chǎn)效率和融入到成長(zhǎng)中的Java社區(qū)的環(huán)境。Eclipse也是***個(gè)用SWT UI 工具包的大型項(xiàng)目。Eclipse已經(jīng)逐步向成為一個(gè)普及的集成開(kāi)發(fā)環(huán)境的目標(biāo)發(fā)展?,F(xiàn)在它為集成平臺(tái)插件提供了豐富的基礎(chǔ)平臺(tái)。(SWT是SUN公司的Swing的強(qiáng)勁競(jìng)爭(zhēng)者,它證明了Java 程序也可以提供豐富的本地接口。)
3. Spring
Spring 框架在提高Java開(kāi)發(fā)人員的生產(chǎn)效率方面扮演著一個(gè)重要的角色。它維持了簡(jiǎn)單和特點(diǎn)的平衡。Spring為Java開(kāi)發(fā)人員提供了一套服務(wù)。這套服務(wù)提供了普遍使用的應(yīng)用功能,例如數(shù)據(jù)訪問(wèn)和事務(wù)管理。作為Sun公司的企業(yè)JavaBean系統(tǒng)的競(jìng)爭(zhēng)者,Spring為Java應(yīng)用創(chuàng)造出了另外一個(gè)可選的簡(jiǎn)單的路徑,同時(shí)也創(chuàng)造出了一個(gè)Java應(yīng)用開(kāi)發(fā)思想上的健康競(jìng)爭(zhēng)。
4. Solr

多年來(lái),Solr服務(wù)器(集成了Lucene搜索引擎)已經(jīng)為web和企業(yè)應(yīng)用提供了一個(gè)簡(jiǎn)單實(shí)用的搜索功能的解決方案。Solr的特別之處在于它為強(qiáng)力和快速的Lucene搜索庫(kù)提供了HTTP訪問(wèn),使它能夠成為任何系統(tǒng)的一部分,無(wú)論這系統(tǒng)是不是由Java實(shí)現(xiàn)。比其它項(xiàng)目好的地方,Solr已經(jīng)使強(qiáng)力快速的搜索成為現(xiàn)代Web應(yīng)用的一個(gè)可選項(xiàng)。
5. Hudson and Jenkins

原名為Hudson,現(xiàn)在也叫Jenkins,這個(gè)持續(xù)集成工具是Java開(kāi)發(fā)設(shè)置的關(guān)鍵部分。Jenkins為軟件項(xiàng)目提供了自動(dòng)構(gòu)建和測(cè)試。隨著 JUnit的測(cè)試持續(xù)集成,Jenkins在Java的平臺(tái)上是敏捷研發(fā)成為可能。雖然Hudson和Jenkins現(xiàn)在集成在一起,但并沒(méi)有偏離Kohsuke Kawaguchi的努力,Kohsuke使它成為***的持續(xù)集成平臺(tái),并提高了大部分Java研發(fā)的質(zhì)量。
6. Hadoop
Hadoop是著名的MapReduce模型的Java實(shí)現(xiàn)。它的強(qiáng)壯使得***多數(shù)的“大數(shù)據(jù)”系統(tǒng)成為可能。通過(guò)降低從巨大的數(shù)據(jù)集合中抽取有價(jià)值的數(shù)據(jù)的成本,Hadoop 已經(jīng)被大量使用,如Facebook用它來(lái)做海量數(shù)據(jù)分析,Yahoo 的個(gè)人和廣告業(yè)務(wù),還有很多其他的公司。就像Linux使大型網(wǎng)站能夠構(gòu)建在便宜的硬件上一樣,Hadoop則通過(guò)在軟件層的高容錯(cuò)性使大規(guī)模的分布式計(jì)算成為可能。Hadoop和上面提到的Lucene都是Doug Cutting的努力成果。
7. Android
Java的歸屬(Sun或者Oracle)爭(zhēng)論一直持續(xù)著。Google卻選擇用Java語(yǔ)言作為它十分流行的Android移動(dòng)操作系統(tǒng)的編程語(yǔ)言。這個(gè)選擇在整個(gè)件研發(fā)人員的社區(qū)中引起了新的關(guān)注。Android 程序編譯過(guò)程比普通Java程序要多經(jīng)過(guò)一個(gè)步驟,將JVM二進(jìn)制碼轉(zhuǎn)換成Dalvik二進(jìn)制碼。(Dalvik是專門(mén)為移動(dòng)設(shè)備優(yōu)化的虛擬機(jī))Google 已經(jīng)可以利用Eclipse 為軟件研發(fā)人員提供一個(gè)成熟的編寫(xiě)Android應(yīng)用的開(kāi)發(fā)環(huán)境。
Oracle和Google現(xiàn)在正卷入法律訴訟中,因?yàn)镺racle聲明Android侵犯了Oracle的多項(xiàng)專利。無(wú)論這場(chǎng)訴訟的結(jié)果如何,Android都已經(jīng)為研發(fā)人員的就業(yè)和延續(xù)客戶端軟件研發(fā)領(lǐng)域的Java的使用做了很大的貢獻(xiàn)。
編注:根據(jù)路透社7月25日***消息,美國(guó)一家地方聯(lián)邦法院法官威廉姆·阿索普周五駁回了甲骨文起訴GG侵害Java專利的索賠評(píng)估報(bào)告,認(rèn)為61億美元的索賠金額過(guò)高。而就在一天前,威廉姆 曾警告稱兩家在Android平臺(tái)的專利爭(zhēng)端中沒(méi)有占在合理立場(chǎng)。威廉姆表示,若Oracle希望推遲10月份的審判直到雙方和解,這倒可以試一試。
原文:http://www.jobbole.com/entry.php/1144
【編輯推薦】