5 most popular GitHub projects in Java

At the end of a Java course, I usually motivate my students with some of the best projects offered on GitHub. This article is a compilation of the five most popular projects on GitHub in Java.
As you most probably know, GitHub contains many projects in programming, and in Java, there are approximately 744K projects. From the well known Mockito to Guava, in this post, I will describe some of GitHub’s repositories.

Mockito

Its name is similar to a drink, but in fact, Mockito is a popular framework for unit tests in Java. Mockito constantly provides updates, using the Ship kit library.

Mockito https://site.mockito.org/

Mockito can be used integrated with JUnit. By using Mockito, you can create and configure mock objects. Mockito simplifies the development of tests for external library-dependent classes.
Mockito implements the tests by following steps:
-Avoiding external dependencies, and putting mock objects in the code which will be tested.
-The code is executed in the unit test.
-Checking if the code is executed correctly.

Java-Design-Patterns

I haven’t often mentioned Java Design Patterns. But this project is the right one that allows the developers to implement design patterns in Java.
These design templates are the best practices that will help the developers in solving the most common problems that arise while building a Java application. Also, these design patterns will speed up the Java application development process, enabling tested and proven development paradigms.

RxJava

I quite believe you’ve heard of RxJava as one of the most popular applications on GitHub and a very popular framework for some time.

RxJava http://reactivex.io/

This project is based on ReactiveX API. RxJava is a library used to build asynchronous and event-based applications.
RxJava is an extension of the Observer model, which supports precisely the sequence of events and data. Also, it includes the operators that offer the programmer the possibility to build sequences such as thread synchronization, the security of concurrent threads, and so on.

MPAndroidChart

MPAndroidChart is a library that allows you to create graphs in the development phase of Android applications running in API 8 or above. With MPAndroidChart, developers can build a series of graphs for Android apps, such as LineChart, BarChart (Vertical, Horizontal, Clustered) PieChart, ScatterChart, CandleStickChart (for financial data) RadarChart, BubbleChart, and CombinedChart.

Guava

Guava is a Google library for Java. It has been created some years ago, but it still is a very popular, open-source tool, and widely used by Java programmers. Guava will save you a lot of time by providing the necessary classes, making Java simpler, especially in data structures like collections. Listing such structures will often be difficult, but the Guava functionalities will allow you to compare the contents of collections using the ComparisonChain function.

In conclusion, I recommend you to search for additional details about these projects, as well as search at GitHub for other popular Java repos. You can read some suggested articles, represented in different conferences in ICT.