gitHub目前已經(jīng)成為全球最流行的開(kāi)源項(xiàng)目托管平臺(tái),目前托管在GitHub上的項(xiàng)目數(shù)量已經(jīng)達(dá)到了1000萬(wàn),而達(dá)到這一里程碑只用了不到4年的時(shí)間,這足以見(jiàn)得開(kāi)源的趨勢(shì)以及GitHub的受歡迎程度,GitHub在每個(gè)項(xiàng)目主頁(yè)面中加入了Star功能,允許用戶通過(guò)標(biāo)注Star的形式來(lái)標(biāo)記自己感興趣的項(xiàng)目。 仔細(xì)想想星多真的就是大熱嗎.顯然不是這樣.,很多開(kāi)發(fā)者在看到自己感興趣的項(xiàng)目時(shí)會(huì)使用 Star 功能,可以說(shuō) Star 的數(shù)量在一定程度上代表了開(kāi)源項(xiàng)目的熱門程度.因?yàn)镻ython、C、C++、JAVA不管是語(yǔ)言本身,還是庫(kù)和軟件都很成熟穩(wěn)定,也可以說(shuō)是開(kāi)發(fā)人員對(duì)語(yǔ)言和類庫(kù)的功能已經(jīng)比較滿意。 根據(jù)查詢相關(guān)信息匯總 Java 語(yǔ)言中 star 數(shù)最多的十五款開(kāi)源項(xiàng)目,這些項(xiàng)目在 GitHub 上的 star 數(shù)均超過(guò) 15000,排名如下: Rx 的 Java 實(shí)現(xiàn) RxJava star:26782;fork:4718 .Net響應(yīng)式編程框架 Rx 的Java版本開(kāi)源實(shí)現(xiàn),有Groovy, Clojure, Scala and JRuby版本的實(shí)現(xiàn)。 分布式搜索引擎 ElasticSearch star:24646;fork:8723 Elasticsearch 是一個(gè)分布式的 RESTful 風(fēng)格的搜索和數(shù)據(jù)分析引擎,能夠解決越來(lái)越多的用例。作為 Elastic Stack 的核心,它集中存儲(chǔ)您的數(shù)據(jù),幫助您發(fā)現(xiàn)意料之中以及意料之外的情況。這個(gè)實(shí)時(shí)的分布式搜索分析引擎, 它能讓你以一個(gè)之前從未有過(guò)的速度和規(guī)模,去探索你的數(shù)據(jù)。 REST 客戶端 Retrofit star:23443;fork:4731 retrofit 是一個(gè)類型安全的 REST 客戶端,用于 Android 平臺(tái)。 RestAdapter restAdapter = new RestAdapter.Builder() .setServer('https://api.github.com') .build(); GitHubService service = restAdapter.create(GitHubService.class); HTTP+SPDY 客戶端開(kāi)發(fā)包 okhttp star:21981;fork:5311 okhttp 是一個(gè) Java 的 HTTP+SPDY 客戶端開(kāi)發(fā)包,同時(shí)也支持 Android。 OkHttpClient client = new OkHttpClient(); String get(URL url) throws IOException { HttpURLConnection connection = client.open(url); InputStream in = null; try { // Read the response. in = connection.getInputStream(); byte[] response = readFully(in); return new String(response, 'UTF-8'); } finally { if (in != null) in.close(); } } Java 設(shè)計(jì)模式 java-design-patterns star:21456;fork:7162 設(shè)計(jì)模式是程序員在設(shè)計(jì)應(yīng)用程序或系統(tǒng)時(shí)解決常見(jiàn)問(wèn)題的最佳實(shí)踐,重用設(shè)計(jì)模式有助于防止可能導(dǎo)致重大問(wèn)題的細(xì)微問(wèn)題,同時(shí)熟悉模式的程序員和架構(gòu)師的代碼也更具可讀性。 Google的Java常用類庫(kù) Guava star:18414;fork:4327 Guava 中文是石榴的意思,該項(xiàng)目是 Google 的一個(gè)開(kāi)源項(xiàng)目,包含許多 Google 核心的 Java 常用庫(kù)。 Android 注解工具 ButterKnife star:17845;fork:3662 Butter Knife 是 Android 視圖字段和方法綁定,使用注解處理來(lái)生成樣板代碼。 主要特性:
Android 圖表庫(kù) MPAndroidChart star:17758;fork:5133 MPAndroidChart 是 Android 系統(tǒng)上一款開(kāi)源的圖表庫(kù)。目前提供線圖和餅圖,支持選擇、縮放和拖放。 Android 圖片加載和緩存庫(kù) Glide star:17418;fork:3520 Glide 是一個(gè) Android 上的圖片加載和緩存庫(kù),其目的是實(shí)現(xiàn)平滑的圖片列表滾動(dòng)效果。 Android/Java內(nèi)存泄露檢測(cè)框架 LeakCanary star:16531;fork:2761 LeakCanary 是 Android 和 Java 內(nèi)存泄露檢測(cè)框架。 J2EE框架 Spring star:15850; fork:11326 Spring Framework 是一個(gè)開(kāi)源的Java/Java EE全功能棧(full-stack)的應(yīng)用程序框架,以Apache許可證形式發(fā)布,也有.NET平臺(tái)上的移植版本。該框架基于 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,最初由 Rod Johnson 和 Juergen Hoeller等開(kāi)發(fā)。Spring Framework 提供了一個(gè)簡(jiǎn)易的開(kāi)發(fā)方式,這種開(kāi)發(fā)方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。 Android 開(kāi)源框架 EventBus Android star:15733; fork:3752 如果你學(xué)習(xí)過(guò)設(shè)計(jì)模式,那么當(dāng)想通知其他組件某些事情發(fā)生時(shí)你一定會(huì)使用觀察者模式。好了,既然能想到這個(gè)設(shè)計(jì)模式,那么就來(lái)看一個(gè)屌爆天的Android開(kāi)源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Fragment、Activity、Service、線程之間傳遞消息。他的最牛逼優(yōu)點(diǎn)是開(kāi)銷小,代碼簡(jiǎn)潔,解耦代碼。 Android-Universal-Image-Loader star:15596; fork:6455 Android-Universal-Image-Loader (Universal Image Loader for Android) 的目的就是為了實(shí)現(xiàn)異步的網(wǎng)絡(luò)圖片加載,支持多線程異步加載。 Spring Boot star:15357; fork:13367 Spring Boot 項(xiàng)目旨在簡(jiǎn)化創(chuàng)建產(chǎn)品級(jí)的 Spring 應(yīng)用和服務(wù)。你可通過(guò)它來(lái)選擇不同的 Spring 平臺(tái)。可創(chuàng)建獨(dú)立的 Java 應(yīng)用和 Web 應(yīng)用,同時(shí)提供了命令行工具來(lái)允許 'spring scripts'. 下圖顯示 Spring Boot 在 Spring 生態(tài)中的位置: 移動(dòng)應(yīng)用動(dòng)畫效果框架 Lottie star:15094; fork:2166 Lottie 是 Airbnb 開(kāi)發(fā)的一款能夠?yàn)樵鷳?yīng)用添加動(dòng)畫效果的開(kāi)源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能夠?qū)崟r(shí)渲染 After Effects 動(dòng)畫特效。 條形碼處理類庫(kù) ZXing star:15003; fork:6686 ZXing是一個(gè)開(kāi)源Java類庫(kù)用于解析多種格式的1D/2D條形碼。目標(biāo)是能夠?qū)R編碼、Data Matrix、UPC的1D條形碼進(jìn)行解碼。 其提供了多種平臺(tái)下的客戶端包括:J2ME、J2SE和Android。 希望能給大家一起分享,共同學(xué)習(xí)! |
|
來(lái)自: Frank_Chia > 《JAVA》