Adds outstanding changes

Some PRs were abandoned by their authors and are now manually included.
The Issues, especially the Big Cleanup were consolidated.
Pure Android libraries were removed.
This commit is contained in:
Andreas Kull
2016-05-08 10:36:19 +02:00
parent b83b919cd0
commit c2fea2ff12

View File

@ -45,8 +45,8 @@ A curated list of awesome Java frameworks, libraries and software.
- [Natural Language Processing](#natural-language-processing) - [Natural Language Processing](#natural-language-processing)
- [Networking](#networking) - [Networking](#networking)
- [ORM](#orm) - [ORM](#orm)
- [Performance analysis](#performance-analysis)
- [PDF](#pdf) - [PDF](#pdf)
- [Performance analysis](#performance-analysis)
- [Reactive libraries](#reactive-libraries) - [Reactive libraries](#reactive-libraries)
- [REST Frameworks](#rest-frameworks) - [REST Frameworks](#rest-frameworks)
- [Science](#science) - [Science](#science)
@ -72,7 +72,10 @@ A curated list of awesome Java frameworks, libraries and software.
*In existence since the beginning of time and which will continue being used long after the hype has waned.* *In existence since the beginning of time and which will continue being used long after the hype has waned.*
* [Apache Ant](http://ant.apache.org/) - Build process management with XML. * [Apache Ant](http://ant.apache.org/) - Build process management with XML.
* [Apache Hadoop](http://hadoop.apache.org/) - Storage and large-scale processing of data-sets on clusters of commodity hardware.
* [Apache Velocity](http://velocity.apache.org/) - Templates for HTML pages, emails or source code generation in general.
* [cglib](https://github.com/cglib/cglib) - Bytecode generation library. * [cglib](https://github.com/cglib/cglib) - Bytecode generation library.
* [FreeMarker](http://freemarker.org/) - General templating engine without any heavyweight or opinionated dependencies.
* [GlassFish](https://glassfish.java.net/) - Application server and reference implementation for Java EE sponsored by Oracle. * [GlassFish](https://glassfish.java.net/) - Application server and reference implementation for Java EE sponsored by Oracle.
* [Hudson](http://hudson-ci.org/) - Continuous integration server still in active development. * [Hudson](http://hudson-ci.org/) - Continuous integration server still in active development.
* [JavaServer Faces](https://javaserverfaces.java.net/) - Oracle's open-source implementation of the JSF standard, Mojarra. * [JavaServer Faces](https://javaserverfaces.java.net/) - Oracle's open-source implementation of the JSF standard, Mojarra.
@ -170,8 +173,6 @@ A curated list of awesome Java frameworks, libraries and software.
*Tools which support continuously building, testing and releasing applications.* *Tools which support continuously building, testing and releasing applications.*
* [Bamboo](https://www.atlassian.com/software/bamboo) - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it. * [Bamboo](https://www.atlassian.com/software/bamboo) - Atlassian's solution with good integration of their other products. You can either apply for an open-source license or buy it.
* [CircleCI](https://circleci.com/) - Hosted service that offers a free plan for small needs. Open source projects are given a free bigger plan. Designed to integrate with GitHub.
* [Codeship](https://codeship.com/features) - Hosted services with a limited free plan.
* [fabric8](http://fabric8.io/) - Integration platform for containers. * [fabric8](http://fabric8.io/) - Integration platform for containers.
* [Go](https://www.thoughtworks.com/go/) - ThoughtWork's open-source solution. * [Go](https://www.thoughtworks.com/go/) - ThoughtWork's open-source solution.
* [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. * [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services.
@ -385,8 +386,8 @@ A curated list of awesome Java frameworks, libraries and software.
*Libraries that assist with the creation, evaluation or manipulation of graphical images.* *Libraries that assist with the creation, evaluation or manipulation of graphical images.*
* [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Simple and efficient hardware-accelerated image-scaling library implemented in pure Java 2D. * [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Simple and efficient hardware-accelerated image-scaling library implemented in pure Java 2D.
* [Picasso](http://square.github.io/picasso/) - Image downloading and caching library for Android.
* [Thumbnailator](https://github.com/coobird/thumbnailator) - Thumbnailator is a high-quality thumbnail generation library for Java. * [Thumbnailator](https://github.com/coobird/thumbnailator) - Thumbnailator is a high-quality thumbnail generation library for Java.
* [TwelveMonkeys](https://github.com/haraldk/TwelveMonkeys) - Collection of plugins which extend the number of supported image file formats.
* [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. * [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library.
## JSON ## JSON
@ -436,7 +437,6 @@ A curated list of awesome Java frameworks, libraries and software.
*Tools that provide specific statistical algorithms which allow learning from data.* *Tools that provide specific statistical algorithms which allow learning from data.*
* [Apache Flink](https://flink.apache.org/) - Fast and reliable large-scale data processing engine. * [Apache Flink](https://flink.apache.org/) - Fast and reliable large-scale data processing engine.
* [Apache Hadoop](http://hadoop.apache.org/) - Storage and large-scale processing of data-sets on clusters of commodity hardware.
* [Apache Mahout](https://mahout.apache.org/) - Scalable algorithms focused on collaborative filtering, clustering and classification. * [Apache Mahout](https://mahout.apache.org/) - Scalable algorithms focused on collaborative filtering, clustering and classification.
* [Apache Spark](http://spark.apache.org/) - Data analytics cluster computing framework. * [Apache Spark](http://spark.apache.org/) - Data analytics cluster computing framework.
* [DeepDive](http://deepdive.stanford.edu) - Creates structured information from unstructured data and integrates it into an existing database. * [DeepDive](http://deepdive.stanford.edu) - Creates structured information from unstructured data and integrates it into an existing database.
@ -533,6 +533,7 @@ A curated list of awesome Java frameworks, libraries and software.
* [Apache FOP](http://xmlgraphics.apache.org/fop/) - Creates PDF from XSL-FO. * [Apache FOP](http://xmlgraphics.apache.org/fop/) - Creates PDF from XSL-FO.
* [Apache PDFBox](http://pdfbox.apache.org/) - Toolbox for creating and manipulating PDF. * [Apache PDFBox](http://pdfbox.apache.org/) - Toolbox for creating and manipulating PDF.
* [Dyanmic Jasper](http://dynamicjasper.com/) - Abstraction layer to JasperReports.
* [DynamicReports](http://dynamicreports.org/) - Simplifies JasperReports. * [DynamicReports](http://dynamicreports.org/) - Simplifies JasperReports.
* [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. * [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer.
* [iText](http://itextpdf.com/) - Creates PDF files programmatically but requires a license for commercial purposes. * [iText](http://itextpdf.com/) - Creates PDF files programmatically but requires a license for commercial purposes.
@ -584,15 +585,16 @@ A curated list of awesome Java frameworks, libraries and software.
*Libraries for scientific computing, analysis and visualization.* *Libraries for scientific computing, analysis and visualization.*
* [DataMelt](http://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization. * [DataMelt](http://jwork.org/dmelt/) - Environment for scientific computation, data analysis and data visualization.
* [JScience](http://jscience.org/) - Provides a set of classes to work with scientific measurements and units.
* [GraphStream](http://graphstream-project.org/) - Library for modeling and analysis of dynamic graphs. * [GraphStream](http://graphstream-project.org/) - Library for modeling and analysis of dynamic graphs.
* [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. * [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms.
* [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualisation (mainly Swing) and interaction with node-edge graphs. * [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualisation (mainly Swing) and interaction with node-edge graphs.
* [JScience](http://jscience.org/) - Provides a set of classes to work with scientific measurements and units.
## Search ## Search
*Engines which index documents for search and analysis.* *Engines which index documents for search and analysis.*
* [Apache Lucene](https://lucene.apache.org/) - High-performance, full-featured cross-platform text search engine library.
* [Apache Solr](http://lucene.apache.org/solr/) - Enterprise search engine optimized for high volume traffic. * [Apache Solr](http://lucene.apache.org/solr/) - Enterprise search engine optimized for high volume traffic.
* [Elasticsearch](https://www.elastic.co/) - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents. * [Elasticsearch](https://www.elastic.co/) - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents.
@ -605,6 +607,7 @@ A curated list of awesome Java frameworks, libraries and software.
* [Cryptomator](https://cryptomator.org/) - Multiplatform transparent client-side encryption of files in the cloud. * [Cryptomator](https://cryptomator.org/) - Multiplatform transparent client-side encryption of files in the cloud.
* [Google Keyczar](https://github.com/google/keyczar) - Easy to use, yet safe encryption framework with key versioning. * [Google Keyczar](https://github.com/google/keyczar) - Easy to use, yet safe encryption framework with key versioning.
* [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services. * [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services.
* [OACC](http://oaccframework.org/) - Provides permission-based authorization services.
* [PicketLink](http://picketlink.org/) - Umbrella project for security and identity management. * [PicketLink](http://picketlink.org/) - Umbrella project for security and identity management.
## Serialization ## Serialization
@ -630,8 +633,6 @@ A curated list of awesome Java frameworks, libraries and software.
*Tools which substitute expressions in a template.* *Tools which substitute expressions in a template.*
* [Apache Velocity](http://velocity.apache.org/) - Templates for HTML pages, emails or source code generation in general.
* [FreeMarker](http://freemarker.org/) - General templating engine without any heavyweight or opinionated dependencies.
* [Handlebars.java](http://jknack.github.io/handlebars.java/) - Logic-less and semantic Mustache templates. * [Handlebars.java](http://jknack.github.io/handlebars.java/) - Logic-less and semantic Mustache templates.
* [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general.
@ -648,10 +649,11 @@ A curated list of awesome Java frameworks, libraries and software.
* [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance. * [Gatling](http://gatling.io/) - Load testing tool designed for ease of use, maintainability and high performance.
* [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL. * [GreenMail](http://www.icegreen.com/greenmail/) - In-memory email server for integration testing. Supports SMTP, POP3 and IMAP including SSL.
* [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. * [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent.
* [J8Spec](https://github.com/j8spec/j8spec/) - J8Spec is a library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine.
* [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG. * [JGiven](http://jgiven.org) - Developer-friendly BDD testing framework compatible with JUnit and TestNG.
* [JMockit](http://jmockit.org/) - Mocks static, final methods and more. * [JMockit](http://jmockit.org/) - Mocks static, final methods and more.
* [JUnit](http://junit.org/) - Common testing framework.
* [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG like dataprovider runner for JUnit. * [junit-dataprovider](https://github.com/TNG/junit-dataprovider) - A TestNG like dataprovider runner for JUnit.
* [JUnit](http://junit.org/) - Common testing framework.
* [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests. * [JUnitParams](https://pragmatists.github.io/JUnitParams/) - Creation of readable and maintainable parametrised tests.
* [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. * [Mockito](https://github.com/mockito/mockito) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD.
* [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013. * [Moco](https://github.com/dreamhead/moco) - Concise web services for stubs and mocks, Duke's Choice Award 2013.
@ -665,7 +667,6 @@ A curated list of awesome Java frameworks, libraries and software.
* [Truth](https://github.com/google/truth) - Google's assertion and proposition framework. * [Truth](https://github.com/google/truth) - Google's assertion and proposition framework.
* [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing. * [Unitils](http://www.unitils.org/) - Modular testing library for unit and integration testing.
* [WireMock](http://wiremock.org/) - Stubbs and mocks web services. * [WireMock](http://wiremock.org/) - Stubbs and mocks web services.
* [J8Spec](https://github.com/j8spec/j8spec/) - J8Spec is a library that allows tests written in Java to follow the BDD style introduced by RSpec and Jasmine.
## Utility ## Utility
@ -673,8 +674,8 @@ A curated list of awesome Java frameworks, libraries and software.
* [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing. * [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing.
* [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others. * [CRaSH](http://www.crashub.org) - Provides a shell into a JVM that's running CRaSH. Used by Spring Boot and others.
* [Gephi](https://github.com/gephi/gephi/) - Cross-platform for visualizing and manipulating large graph networks.
* [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization. * [Dex](https://github.com/PatMartin/Dex) - Java/JavaFX tool capable of powerful ETL and data visualization.
* [Gephi](https://github.com/gephi/gephi/) - Cross-platform for visualizing and manipulating large graph networks.
* [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. * [Guava](https://github.com/google/guava) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
* [JADE](http://jade.tilab.com/) - Framework and environment for building and to debugging multi-agent systems. * [JADE](http://jade.tilab.com/) - Framework and environment for building and to debugging multi-agent systems.
* [javatuples](http://www.javatuples.org/) - Tuples. * [javatuples](http://www.javatuples.org/) - Tuples.
@ -698,6 +699,7 @@ A curated list of awesome Java frameworks, libraries and software.
* [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework which aims to be elegant and simple. * [Blade](https://github.com/biezhi/blade) - Lightweight, modular framework which aims to be elegant and simple.
* [Google Web Toolkit](http://www.gwtproject.org/) - Toolbox which includes a Java-to-JavaScript compiler for client-side code, XML parser, API for RPC, JUnit integration, internationalization support and widgets for the GUI. * [Google Web Toolkit](http://www.gwtproject.org/) - Toolbox which includes a Java-to-JavaScript compiler for client-side code, XML parser, API for RPC, JUnit integration, internationalization support and widgets for the GUI.
* [Grails](https://grails.org/) - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins. * [Grails](https://grails.org/) - Groovy framework with the aim to provide a highly productive environment by favoring convention over configuration, no XML and support for mixins.
* [Jooby](http://jooby.org) - Scalable, fast and modular micro framework which offers multiple programming models.
* [Ninja](http://www.ninjaframework.org/) - Full stack web framework. * [Ninja](http://www.ninjaframework.org/) - Full stack web framework.
* [Pippo](http://www.pippo.ro/) - Small, highly modularized Sinatra-like framework. * [Pippo](http://www.pippo.ro/) - Small, highly modularized Sinatra-like framework.
* [Play](https://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser. * [Play](https://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser.
@ -767,11 +769,10 @@ A curated list of awesome Java frameworks, libraries and software.
*Sites to read.* *Sites to read.*
* [Android Arsenal](https://android-arsenal.com)
* [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) * [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html)
* [InfoQ](http://www.infoq.com/) * [InfoQ](http://www.infoq.com/)
* [Java, SQL, and jOOQ](http://blog.jooq.org/)
* [Java Algorithms and Clients](http://algs4.cs.princeton.edu/code/) * [Java Algorithms and Clients](http://algs4.cs.princeton.edu/code/)
* [Java, SQL, and jOOQ](http://blog.jooq.org/)
* [Java.net](https://community.oracle.com/community/java) * [Java.net](https://community.oracle.com/community/java)
* [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news) * [Javalobby](https://dzone.com/java-jdk-development-tutorials-tools-news)
* [JavaWorld](http://www.javaworld.com/) * [JavaWorld](http://www.javaworld.com/)