JavaRush /Java Blog /Random EN /Top 5 Java Projects on GitHub
Max Stern
Level 35
Нижний Новгород

Top 5 Java Projects on GitHub

Published in the Random EN group
When a novice programmer starts looking for a job, he very often stumbles upon a blank wall, on which someone deduced with a confident hand: “experienced specialists are needed”. And… now what? Do we find ourselves in a situation “to gain experience, we need experience”? Abandon attempt, ye who enter here?...
Top 5 Java Projects on GitHub - 1
Actually there are several ways out of this recursion. You can try to go for an internship with a company (it is often more difficult to enter there than a university), do an internship for your own money (for example, an online CodeGym internship ), or find suitable open source projects for beginners. In the same way, by the way, more experienced developers, who have already got tired of the routine work on the galleys, are doing the same. They find more serious GitHub Java projects and work on them to keep themselves on their toes. And sometimes it's very useful to look at how large Java open source projects work and dig into their code. In this articleJane Elizabeth (JAXenter.com Associate Editor) reviews the top 5 Java projects on GitHub. In fact, there are a huge number of Java projects posted on this resource (744 thousand, to be exact). But which ones are of most interest to professional developers?

1. Mockito

The name is easy to remember, Mockito sounds like the famous mint-lime cocktail. However, this Java Open Source project is the most popular simulation framework for Unit Tests written in Java. Mockito is constantly being developed based on the Shipkit library . Mockito 2.0 provides an improved API for broader integration of the framework, designed not for users who write Unit tests, but for other test utilities and mocking frameworks that require extending or wrapping Mockito in custom logic.

2. java-design-patterns

This Java open source project lives up to its name: java-design-patterns provides developers with the ability to implement design patterns in the Java language. In particular, design patterns are formalized best practices that enable developers to solve commonly encountered problems when designing an application or system. With tested and proven programming paradigms, they speed up the development process. In addition, the reuse of patterns helps in preventing small inaccuracies that threaten to turn into big problems later.

3. RxJava

RxJava is one of the most popular Java repositories on GitHub and a popular . Based on the ReactiveX API, the RxJava library allows you to create asynchronous and event-driven programs using observable sequences for the Java Virtual Machine. RxJava extends the Observer pattern to support sequences of data and events. It also adds operators that allow developers to combine sequences at the description stage without having to worry about things like low-level parallelism, threading, synchronization, thread safety, and parallel data structures.

4.MpAndroidChart _

MPAndroidChart is a powerful and easy-to-use Android development library that runs on API level 8 and above. With MPAndroidChart, you can draw various charts in Android applications. It can be thought of as a data visualization utility for mobile application developers. MPAndroidChart has many different charts: line chart, bar chart (vertical, horizontal, stacked, grouped), pie chart, scatter chart, candlestick chart (for financial data), radar chart (spider chart), circle chart and as well as various combinations. (The word "diagram" itself loses all meaning).

5 Guava

This excellent Google core library for the Java language has been around for a very long time, yet remains an exceptionally handy open source utility for all kinds of developers. It saves a lot of time , includes simple utilities that make it easy to use the Java language, extensions to the JDK collections ecosystem, and other utilities such as caches, functional programming idioms, and much, much more. In particular, Google Guava is great for dealing with ordered collections. This feature, which allows developers to compare the contents of collections using an extremely advanced sorting and comparison function, is one of the best developed and elaborated in Guava.
What else to read:

12 amazing features of GitHub

Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION