很多開發者在看到自己感興趣的項目時會使用 Star 功能,可以說 Star 的數量在一定程度上代表了開源項目的熱門程度,本文整理了 Java 語言中 star 數最多的十五款開源項目,這些項目在 GitHub 上的 star 數均超過 15000,排名如下:
1.Rx 的 Java 實現 RxJava
star:26782;fork:4718
.Net響應式編程框架 Rx 的Java版本開源實現,有Groovy, Clojure, Scala and JRuby版本的實現。
2.分佈式搜索引擎 ElasticSearch
star:24646;fork:8723
Elasticsearch 是一個分佈式的 RESTful 風格的搜索和數據分析引擎,能夠解決越來越多的用例。作為 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料之外的情況。這個實時的分佈式搜索分析引擎, 它能讓你以一個之前從未有過的速度和規模,去探索你的數據。
3.REST 客戶端 Retrofit
star:23443;fork:4731
retrofit 是一個類型安全的 REST 客戶端,用於 Android 平臺。
4.HTTP+SPDY 客戶端開發包 okhttp
star:21981;fork:5311
okhttp 是一個 Java 的 HTTP+SPDY 客戶端開發包,同時也支持 Android。
5.Java 設計模式 java-design-patterns
http://github.com/iluwatar/java-design-patterns
star:21456;fork:7162
設計模式是程序員在設計應用程序或系統時解決常見問題的最佳實踐,重用設計模式有助於防止可能導致重大問題的細微問題,同時熟悉模式的程序員和架構師的代碼也更具可讀性。
6.Google的Java常用類庫 Guava
star:18414;fork:4327
Guava 中文是石榴的意思,該項目是 Google 的一個開源項目,包含許多 Google 核心的 Java 常用庫。
7.Android 註解工具 ButterKnife
star:17845;fork:3662
Butter Knife 是 Android 視圖字段和方法綁定,使用註解處理來生成樣板代碼。
主要特性:
在字段使用 @FindView消除findViewById調用
使用 @FindViews在一個列表中分組多個視圖
通過註解方法為監聽者消除匿名 inner-classes
8.Android 圖表庫 MPAndroidChart
star:17758;fork:5133
MPAndroidChart 是 Android 系統上一款開源的圖表庫。目前提供線圖和餅圖,支持選擇、縮放和拖放。
9.Android 圖片加載和緩存庫 Glide
star:17418;fork:3520
Glide 是一個 Android 上的圖片加載和緩存庫,其目的是實現平滑的圖片列表滾動效果。
10.Android/Java內存洩露檢測框架 LeakCanary
star:16531;fork:2761
LeakCanary 是 Android 和 Java 內存洩露檢測框架。
11.J2EE框架 Spring
star:15850; fork:11326
Spring Framework 是一個開源的Java/Java EE全功能棧(full-stack)的應用程序框架,以Apache許可證形式發佈,也有.NET平臺上的移植版本。該框架基於 Expert One-on-One Java EE Design and Development(ISBN 0-7645-4385-7)一書中的代碼,最初由 Rod Johnson 和 Juergen Hoeller等開發。Spring Framework 提供了一個簡易的開發方式,這種開發方式,將避免那些可能致使底層代碼變得繁雜混亂的大量的屬性文件和幫助類。
12.Android 開源框架 EventBus Android
star:15733; fork:3752
如果你學習過設計模式,那麼當想通知其他組件某些事情發生時你一定會使用觀察者模式。好了,既然能想到這個設計模式,那麼就來看一個屌爆天的Android開源框架EventBus。主要功能是替代Intent、Handler、BroadCast在Fragment、Activity、Service、線程之間傳遞消息。他的最牛逼優點是開銷小,代碼簡潔,解耦代碼。
13.Android-Universal-Image-Loader
star:15596; fork:6455
Android-Universal-Image-Loader (Universal Image Loader for Android) 的目的就是為了實現異步的網絡圖片加載,支持多線程異步加載。
14.Spring Boot
star:15357; fork:13367
Spring Boot 項目旨在簡化創建產品級的 Spring 應用和服務。你可通過它來選擇不同的 Spring 平臺。可創建獨立的 Java 應用和 Web 應用,同時提供了命令行工具來允許 'spring scripts'.
下圖顯示 Spring Boot 在 Spring 生態中的位置:
15.移動應用動畫效果框架 Lottie
star:15094; fork:2166
Lottie 是 Airbnb 開發的一款能夠為原生應用添加動畫效果的開源工具。Lottie 目前提供了 iOS, Android, 和 React Native 版本,能夠實時渲染 After Effects 動畫特效。
16.條形碼處理類庫 ZXing
star:15003; fork:6686
ZXing是一個開源Java類庫用於解析多種格式的1D/2D條形碼。目標是能夠對QR編碼、Data Matrix、UPC的1D條形碼進行解碼。 其提供了多種平臺下的客戶端包括:J2ME、J2SE和Android。