摘要:從太空探索到基因組學(xué),從反向編譯器到機(jī)器人控制器,Java 都是當(dāng)今世界的核心。下面將介紹幾個(gè)從眾多 Java 應(yīng)用程序中脫穎而出的優(yōu)秀應(yīng)用。
Java 的故事始于 1991 年,當(dāng)時(shí) Sun Microsystems 試圖將其在計(jì)算機(jī)工作站市場(chǎng)的領(lǐng)先地位擴(kuò)展到新興且發(fā)展迅速的個(gè)人電子產(chǎn)品市場(chǎng)。幾乎沒有人預(yù)料到 Sun 即將創(chuàng)建的編程語(yǔ)言會(huì)使計(jì)算大眾化,激發(fā)了一個(gè)全球范圍的社區(qū),并成為了一個(gè)由語(yǔ)言、運(yùn)行時(shí)平臺(tái)、SDK、開源項(xiàng)目以及許多工具組成的持久軟件開發(fā)生態(tài)系統(tǒng)的平臺(tái)。經(jīng)過 James Gosling 領(lǐng)導(dǎo)的數(shù)年秘密開發(fā)之后,Sun 于 1995 年發(fā)布了具有里程碑意義的“一次編寫,隨處運(yùn)行” 的 Java 平臺(tái),并將重點(diǎn)從最初的交互式電視系統(tǒng)設(shè)計(jì)轉(zhuǎn)到了新興的萬(wàn)維網(wǎng)應(yīng)用程序上。在本世紀(jì)初,Java 就已經(jīng)開始為從智能卡到太空飛行器的一切制作動(dòng)畫了。
如今,數(shù)以百萬(wàn)計(jì)的開發(fā)人員在使用 Java 編程, Java 仍然在以越來(lái)越快的步伐向前發(fā)展。在Java 誕生25 周年之際,Java Magazine(Oracle 的雙月刊)聯(lián)合Oracle Java 開發(fā)團(tuán)隊(duì),共同撰文回顧Java 是如何塑造我們這個(gè)星球的。
以下是迄今為止,最具創(chuàng)意和影響力的25 個(gè)Java 應(yīng)用程序, 包含了從Wikipedia Search 到美國(guó)國(guó)家安全局的Ghidra 等。這些應(yīng)用包羅萬(wàn)象,覆蓋了包括:太空探索、視頻游戲、機(jī)器學(xué)習(xí)、基因組學(xué)、汽車、網(wǎng)絡(luò)安全等不同領(lǐng)域。
這份清單沒有特定的順序,也還不夠詳盡,可能會(huì)有遺漏,如果你認(rèn)為文章中遺漏了哪個(gè)重要的Java 應(yīng)用,可以在文末給我們留言!
1、Maestro 火星探測(cè)器控制器。 2004 年,Java 成為首個(gè)擴(kuò)展人類星球影響力的編程語(yǔ)言。那年在三個(gè)月的時(shí)間里,美國(guó)國(guó)家航空航天局(NASA)的科學(xué)家在位于加利福尼亞州帕薩迪納的噴氣推進(jìn)實(shí)驗(yàn)室(JPL)里,使用了由 JPL 機(jī)器人接口實(shí)驗(yàn)室建造的基于 Java 的 Maestro Science Activity Planner 來(lái)控制“勇氣號(hào)”火星探測(cè)器(Spirit Mars Exploration Rover )。在 JPL 里,Java 試驗(yàn)早在許多年前就開始,當(dāng)時(shí)是為 1995 年的“逗留者”火星車(Mars Sojourner)創(chuàng)建了一個(gè)命令和控制系統(tǒng)。 Java 創(chuàng)始人 James Gosling 為 JPL 工作了很長(zhǎng)時(shí)間,因此他成為了顧問委員會(huì)的一名成員。
2、JavaFX 深空軌跡探測(cè)器。計(jì)劃進(jìn)行一次太空飛行?您可能需要來(lái)自 a.i.solutions 的工具,a.i.solutions 是一家美國(guó)航空承包商,其產(chǎn)品和工程服務(wù)已經(jīng)被國(guó)防公司和民用航天機(jī)構(gòu)使用了 20 多年。
該公司的 JavaFX 深空軌道探測(cè)器(JavaFX Deep Space Trajectory Explorer)使軌跡設(shè)計(jì)人員可以計(jì)算深空三體系統(tǒng)的路徑和軌道。該應(yīng)用程序可以為任何行星 - 衛(wèi)星系統(tǒng)或小行星生成多維視圖和模型,并能在密集的視覺搜索中過濾數(shù)百萬(wàn)個(gè)點(diǎn)。
3、NASA WorldWind。NASA 發(fā)布了開源的 WorldWind 軟件開發(fā)工具包,所有人都可以免費(fèi)使用火箭科學(xué)家的工作成果。WorldWind 是一個(gè)虛擬地球 SDK,允許程序員將美國(guó)航天局的地理渲染引擎添加到自己的 Java、Web 或 Android 應(yīng)用程序中。 WorldWind 的地理空間數(shù)據(jù)遠(yuǎn)遠(yuǎn)超過了谷歌地球(Google Earth),它是由 NASA 工程師通過高程模型和其他數(shù)據(jù)源可視化地形的方式生產(chǎn)的。其網(wǎng)站稱:“世界各地的組織都使用 WorldWind 監(jiān)測(cè)天氣模式,可視化城市和地形,跟蹤車輛移動(dòng),分析地理空間數(shù)據(jù)以及對(duì)人類進(jìn)行地球知識(shí)的教育?!?/p>
4、JMARS 和 JMoon。 Java 任務(wù) - 遙感計(jì)劃和分析(JMARS)是一個(gè)地理空間信息系統(tǒng),由亞利桑那州立大學(xué)火星空間飛行設(shè)施人員編寫,自 2003 年開始公開發(fā)行,至今仍為 NASA 科學(xué)家所使用。 月球JMARS (月球科學(xué)家稱之JMoon)可以分析月球勘測(cè)軌道飛行器(Lunar Reconnaissance Orbiter,LOR)拍攝的廣角圖像,它是一種自動(dòng)航天器,自2009 年發(fā)射以來(lái),一直在50 至200 公里的月球軌道上運(yùn)行,并能將觀測(cè)結(jié)果發(fā)送給NASA 的行星數(shù)據(jù)系統(tǒng)(Planetary Data System)。
5、小體映射工具( Small Body Mapping Tool ,SBMT)。 SBMT 在太空科學(xué)家中很受歡迎,是由約翰霍普金斯大學(xué)應(yīng)用物理實(shí)驗(yàn)室開發(fā)的,它使用來(lái)自航天器的任務(wù)數(shù)據(jù)以 3D 的形式可視化小行星、彗星和小衛(wèi)星等不規(guī)則天體。 SBMT 是用 Java 編寫的,并使用了用于 Java 3D 圖形處理的開源可視化工具包(VTK)?!袄杳鳌疤?hào)(Dawn)、“羅塞塔”號(hào)(Rosetta)、“奧西里斯 - 雷克斯”號(hào)(OSIRIS-REx)和“隼鳥二號(hào)”(Hayabusa2)飛行任務(wù)團(tuán)隊(duì)在探索彗星、小行星和矮行星時(shí)都使用了 SBMT。
6、Wikipedia Search。一部大眾百科全書應(yīng)該運(yùn)行在開源軟件上,并且具有一個(gè)由 Java 驅(qū)動(dòng)的搜索引擎,這是再合適不過的了。 Lucene 是由 Doug Cutting 于 1999 年編寫,并以他妻子的中間名命名的,它實(shí)際上是 Cutting 開發(fā)的第五個(gè)搜索引擎。他作為工程師先后為 Xerox PARC(施樂帕克研究中心)、Apple 和 Excite 創(chuàng)建了其他的引擎。 2014 年,Wikipedia 用 Elasticsearch 代替了 Lucene 引擎,Elasticsearch 是一個(gè)分布式的、支持 REST 的搜索引擎,也是用 Java 編寫的。
7、Hadoop。 Lucene 并不是唯一一個(gè)進(jìn)入我們這個(gè)榜單的 Cutting 創(chuàng)建的作品。2003 年,Google 在一篇研究論文中描述了在大型商用計(jì)算機(jī)集群上處理數(shù)據(jù)的 MapReduce 算法,受該論文的啟發(fā),Cutting 用 Java 編寫了一個(gè) MapReduce 操作開源框架,并以他兒子的玩具大象命名,稱為 Hadoop 。 Hadoop 1.0 于 2006 年發(fā)布,催生了大數(shù)據(jù)趨勢(shì),并激發(fā)了許多公司開始收集“數(shù)據(jù)湖”(data lakes),制定挖掘“數(shù)據(jù)排放”(data exhaust)的策略,并將數(shù)據(jù)描述為“新石油”(the new oil)。到 2008 年,Yahoo(當(dāng)時(shí)的 Cutting 曾在該公司工作)宣稱他們的 Search Webmap 運(yùn)行在 10,000 個(gè)內(nèi)核的 Linux 群集上,是現(xiàn)有的最大的產(chǎn)線 Hadoop 應(yīng)用程序。到 2012 年,F(xiàn)acebook 聲稱在全球最大的 Hadoop 集群上擁有超過 100 PB 的數(shù)據(jù)。
8、并行圖形分析(Parallel Graph AnalytiX,PGX)。圖形分析是有關(guān)理解數(shù)據(jù)中的關(guān)系和連接的。根據(jù)基準(zhǔn)測(cè)試, PGX 是世界上速度最快的圖形分析引擎之一。 PGX 是用 Java 編寫的,由 Oracle Labs 研究員 Sungpack Hong 領(lǐng)導(dǎo)的團(tuán)隊(duì)于 2014 年首次發(fā)布,PGX 允許用戶加載圖形數(shù)據(jù)并運(yùn)行分析算法,比如,社區(qū)發(fā)現(xiàn)(Community Detection)、聚類、路徑查找、頁(yè)面排名、影響因素分析、異常檢測(cè)、路徑分析和模式匹配等算法。在健康、安全、零售和金融領(lǐng)域,它的用例比比皆是。
9、H2O.ai。機(jī)器學(xué)習(xí)(ML)的曲線非常陡峭,這可能會(huì)阻止領(lǐng)域?qū)<覍?shí)現(xiàn)偉大的 ML 想法。自動(dòng)化 ML(AutoML)可以通過推斷 ML 流程中的某些步驟(例如特征工程、模型訓(xùn)練和調(diào)整以及轉(zhuǎn)譯等)來(lái)提供一些幫助。 由 Java 冠軍 Cliff Click 創(chuàng)建的基于 Java 的開源 H2O.ai 平臺(tái),旨在實(shí)現(xiàn) AI 的大眾化,并能為那些剛?cè)腴T的人們充當(dāng)虛擬數(shù)據(jù)科學(xué)家,同時(shí)能幫助 ML 專家提高效率。
10、 Minecraft。該游戲的和平環(huán)境是由生物群落、人以及自己用積木搭建的住所組成的,它對(duì)世界各地的兒童和成人都有著持久的吸引力,這使得它成為歷史上最受歡迎的視頻游戲。 Minecraft 及其 3D 宇宙是由 Markus “Notch” Persson 用 Java 開發(fā)的,并于 2009 年以 Alpha 版本發(fā)布,它是永無(wú)止境的創(chuàng)造力之源,因?yàn)闆]有兩個(gè)衍生的世界是一樣的。該視頻游戲?qū)ava 的使用也可以讓在家和學(xué)校的程序員創(chuàng)建自己的模塊。
11、Jitter 機(jī)器人和 leJOS。在自動(dòng)吸塵器 Roomba 出現(xiàn)之前,就已經(jīng)有 Jitter 。Jitter 是一個(gè)用來(lái)吸取國(guó)際空間站(ISS)中漂浮顆粒的原型機(jī)器人,它能夠在失重狀態(tài)下導(dǎo)航,在墻壁上彈跳,并能使用回轉(zhuǎn)儀進(jìn)行自我定位。據(jù)報(bào)告稱,俄羅斯宇航員發(fā)現(xiàn)該機(jī)器人的 x、y、z 旋轉(zhuǎn)操作令人印象深刻,能讓人聯(lián)想到國(guó)際空間站自身是如何控制其方向的。Jitter 是 leJOS 最出類拔萃的原型,leJOS 是 Lego Mindstorms 的 Java 虛擬機(jī),是 Lego 的硬件軟件環(huán)境,可用于從積木玩具中開發(fā)可編程的機(jī)器人。玩具 OS 可以追溯到 1999 年由 José Solorzano 發(fā)起的 TinyVM 項(xiàng)目,該項(xiàng)目后來(lái)演變成 leJOS,由 Brian Bagnall、JürgenStuber 和 Paul Andrews 領(lǐng)導(dǎo)。這個(gè)功能齊全的環(huán)境具有許多特定于機(jī)器人編程的類,這些類使用 Java 的面向?qū)ο筇匦赃M(jìn)行了簡(jiǎn)化,使得任何人都可以利用其高級(jí)控制器和行為算法。
12、Java 小程序。根據(jù)牛津英語(yǔ)詞典,小程序(applet)一詞最早出現(xiàn)在 1990 年的 PC Magazine(計(jì)算機(jī)雜志)上。但是直到 1995 年 Java 出現(xiàn)后,小程序才真正騰飛。Java 小程序可以在網(wǎng)頁(yè)(Frame、新窗口、Sun 的 AppletViewer 或測(cè)試工具)中啟動(dòng),并能運(yùn)行在于瀏覽器相獨(dú)立的 JVM 上。一些人將 Minecraft 的早期成功歸功于這樣一個(gè)事實(shí):玩家可以通過 Java 小程序在 Web 瀏覽器中玩游戲,而不必下載并安裝游戲。盡管 Java 小程序自 Java 9 以來(lái)就不被推薦,并且在 2018 年也被從 Java SE 11 中剔除掉了,但它們一度是最快的游戲。一個(gè)有趣的事實(shí)是:Java 小程序還可以訪問 3D 硬件加速,這使得它們?cè)诳茖W(xué)可視化方面很受歡迎。
13、NetBeans 和 Eclipse IDE。最早進(jìn)入 Java 集成開發(fā)環(huán)境世界的是 NetBeans ,NetBeans 于 1996 年在布拉格的查爾斯大學(xué)(以 Xelfi 的名義)創(chuàng)立,并于 1997 年由企業(yè)家 Roman Staněk 創(chuàng)立的同名公司進(jìn)行商業(yè)化。 Sun 在 1999 年購(gòu)買了支持所有 Java 應(yīng)用程序類型的模塊化 IDE,并于次年將其開源。 2016 年,Oracle 將整個(gè) NetBeans 項(xiàng)目捐贈(zèng)給了 Apache 軟件基金會(huì)(Apache Software Foundation)。
另一個(gè)流行的基于 Java 的集成開發(fā)環(huán)境是開源的 Eclipse IDE,它不僅可以用于 Java 編碼,還可用于從 Ada 到 Scala 的其他語(yǔ)言的編碼。 Eclipse SDK 由 IBM 于 2001 年推出,是基于 IBM VisualAge 的,它是面向 Java 開發(fā)人員的,但是可以通過插件進(jìn)行擴(kuò)展。 Eclipse IDE 于 2004 年從 IBM 分離出來(lái)并加入 Eclipse 基金會(huì),它目前仍然是可用的頂級(jí) I??DE 之一。
14、 IntelliJ IDEA。IDE 有很多,但 IntelliJ IDEA 在 2001 年推出后就成為了人們的最愛。如今,IntelliJ IDEA 已成為許多 IDE 的框架,這些 IDE 適用于 Python、Ruby 和 Go 等多種語(yǔ)言。 IntelliJ IDEA 及其相關(guān)的JetBrains IDE 套件是使用Java 編寫的,可以提高許多開發(fā)人員所依賴的生產(chǎn)力和導(dǎo)航功能。其中包括代碼索引、重構(gòu)、代碼完成(這要早于智能手機(jī)上的文本自動(dòng)完成)以及發(fā)現(xiàn)錯(cuò)誤的動(dòng)態(tài)分析(類似于拼寫檢查器)。 “ IntelliJ IDEA 幫助克服了在某個(gè)框架下管理和調(diào)試基于Java 和JVM 的復(fù)雜應(yīng)用程序的挑戰(zhàn),”駐英自由軟件和數(shù)據(jù)工程師、Java 冠軍Mani Sarkar 說(shuō)。 “它們讓開發(fā)人員在使用它們的工具時(shí),感到高效、多產(chǎn),最重要的是能感到快樂?!?/p>
15、Byte Buddy。開源 Java 庫(kù) Byte Buddy 的創(chuàng)建者,來(lái)自?shī)W斯陸(挪威 Oslo)的軟件工程師 Rafael Winterhalter 坦承,他的一生(有時(shí)令人發(fā)狂)專注于小眾市場(chǎng)。盡管如此,他的貢獻(xiàn)還是大受歡迎:Winterhalter 說(shuō),用于 Hibernate 和 Mockito 等 Java 工具的 Byte Buddy 運(yùn)行時(shí)代碼生成和操作庫(kù)每月下載量高達(dá) 2000 萬(wàn)次。
16、Jenkins。 Jenkins 由 Sun Microsystems 工程師 Kohsuke Kawaguchi 于 2004 年創(chuàng)建,是一個(gè)功能強(qiáng)大的開源的持續(xù)集成服務(wù)器。 Jenkins 用 Java 編寫,可幫助我們快速自動(dòng)地構(gòu)建、測(cè)試和部署應(yīng)用程序。它通常被認(rèn)為是使“基礎(chǔ)設(shè)施即代碼”(Infrastructure As Code,Iac)成為可能的早期 DevOps 工具之一。 Jenkins 及其 1500 多個(gè)由社區(qū)貢獻(xiàn)的插件可以處理各種各樣的部署和測(cè)試任務(wù),從與 GitHub 合作,到支持色盲開發(fā)人員,再到提供 MySQL Connector JAR 文件。
17、GraalVM。由 Oracle Labs 的 Thomas Wuerthinger 領(lǐng)導(dǎo)的一個(gè)蘇黎世(Zurich)研究團(tuán)隊(duì),花費(fèi)了多年的時(shí)間來(lái)磨練三個(gè)想法:我們是否可以用 Java 編寫編譯器(原始 JVM 是用 C 編寫的)呢?它是否可以運(yùn)行以任何語(yǔ)言編寫的程序呢?它是否夠高效呢?在發(fā)表了 60 篇研究論文之后, GraalVM 最終勝出,并成為了一個(gè)商業(yè)產(chǎn)品。 Twitter 是這項(xiàng)技術(shù)的狂熱愛好者之一,它使用 GraalVM 來(lái)提高服務(wù)的速度和計(jì)算效率。
18、Micronaut。為云編寫代碼的開發(fā)人員需要仔細(xì)考慮其應(yīng)用程序使用了多少內(nèi)存,以及應(yīng)用程序如何使用這些內(nèi)存。 Micronaut 的創(chuàng)建者 Graeme Rocher 說(shuō): “您必須使應(yīng)用程序?qū)χ貑?、故障自?dòng)切換、停機(jī)再恢復(fù)非常敏感,并在啟動(dòng)時(shí)間和內(nèi)存消耗方面進(jìn)行優(yōu)化,” 。Micronau 是一個(gè)用于微服務(wù)的 Java 框架,該微服務(wù)需使用注解元數(shù)據(jù),以便 JVM 能夠有效地編譯應(yīng)用程序的字節(jié)碼。
19、WebLogic Tengah。 1997 年, WebLogic Tengah 成為企業(yè)級(jí) Java 服務(wù)器的首個(gè)實(shí)質(zhì)性實(shí)現(xiàn)。 “它早于 Java 2 企業(yè)版,并成為 BEA 的主要產(chǎn)品,最終導(dǎo)致了 Oracle 收購(gòu) BEA Systems,”Java Magazine 和 Dr. Dobb’s Journal 的前主編 Andrew Binstock 說(shuō)。 與此同時(shí),IBM 在業(yè)務(wù)對(duì)象框架 San Francisco Project 上的成功,“使 Java 真正從酷孩子們正在玩的一個(gè)有趣的新事物中脫穎而出,并成為一種嚴(yán)肅的業(yè)務(wù)工具,”Binstock 說(shuō)。如今,Oracle WebLogic Server 仍然是領(lǐng)先的 Java 應(yīng)用程序服務(wù)器。然而,另一種選擇仍在蓬勃發(fā)展:開源應(yīng)用程序服務(wù)器 GlassFish ,它于 2005 年由 Sun 創(chuàng)建,于 2018 年捐贈(zèng)給 Eclipse 基金會(huì)。
20、Eclipse Collections。工作在投資銀行、證券交易所和其他金融服務(wù)公司的許多高薪開發(fā)人員都需要強(qiáng)大的 Java 技能,這是有原因的:Java 編程語(yǔ)言擅長(zhǎng)處理并發(fā),即管理高頻交易和其他大規(guī)模金融事務(wù)中常見的多個(gè)執(zhí)行線程。 Eclipse Collections 最初稱為 Goldman Sachs Collections,后來(lái)捐贈(zèng)給了 Eclipse 基金會(huì),它擴(kuò)展了原生 Java 的性能密集型特性,“具有優(yōu)化的數(shù)據(jù)結(jié)構(gòu)和豐富的、功能強(qiáng)大的、流暢的 API”,Java 冠軍 Mani Sarkar 說(shuō)。 Sarkar 指出,Eclipse Collections 包含緩存、原語(yǔ)支持、并發(fā)庫(kù)、通用注解、字符串處理、輸入 / 輸出等等。
21、NSA Ghidra。在舊金山舉行的 2019 年 RSA 大會(huì)上,美國(guó)國(guó)家安全局( U.S. National Security Agency)推出了一款基于 Java 的開源工具 Ghidra ,安全研究人員和從業(yè)者現(xiàn)在可以使用它來(lái)了解惡意軟件的工作原理,并檢查自己的代碼是否存在漏洞。這個(gè)逆向工程平臺(tái)可以將軟件從機(jī)器語(yǔ)言反編譯回源代碼(例如 Java 語(yǔ)言)。該工具有一個(gè)故事,即使不是聲名狼藉,也是傳奇:2017 年 3 月,維基解密(WikiLeaks)將其存在公之于眾。
22、集成基因組瀏覽器( Integrated Genome Browser,IGB)。繪制人類基因組圖譜的競(jìng)賽始于 1990 年,并在 13 年后結(jié)束。當(dāng)時(shí),醫(yī)學(xué)研究人員成功地對(duì)生物技術(shù)專家 Craig Venter 的 30 億個(gè) DNA 堿基對(duì)進(jìn)行了測(cè)序,這項(xiàng)工作歷時(shí) 10 年,涉及 3,000 人,耗資 30 億美元。測(cè)序完成后,科學(xué)家們很想深入研究我們這個(gè)物種的源代碼,但是怎么做呢?進(jìn)入基于 Java 的基因組瀏覽器,這是一個(gè)由包括生物信息學(xué)教授 Ann Loraine 在內(nèi)的團(tuán)隊(duì)開發(fā)的可視化工具,可用于探索基礎(chǔ)數(shù)據(jù)集和參考基因注解。開源的集成基因組瀏覽器(Integrated Genome Browser )允許研究人員放大、平移和繪制基因組數(shù)據(jù),以便識(shí)別和注解遺傳特征。為了配合這一全球努力,加州大學(xué)圣克魯茲分校(University of California Santa Cruz)提供了一個(gè)類似的工具,即由Jim Kent 管理的基因組瀏覽器(Genome Browser)。
23、BioJava。 BioJava 于2000 年啟動(dòng),至今仍很強(qiáng)大,它是一個(gè)用于處理生物數(shù)據(jù)的開源庫(kù),生物數(shù)據(jù)領(lǐng)域也被稱為生物信息學(xué)??茖W(xué)家使用該庫(kù)可以處理蛋白質(zhì)和核苷酸序列,并可以研究有關(guān)基因到蛋白質(zhì)翻譯、基因組學(xué)、系統(tǒng)發(fā)育和大分子結(jié)構(gòu)的數(shù)據(jù)。該項(xiàng)目得到了開放生物信息學(xué)基金會(huì)(Open Bioinformatics Foundation,OBF)的支持,其全球范圍的貢獻(xiàn)者得到了各種制藥、醫(yī)學(xué)和基因組學(xué)領(lǐng)域的資助。 “BioJava 是方法論和軟件開發(fā)的一個(gè)熱門選擇,這要?dú)w功于Java 的可用工具及其跨平臺(tái)的可移植性,” Aleix Lafita 及其同事在2019 年發(fā)表的一篇題為“ BioJava 5:社區(qū)驅(qū)動(dòng)的開源生物信息庫(kù)”的論文中寫道。該論文進(jìn)一步指出,自2009 年以來(lái),BioJava 已經(jīng)接受了65 個(gè)不同開發(fā)人員的貢獻(xiàn),并且在過去的一年中,它已在GitHub 上累積了224 個(gè)fork 和270 個(gè)star,并且下載次數(shù)超過了19,000 次。
24、VisibleTesla。這款基于 Java 的應(yīng)用程序是由特斯拉(Tesla)汽車愛好者 Joe Pasqua 于 2013 年創(chuàng)建的,它是一個(gè)免費(fèi)程序,可用于監(jiān)視和控制他的特斯拉 Model S。 VisibleTesla 的靈感來(lái)自于特斯拉汽車俱樂部社區(qū),它提供與電動(dòng)汽車制造商官方移動(dòng)應(yīng)用程序類似的功能。用戶可以為諸如解鎖的門或充電狀態(tài)之類的東西設(shè)置地理圍欄和通知,以及收集和處理行程數(shù)據(jù)。該項(xiàng)目的開源代碼托管在 GitHub 上。
25、SmartThings。該物聯(lián)網(wǎng)(IoT)應(yīng)用程序是由 SmartThings 開發(fā)的(SmartThings 是由 Alex Hawkinson 于 2012 年聯(lián)合創(chuàng)立的,后來(lái)在 Kickstarter 上籌集了 120 萬(wàn)美元的資金),可以讓我們通過智能手機(jī)或平板電腦控制和自動(dòng)化所有的東西,從家用照明、鎖、咖啡機(jī)、恒溫器以及收音機(jī)到全部家用安全系統(tǒng)。該應(yīng)用程序使用基于 Java 的 Micronaut 框架(請(qǐng)參閱#18),因此它基于云的服務(wù)可以以亞秒級(jí)的速度運(yùn)行。該公司于 2014 年被三星電子(Samsung Electronics)以 2 億美元的高價(jià)收購(gòu)。
原文鏈接:
https://blogs.oracle.com/javamagazine/the-top-25-greatest-java-apps-ever-written
聯(lián)系客服