Top 11 popular Java projects on github

October 3, 2018



694134c6833533c1ca957f647a8f3872.png Mockito is an open source testing framework for Java released under the MIT License.
The framework allows the creation of test double objects (mock objects) in automated unit tests for the purpose of test-driven development (TDD) or behavior-driven development (BDD).
Mockito distinguishes itself from other mocking frameworks by allowing developers to verify the behavior of the system under test (SUT) without establishing expectations beforehand.

6169b374087665e5983c42d092a03c35.png Design Patterns are already defined and provides industry standard approach to solve a recurring problem, so it saves time if we sensibly use the design pattern.
There are many java design patterns that we can use in our java based projects.
Using design patterns promotes reusability that leads to more robust and highly maintainable code.
It helps in reducing total cost of ownership (TCO) of the software product.


0816cdf9666161209a23dd425dfa416f.png RxJava is a Java VM implementation of ReactiveX (Reactive Extensions): a library for composing asynchronous and event-based programs by using observable sequences.


dbf16aab81b05c948e6289b79beecdc9.png Using MpAndroidChart Library, we can draw various graph but focus of this tutorial will be on Line chart in your Android Application.
A line chart or line graph is a type of chart which displays information as a series of data points called ‘markers’ connected by straight line segments.
It is a basic type of chart common in many fields.
The Library works for Android API 8 and above but if we are using animations, it works on API 11 and above.


7e5a0d6a9b4c1168ad6ac86799596d97.png Guava is an open-source set of common libraries for Java, mainly developed by Google engineers.
Guava can be roughly divided into three components: basic utilities to reduce menial labors to implement common methods and behaviors, an extension to the Java collections framework (JCF) formerly called the Google Collections Library, and other utilities which provide convenient and productive features such as functional programming, graphs, caching, range objects, and hashing.


64f7b4c798f50aff5320177134ab843a.png The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.


6bdef49958ecd6c9588b9e77a3aa4780.png TDD requires a different way of thinking, so in order to start TDD you need to forget the way you developed code before.
This process is very hard.
And it is even harder if you don’t know how to write unit tests.
But it’s worth it.
Developing with TDD has valuable advantages:
• You have a better understanding of a feature you implement.
• You have robust indicators of feature completeness.

8.Apache Commons

db7ed427cfb3595c5cdd5f53287148be.png The Apache Commons is a project of the Apache Software Foundation, formerly under the Jakarta Project.
The purpose of the Commons is to provide reusable, open source Java software.
The Commons is composed of three parts: proper, sandbox, and dormant.


ce7f3d2cb0fa540ebf520a05f8cea69c.png The search API allows one to execute a search query and get back search hits that match the query.
It can be executed across one or more indices and across one or more types.
The query can be provided using the query Java API.
The body of the search request is built using the SearchSourceBuilder.


d58fd28ef74f596211d92ed2d25cbaab.png Apache Hadoop is a community driven open-source project governed by the Apache Software Foundation.
It was originally implemented at Yahoo based on papers published by Google in 2003 and 2004.
Hadoop committers today work at several different organizations like Hortonworks, Microsoft, Facebook, Cloudera and many others around the world.

11. Android

10e77e89e2a9f3762cd33960d4dffacd.png Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets.
In addition, Google has further developed Android TV for televisions, Android Auto for cars, and Wear OS for wrist watches, each with a specialized user interface.
Variants of Android are also used on game consoles, digital cameras, PCs and other electronics.

This post is curated by IssueHunt that an issue based bounty for open-source projects.