From bb60ec7e2801fdaf6e6b65f0619ebf080521a1a3 Mon Sep 17 00:00:00 2001 From: "Andrea Cisternino (anci8360)" Date: Wed, 6 Aug 2014 08:39:56 +0200 Subject: [PATCH 01/76] Added StringTemplate. StringTemplate is a java template engine for generating source code, web pages, emails, or any other formatted text output. StringTemplate is particularly good at code generators, multiple site skins, and internationalization/localization. StringTemplate also powers the ANTLR parser generator. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9dac17d..22cb8e2 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Hadoop](http://hadoop.apache.org/) - Open-source software framework for 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 Spark](http://spark.apache.org/) - Open-source data analytics cluster computing framework. -* [h2o](http://0xdata.github.io/h2o/) - Analytics engine for statistics over big data. +* [h2o](http://0xdata.github.io/h2o/) - Analytics engine for statistics over big data. * [Weka](http://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. ## Messaging @@ -296,7 +296,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Engines which index documents for search and analysis.* * [Apache Solr](http://lucene.apache.org/solr/) - Full enterprise search engine optimized for high volume traffic. -* [Elasticsearch](http://www.elasticsearch.org/) - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents. +* [Elasticsearch](http://www.elasticsearch.org/) - Distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents. ## Security @@ -324,6 +324,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [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. * [JavaServer Pages](https://jsp.java.net/) - Aged templating for websites with custom tag libraries. +* [StringTemplate](http://www.stringtemplate.org/) - Java template engine for generating source code, web pages, emails, or any other formatted text output. * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. ## Testing From 42f6edcb9d8b08f22520caa8c9d9ecb44ae6302c Mon Sep 17 00:00:00 2001 From: spoatacus Date: Thu, 7 Aug 2014 22:58:30 -0400 Subject: [PATCH 02/76] Add Ratpack Ratpack is a set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9dac17d..020beef 100644 --- a/README.md +++ b/README.md @@ -376,6 +376,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [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. * [Play](http://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser. * [PrimeFaces](http://primefaces.org/) - JSF framework which has a free and a commercial version with support. Provides several frontend components. +* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. * [Spark](http://www.sparkjava.com/why.html) - Unique framework which focuses not on complex MVC patterns but on rapid development. * [Spring Boot](http://projects.spring.io/spring-boot/) - Microframework which simplifies the development of new Spring applications. * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. From 1477eedfd75d4307e8744543d06e6e4ffa04b35d Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sun, 17 Aug 2014 20:47:41 +0200 Subject: [PATCH 03/76] Serialization --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 9dac17d..b7882a9 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Science](#science) - [Search](#search) - [Security](#security) + - [Serialization](#serialization) - [Server](#server) - [Template Engine](#template-engine) - [Testing](#testing) @@ -307,6 +308,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [PicketLink](http://picketlink.org/) - PicketLink is an umbrella project for security and identity management for Java applications. * [Spring Security](http://projects.spring.io/spring-security/) - Focuses on authentication/authorization and protects against several attack vectors. +## Serialization + +* [flatbuffers](https://github.com/google/flatbuffers) - Memory Efficient Serialization Library. +* [Kryo](https://github.com/EsotericSoftware/kryo) - Java serialization and cloning: fast, efficient, automatic. +* [msgpack](https://github.com/msgpack/msgpack-java) - MessagePack serializer implementation for Java. +* [protostuff](https://github.com/protostuff/protostuff) - Java serialization library, proto compiler, code generator. + ## Server *Servers which are specifically used to deploy applications.* From 3aaa1c29c51d156449d948082a847fd514b30da7 Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sun, 17 Aug 2014 21:01:04 +0200 Subject: [PATCH 04/76] JSON / Swagger --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7882a9..089294f 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Google Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. * [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON but has performance gains if you need to instantiate the library more often. +* [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. ## JVM and JDK From 957c8b8cf79ce93ce2861d432193cf12ecf60f58 Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sun, 17 Aug 2014 21:02:44 +0200 Subject: [PATCH 05/76] Moved Swagger from JSON to REST frameworks --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 089294f..ac8d007 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Google Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. * [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON but has performance gains if you need to instantiate the library more often. -* [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. ## JVM and JDK @@ -282,6 +281,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification. * [RESTX](http://restx.io/) - A lightweight REST framework with emphasis on modularity, speed and dev-friendly features (light specs compiled to unit tests and documentation, authentication needed by default, ...) * [Retrofit](http://square.github.io/retrofit/) - A type-safe REST client for Java. +* [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. * [swookiee](http://swookiee.com/) - JVM Runtime for REST Services. ## Science From 6fc73678cc5a9ca346f5ad6af7f329a3619f3330 Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sun, 17 Aug 2014 21:16:38 +0200 Subject: [PATCH 06/76] Time4J --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9dac17d..933eda2 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Java 8 SE: Date and Time API](http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html) - Basically, it incorporates Joda-Time. * [Joda-Time](http://joda-time.sourceforge.net/) - De facto standard date/time-library before Java 8. +* [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library for Java. ## Dependency Injection From 6ff6d88fb05f1242569b4fbb94b48e079236860b Mon Sep 17 00:00:00 2001 From: "Andrea Cisternino (anci8360)" Date: Thu, 21 Aug 2014 15:48:37 +0200 Subject: [PATCH 07/76] Added Bytecode Manipulation section with some content. The ASM, cglib, and Javassist are the three most commonly used libraries for working with Java bytecode at runtime. They are used by many frameworks and programs to provide dynamic behavior like AOP programming. --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 4aa18e3..1d8d868 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Awesome Java](#awesome-java) - [Build Tool](#build-tool) + - [Bytecode Manipulation](#bytecode-manipulation) - [Code Analysis](#code-analysis) - [Compiler-compiler](#compiler-compiler) - [Continuous Integration](#continuous-integration) @@ -56,6 +57,14 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Maven](http://maven.apache.org/) - Declarative build and dependency management which favors convention over configuration. It's preferable to Apache Ant which uses a rather procedural approach and can be difficult to maintain. * [Gradle](http://www.gradle.org/) - Incremental builds which are programmed via Groovy instead of declaring XML. Works well with Maven's dependency management and treats Ant scripts as first-class citizens. +## Bytecode Manipulation + +*Libraries to manipulate Java bytecode programmatically.* + +* [ASM](http://asm.ow2.org/) - All purpose, low level, Java bytecode manipulation and analysis framework. +* [cglib](https://github.com/cglib/cglib/) - High level library to generate and transform Java byte code. +* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Class library for easy editing of Java bytecode. + ## Code Analysis *Tools that provide metrics and quality measurements of static code.* From da12c7c518dba9a3aedea64bd76938d4f1275fde Mon Sep 17 00:00:00 2001 From: Sojin Date: Tue, 26 Aug 2014 23:05:20 +0800 Subject: [PATCH 08/76] Update README.md Added few libs under Database and Distributed Applications --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4aa18e3..d7637b5 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. +* [Querydsl](http://www.querydsl.com/) - Typesafe Unified Queries for Java. * [Liquibase](http://www.liquibase.org/) - Source control for your database which can be embedded. * [presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. @@ -123,6 +124,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Hazelcast](http://hazelcast.org/) - Distributed and highly scalable data distribution platform for Java. * [Hystrix](https://github.com/Netflix/Hystrix) - Latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. * [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and creating clusters whose nodes can send messages to each other. +* [Quasar](http://www.paralleluniverse.co/quasar/) - Quasar is an open source JVM library (lightweight threads and actors) that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. ## Distribution From 6805f31e7ef66f0080683e7142050dad8d32a663 Mon Sep 17 00:00:00 2001 From: Sojin Date: Tue, 26 Aug 2014 23:06:40 +0800 Subject: [PATCH 09/76] Update README.md Libs in alphabetical order. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d7637b5..9575dd2 100644 --- a/README.md +++ b/README.md @@ -84,9 +84,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. -* [Querydsl](http://www.querydsl.com/) - Typesafe Unified Queries for Java. * [Liquibase](http://www.liquibase.org/) - Source control for your database which can be embedded. * [presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. +* [Querydsl](http://www.querydsl.com/) - Typesafe Unified Queries for Java. ## Date and Time From b7710405fcac13e8d96cd872b77943d63a1724c2 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 1 Sep 2014 10:50:46 +0200 Subject: [PATCH 10/76] Update README.md Removed - Bytecode Manipulation > cglib since it is deprecated Added - Code Analysis > Checkstyle - Code Analysis > PMD --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2b3f7ad..c25ccdc 100644 --- a/README.md +++ b/README.md @@ -62,16 +62,17 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries to manipulate Java bytecode programmatically.* -* [ASM](http://asm.ow2.org/) - All purpose, low level, Java bytecode manipulation and analysis framework. -* [cglib](https://github.com/cglib/cglib/) - High level library to generate and transform Java byte code. -* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Class library for easy editing of Java bytecode. +* [ASM](http://asm.ow2.org/) - All purpose, low level, bytecode manipulation and analysis. +* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Easy editing of bytecode. ## Code Analysis *Tools that provide metrics and quality measurements of static code.* +* [Checkstyle](http://checkstyle.sourceforge.net/) - Static analysis of coding conventions and standards. * [FindBugs](http://findbugs.sourceforge.net/) - Static analysis of bytecode to find potential bugs. -* [SonarQube](http://www.sonarqube.org/) - Inspection tool for code quality. It integrates with several external tools like Gradle, Jira and Jenkins and provides an overview of the metrics over time. +* [PMD](http://pmd.sourceforge.net/) - Source code analysis of bad coding practices. +* [SonarQube](http://www.sonarqube.org/) - Inspection tool for code quality. It integrates other analysis components via plugins and provides an overview of the metrics over time. ## Compiler-compiler @@ -85,8 +86,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* * [Jenkins](http://jenkins-ci.org/) - Provides server-based services. Often seen as the successor to Hudson, although it is still actively developed. -* [Shippable](https://www.shippable.com/) - Based on Docker, it provides also Bitbucket integration. -* [Travis](https://travis-ci.org) - A hosted continuous integration service that integrates with GitHub repositories. +* [Shippable](https://www.shippable.com/) - Based on Docker. Provides Bitbucket integration. +* [Travis](https://travis-ci.org) - Hosted continuous integration service that integrates with GitHub repositories. ## Database @@ -94,9 +95,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. -* [Liquibase](http://www.liquibase.org/) - Source control for your database which can be embedded. +* [Liquibase](http://www.liquibase.org/) - Embeddable source control for your database. * [presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. -* [Querydsl](http://www.querydsl.com/) - Typesafe Unified Queries for Java. +* [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java. ## Date and Time @@ -111,8 +112,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that help to realize the [Inversion of Control](http://en.wikipedia.org/wiki/Inversion_of_control) paradigm.* * [Dagger](http://square.github.io/dagger/) - Compile-time injection framework without reflection, mainly for Android. -* [Google Guice](http://de.wikipedia.org/wiki/Google_Guice) - Lightweight but powerful framework. -* [Spring](http://spring.io/) - Only Spring Context is needed for injections. +* [Google Guice](http://de.wikipedia.org/wiki/Google_Guice) - Lightweight but powerful framework that completes Dagger. +* [Spring](http://spring.io/) - Spring Context provides DI. * [Weld](http://docs.jboss.org/weld/reference/latest/en-US/html_single/) - CDI reference implementation. ## Development From b70e86731a380cdd9ada6c8befe500bfa07d038d Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 1 Sep 2014 15:07:30 +0200 Subject: [PATCH 11/76] Update README.md Changed some descriptions. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c25ccdc..ed70726 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Checkstyle](http://checkstyle.sourceforge.net/) - Static analysis of coding conventions and standards. * [FindBugs](http://findbugs.sourceforge.net/) - Static analysis of bytecode to find potential bugs. * [PMD](http://pmd.sourceforge.net/) - Source code analysis of bad coding practices. -* [SonarQube](http://www.sonarqube.org/) - Inspection tool for code quality. It integrates other analysis components via plugins and provides an overview of the metrics over time. +* [SonarQube](http://www.sonarqube.org/) - Integrates other analysis components via plugins and provides an overview of the metrics over time. ## Compiler-compiler @@ -85,9 +85,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* -* [Jenkins](http://jenkins-ci.org/) - Provides server-based services. Often seen as the successor to Hudson, although it is still actively developed. -* [Shippable](https://www.shippable.com/) - Based on Docker. Provides Bitbucket integration. -* [Travis](https://travis-ci.org) - Hosted continuous integration service that integrates with GitHub repositories. +* [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. +* [Shippable](https://www.shippable.com/) - Based on Docker with Bitbucket integration. +* [Travis](https://travis-ci.org) - Hosted service that integrates with GitHub repositories. ## Database @@ -121,7 +121,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Integrated environments that augment the process of development at a fundamental level.* * [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. -* [JRebel](http://zeroturnaround.com/software/jrebel/) - Instantly reloads code and configuration changes without redeploys. +* [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM. * [vert.x](http://vertx.io/) - Polyglot event-driven application framework for the JVM. @@ -129,7 +129,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries and frameworks used to ease writing distributed and fault-tolerant applications.* -* [Akka](http://akka.io) - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications. +* [Akka](http://akka.io) - Toolkit and runtime for building concurrent, distributed, and fault tolerant event-driven applications. * [Apache Storm](http://storm.incubator.apache.org/) - Distributed realtime computation system. * [Apache ZooKeeper](http://zookeeper.apache.org/) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. * [Hazelcast](http://hazelcast.org/) - Distributed and highly scalable data distribution platform for Java. From 4546ab03f72a9c8158d9a52aa0e8af64d1a9698c Mon Sep 17 00:00:00 2001 From: tmarwen Date: Mon, 15 Sep 2014 10:40:37 +0100 Subject: [PATCH 12/76] Add Handlebars java library as a Templating engine framework. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed70726..346e803 100644 --- a/README.md +++ b/README.md @@ -348,6 +348,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JavaServer Pages](https://jsp.java.net/) - Aged templating for websites with custom tag libraries. * [StringTemplate](http://www.stringtemplate.org/) - Java template engine for generating source code, web pages, emails, or any other formatted text output. * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. +* [Handlebars.java](http://jknack.github.io/handlebars.java/) - Logic-less and semantic Mustache templates with Java. ## Testing From 2dd125fe9bb4e2084e95718fce26a2412c9c7bc6 Mon Sep 17 00:00:00 2001 From: Sai Teja Pratap Date: Tue, 16 Sep 2014 19:30:15 +0530 Subject: [PATCH 13/76] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed70726..670399f 100644 --- a/README.md +++ b/README.md @@ -455,6 +455,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Javalobby](http://java.dzone.com/) * [JavaWorld](http://www.javaworld.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) +* [Design Patterns](https://github.com/iluwatar/java-design-patterns) # Contributing From f61be3bbe80f8c856f03170142422219b8f442b0 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 10:19:49 +0200 Subject: [PATCH 14/76] Update README.md Moved: Websites > Design Patterns to Miscellaneous > Design Patterns Description: Added Miscellaneous > Design Patterns --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 67ba3da..b77e42e 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Everything else.* * [AspectJ](https://eclipse.org/aspectj/) - Aspect-oriented programming for Java. +* [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. * [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. * [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. @@ -456,7 +457,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Javalobby](http://java.dzone.com/) * [JavaWorld](http://www.javaworld.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) -* [Design Patterns](https://github.com/iluwatar/java-design-patterns) # Contributing From 539a37e996a947d506488c9fbc126d0a85c6f523 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 10:21:29 +0200 Subject: [PATCH 15/76] Update README.md Sorting: Template Engine > Handelbars.java --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b77e42e..723c5f4 100644 --- a/README.md +++ b/README.md @@ -346,10 +346,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [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 with Java. * [JavaServer Pages](https://jsp.java.net/) - Aged templating for websites with custom tag libraries. * [StringTemplate](http://www.stringtemplate.org/) - Java template engine for generating source code, web pages, emails, or any other formatted text output. * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. -* [Handlebars.java](http://jknack.github.io/handlebars.java/) - Logic-less and semantic Mustache templates with Java. ## Testing @@ -394,7 +394,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Web Frameworks *Frameworks that handle the communication between the layers of an web application.* - +h * [Apache Tapestry](http://tapestry.apache.org/) - Component oriented framework for creating dynamic, robust, highly scalable web applications in Java. * [Apache Wicket](http://wicket.apache.org/) - Component-based web application framework similar to Tapestry with a stateful 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. From c36a217ea75344ee48b0c17c5e8d4b3c579c586b Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 11:02:22 +0200 Subject: [PATCH 16/76] Update README.md Added: Websites > Java Code Geeks Websites > InfoQ Websites > TheServerSide.com Twitter > Eugen Paraschiv Twitter > Martijn Verburg Twitter > Lukas Eder Twitter > Javin Paul Twitter > Mario Fusco Removed: Twitter > Pete Muir - Inactivity Descriptions: Added Twitter > * Changed: Twitter description --- README.md | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 723c5f4..9fd7aa3 100644 --- a/README.md +++ b/README.md @@ -432,31 +432,42 @@ h ## Twitter -*People to follow.* +*Active accounts to follow.* -* [Adam Bien](https://twitter.com/AdamBien/) -* [Antonio Goncalves](https://twitter.com/agoncal/) -* [Arun Gupta](https://twitter.com/arungupta/) -* [Ed Burns](https://twitter.com/edburns) -* [Java EE](https://twitter.com/Java_EE/) -* [Java Magazine](https://twitter.com/Oraclejavamag) -* [Java.net](https://twitter.com/javanetbuzz/) -* [Java](https://twitter.com/java/) -* [Mark Reinhold](https://twitter.com/mreinhold) -* [OpenJDK](https://twitter.com/OpenJDK) -* [Pete Muir](https://twitter.com/plmuir/) -* [Reza Rahman](https://twitter.com/reza_rahman) -* [Simon Maple](https://twitter.com/sjmaple) -* [Tim Boudreau](https://twitter.com/kablosna) +* [Adam Bien](https://twitter.com/AdamBien/) - Freelancer: Author, JavaONE Rockstar Speaker, Consultant, Java Champion. +* [Antonio Goncalves](https://twitter.com/agoncal/) - Java Champion, JUG Leader, Devoxx France, Java EE 6/7, JCP, Author. +* [Arun Gupta](https://twitter.com/arungupta/) - Java Champion, JavaOne Rockstar, UG Leader, Devoxx4Kids-er, Red Hatter. +* [Bruno Borges](https://twitter.com/brunoborges) - Product Manager/Java Jock at Oracle. +* [Ed Burns](https://twitter.com/edburns) - Consulting Member of the Technical Staff at Oracle. +* [Eugen Paraschiv](https://twitter.com/baeldung) - Author of the Spring Security Course. +* [James Weaver](https://twitter.com/JavaFXpert) - Java/JavaFX/IoT developer, author and speaker. +* [Java EE](https://twitter.com/Java_EE/) - Official Java EE Twitter account. +* [Java Magazine](https://twitter.com/Oraclejavamag) - Official Java Magazine account. +* [Java.net](https://twitter.com/javanetbuzz/) - Official Java.net account. +* [Java](https://twitter.com/java/) - Official Java Twitter account. +* [Javin Paul](https://twitter.com/javinpaul) - Well-known Java blogger. +* [Lukas Eder](https://twitter.com/lukaseder) - Founder and CEO Data Geekery (jOOQ). +* [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle. +* [Martijn Verburg](https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more. +* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, Drools core developer, Milano Jug coordinator, frequent speaker and author. +* [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. +* [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. +* [Simon Maple](https://twitter.com/sjmaple) - Technical Evangelist for ZeroTurnaround. Java Champion, virtualJUG founder, LJC leader, RebelLabs author. +* [Stephen Colebourne](https://twitter.com/jodastephen) - Java Champion, speaker. +* [Tim Boudreau](https://twitter.com/kablosna) - Author and NetBeans guru. +* [Trisha Gee](https://twitter.com/trisha_gee) - Java Champion and speaker. ## Websites *Sites to read.* +* [InfoQ](http://www.infoq.com/) * [Java.net](http://java.net/) * [Javalobby](http://java.dzone.com/) * [JavaWorld](http://www.javaworld.com/) +* [Java Code Geeks](http://www.javacodegeeks.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) +* [TheServerSide.com](http://www.theserverside.com/) # Contributing From a54b6e080578ba92b50d09e5f0bfcd6bde088fe3 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 11:58:04 +0200 Subject: [PATCH 17/76] Update README.md Changed Contributing Changed description of Twitter > Mario Fusco --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 9fd7aa3..b438e48 100644 --- a/README.md +++ b/README.md @@ -449,7 +449,7 @@ h * [Lukas Eder](https://twitter.com/lukaseder) - Founder and CEO Data Geekery (jOOQ). * [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle. * [Martijn Verburg](https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more. -* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, Drools core developer, Milano Jug coordinator, frequent speaker and author. +* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author. * [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. * [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. * [Simon Maple](https://twitter.com/sjmaple) - Technical Evangelist for ZeroTurnaround. Java Champion, virtualJUG founder, LJC leader, RebelLabs author. @@ -474,5 +474,3 @@ h Contributions are very welcome! Please have a look at [CONTRIBUTING](https://github.com/akullpp/awesome-java/blob/master/CONTRIBUTING.md) for guidelines. - -Topics which have no libraries as of yet are located in [TOPICS](https://github.com/akullpp/awesome-java/blob/master/TOPICS.md). From 9a55100ec9dd6eb38a7b9d4216ed0bd31bf825d4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 12:12:01 +0200 Subject: [PATCH 18/76] Update README.md Changed description Twitter > Simon Maple --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b438e48..a46f0f6 100644 --- a/README.md +++ b/README.md @@ -452,7 +452,7 @@ h * [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author. * [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. * [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. -* [Simon Maple](https://twitter.com/sjmaple) - Technical Evangelist for ZeroTurnaround. Java Champion, virtualJUG founder, LJC leader, RebelLabs author. +* [Simon Maple](https://twitter.com/sjmaple) - Java Champion, virtualJUG founder, LJC leader, RebelLabs author. * [Stephen Colebourne](https://twitter.com/jodastephen) - Java Champion, speaker. * [Tim Boudreau](https://twitter.com/kablosna) - Author and NetBeans guru. * [Trisha Gee](https://twitter.com/trisha_gee) - Java Champion and speaker. From 802d4e39c5961d802dbabd3d8087c34b61182189 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Fri, 19 Sep 2014 12:14:53 +0200 Subject: [PATCH 19/76] Update README.md Changed description Bytecode Manipulation > Javassist --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a46f0f6..aca9e01 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries to manipulate Java bytecode programmatically.* * [ASM](http://asm.ow2.org/) - All purpose, low level, bytecode manipulation and analysis. -* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Easy editing of bytecode. +* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode. ## Code Analysis From 4dee88ffbdb06d65d4de7afd23226b4cdf46d142 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 09:19:26 +0200 Subject: [PATCH 20/76] Update README.md Changed: Database > presto to Database > Presto Description: Code Analysis Compile-compiler Added: Continuous Integration > Bamboo Continuous Integration > Go Continuous Integration > TeamCity Continuous Integration > Codeship Continuous Integration > CircleCI Database > Flyway Removed: Continuous Integration > Shippable Database > Liquibase --- README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index aca9e01..db56844 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Code Analysis -*Tools that provide metrics and quality measurements of static code.* +*Tools that provide metrics and quality measurements.* * [Checkstyle](http://checkstyle.sourceforge.net/) - Static analysis of coding conventions and standards. * [FindBugs](http://findbugs.sourceforge.net/) - Static analysis of bytecode to find potential bugs. @@ -76,7 +76,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Compiler-compiler -*Tools that create parsers, interpreters or compilers.* +*Frameworks that help to create parsers, interpreters or compilers.* * [ANTLR](http://www.antlr.org/) - Complex full-featured framework for top-down parsing. * [JavaCC](https://javacc.java.net/) - More specific and slightly easier to learn. Has syntactic lookahead. @@ -85,9 +85,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* +* [Bamboo](https://www.atlassian.com/software/bamboo) Atlassian's CI solution with good integration of other products. +* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) ThoughtWork's CI open source solution. +* [TeamCity](http://www.jetbrains.com/teamcity/) JetBrain's CI solution with a free version. * [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. -* [Shippable](https://www.shippable.com/) - Based on Docker with Bitbucket integration. -* [Travis](https://travis-ci.org) - Hosted service that integrates with GitHub repositories. +* [Travis](https://travis-ci.org) - Hosted service often used for open source projects. +* [Codeship](https://www.codeship.io/features) - Hosted services with a limited free plan. +* [CircleCI](https://circleci.com/) - Hosted service with a free trial. ## Database @@ -95,8 +99,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. -* [Liquibase](http://www.liquibase.org/) - Embeddable source control for your database. -* [presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. +* [Flyway](http://flywaydb.org/) - Simple database migration with Java API. +* [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java. ## Date and Time From dff42ae296ed7f55aa81a5d55610bee65968ca61 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 09:37:37 +0200 Subject: [PATCH 21/76] Update README.md Changed: Date and Time > Joda-Time URL Dependency Injection > Google Guice Development > DCVEM, included the fork Removed: Date and Time > Java 8 SE Date/Time API Dependency Injection > Spring Dependency Injection > Weld Added: Development > Spring Loaded --- README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index db56844..54a6c56 100644 --- a/README.md +++ b/README.md @@ -105,10 +105,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Date and Time -*Libraries related to date and time.* +*Libraries related to handling date and time.* -* [Java 8 SE: Date and Time API](http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html) - Basically, it incorporates Joda-Time. -* [Joda-Time](http://joda-time.sourceforge.net/) - De facto standard date/time-library before Java 8. +* [Joda-Time](http://www.joda.org/joda-time/) - De facto standard date/time-library before Java 8. * [Time4J](https://github.com/MenoData/Time4J) - Advanced date and time library for Java. ## Dependency Injection @@ -116,16 +115,15 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that help to realize the [Inversion of Control](http://en.wikipedia.org/wiki/Inversion_of_control) paradigm.* * [Dagger](http://square.github.io/dagger/) - Compile-time injection framework without reflection, mainly for Android. -* [Google Guice](http://de.wikipedia.org/wiki/Google_Guice) - Lightweight but powerful framework that completes Dagger. -* [Spring](http://spring.io/) - Spring Context provides DI. -* [Weld](http://docs.jboss.org/weld/reference/latest/en-US/html_single/) - CDI reference implementation. +* [Guice](https://github.com/google/guice) - Lightweight but powerful framework that completes Dagger. ## Development *Integrated environments that augment the process of development at a fundamental level.* -* [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. +* [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. OpenJDK 7/8 are supported by [this fork](http://dcevm.github.io/). * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. +* [Spring Loaded](https://github.com/spring-projects/spring-loaded) - Another class reloading agent for the JVM. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM. * [vert.x](http://vertx.io/) - Polyglot event-driven application framework for the JVM. From adb74f4251f9fe9c99cc17a443c59cc800a9773d Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 12:20:29 +0200 Subject: [PATCH 22/76] Update README.md Unfortunately, a lot, so please refer to the diff. --- README.md | 82 ++++++++++++++++++++++--------------------------------- 1 file changed, 33 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index 54a6c56..e96bdbb 100644 --- a/README.md +++ b/README.md @@ -119,9 +119,11 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Development -*Integrated environments that augment the process of development at a fundamental level.* +*Augmentation of the development process at a fundamental level.* +* [AspectJ](https://eclipse.org/aspectj/) - Aspect-oriented programming for Java. * [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. OpenJDK 7/8 are supported by [this fork](http://dcevm.github.io/). +* [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. * [Spring Loaded](https://github.com/spring-projects/spring-loaded) - Another class reloading agent for the JVM. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM. @@ -129,15 +131,15 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Distributed Applications -*Libraries and frameworks used to ease writing distributed and fault-tolerant applications.* +*Libraries and frameworks for writing distributed and fault-tolerant applications.* * [Akka](http://akka.io) - Toolkit and runtime for building concurrent, distributed, and fault tolerant event-driven applications. * [Apache Storm](http://storm.incubator.apache.org/) - Distributed realtime computation system. * [Apache ZooKeeper](http://zookeeper.apache.org/) - Coordination service with distributed configuration, synchronization, and naming registry for large distributed systems. -* [Hazelcast](http://hazelcast.org/) - Distributed and highly scalable data distribution platform for Java. -* [Hystrix](https://github.com/Netflix/Hystrix) - Latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable. +* [Hazelcast](http://hazelcast.org/) - Distributed and highly scalable in-memory datagrid. +* [Hystrix](https://github.com/Netflix/Hystrix) - Latency and Fault Tolerance for Distributed Systems. * [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and creating clusters whose nodes can send messages to each other. -* [Quasar](http://www.paralleluniverse.co/quasar/) - Quasar is an open source JVM library (lightweight threads and actors) that greatly simplifies the creation of highly concurrent software that is very easy to write and reason about, performant, and fault tolerant. +* [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. ## Distribution @@ -146,6 +148,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Bintray](https://bintray.com/) - Version control for your binaries which handles the publishing. Can also be used with Maven or Gradle. * [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. * [packr](https://github.com/libgdx/packr#packr) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. +* [IzPack](http://izpack.org/) - Setup authoring tool for cross-plattform deployments. ## Document Processing @@ -181,12 +184,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Javolution](http://javolution.org/) - Library for real-time and embedded systems. * [Trove](http://trove.starlight-systems.com/) - Primitive collections. -## HTTP - -*Libraries for working with HTTP.* - -* [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. - ## IDE *Integrated development environments that try to simplify several aspects of development.* @@ -206,14 +203,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that simplify JSON processing.* -* [Google Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. +* [Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. * [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON but has performance gains if you need to instantiate the library more often. ## JVM and JDK -*Various implementations of the JVM/JDK.* +*Current implementations of the JVM/JDK.* -* [HotSpot](http://openjdk.java.net/groups/hotspot/) - Official JVM. * [JDK 9](https://jdk9.java.net/) - Early access releases of JDK 9. * [OpenJDK](http://openjdk.java.net/) - Open source implementation. @@ -225,6 +221,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Logback](http://logback.qos.ch/) - Founded by the same developer as Log4j and proves to be a robust logging library with interesting configuration options via Groovy. * [logstash](http://logstash.net/) - Tool for managing log files. * [SLF4J](http://www.slf4j.org/) - Abstraction layer which is to be used with an implementation. +* [kibana](http://www.elasticsearch.org/overview/kibana/) - Analyzes and visualizes log files. ## Machine Learning @@ -248,13 +245,11 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Everything else.* -* [AspectJ](https://eclipse.org/aspectj/) - Aspect-oriented programming for Java. * [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. * [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. -* [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. -* [Metrics](http://metrics.codahale.com/) - Create your own metrics (counters, gauges, timers) or add them for supported frameworks, then expose them via JMX or HTTP, or send them to a database (Graphite, Ganglia). -* [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning it; transforming it from one format into another; extending it with web services; and linking it to databases. +* [Metrics](http://metrics.codahale.com/) - Create your own metrics or add them for supported frameworks, then expose them via JMX or HTTP, or send them to a database. +* [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. * [RoboVM](http://www.robovm.org/) - Write native iOS apps in Java. ## Natural Language Processing @@ -263,13 +258,15 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache OpenNLP](https://opennlp.apache.org/) - Toolkit for common tasks like tokenization. * [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for a variety of tasks ranging from POS tagging to sentiment analysis. -* [Mallet](http://mallet.cs.umass.edu/) - Statistical natural language processing, document classification, clustering, topic modeling, etc. +* [Mallet](http://mallet.cs.umass.edu/) - Statistical natural language processing, document classification, clustering, topic modeling and more. ## Networking *Libraries for network programming.* * [Netty](http://netty.io/) - A framework for building high performance network applications. +* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. +* [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. ## ORM @@ -295,18 +292,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Dropwizard](https://dropwizard.github.io/dropwizard/) - Opinionated framework for setting up modern web applications, includes Jetty, Jackson, Jersey and Metrics. * [Jersey](https://jersey.java.net/) - JAX-RS reference implementation. * [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification. -* [RESTX](http://restx.io/) - A lightweight REST framework with emphasis on modularity, speed and dev-friendly features (light specs compiled to unit tests and documentation, authentication needed by default, ...) * [Retrofit](http://square.github.io/retrofit/) - A type-safe REST client for Java. * [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. -* [swookiee](http://swookiee.com/) - JVM Runtime for REST Services. ## Science *Libraries for scientific computing and analysis.* -* [JScience](http://www.jscience.org/) - Comprehensive framework of science related libraries. -* [JTransforms](https://sites.google.com/site/piotrwendykier/software/jtransforms) - Multithread FFT library. -* [Parallel Colt](https://sites.google.com/site/piotrwendykier/software/parallelcolt) - Multithread high performance scientific and technical computing. * [SCaVis](http://jwork.org/scavis/) - Environment for scientific computation, data analysis and data visualization. ## Search @@ -327,10 +319,11 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o ## Serialization -* [flatbuffers](https://github.com/google/flatbuffers) - Memory Efficient Serialization Library. -* [Kryo](https://github.com/EsotericSoftware/kryo) - Java serialization and cloning: fast, efficient, automatic. -* [msgpack](https://github.com/msgpack/msgpack-java) - MessagePack serializer implementation for Java. -* [protostuff](https://github.com/protostuff/protostuff) - Java serialization library, proto compiler, code generator. +*Libraries that handle serialization with high efficiency.* + +* [FlatBuffers](https://github.com/google/flatbuffers) - Memory efficient serialization library that can access serialized data without unpacking and parsing it. +* [Kryo](https://github.com/EsotericSoftware/kryo) - Fast and efficient object graph serialization framework. +* [MessagePack](https://github.com/msgpack/msgpack-java) - Efficient binary serialization format. ## Server @@ -349,8 +342,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [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 with Java. -* [JavaServer Pages](https://jsp.java.net/) - Aged templating for websites with custom tag libraries. -* [StringTemplate](http://www.stringtemplate.org/) - Java template engine for generating source code, web pages, emails, or any other formatted text output. +* [JavaServer Pages](https://jsp.java.net/) - Common templating for websites with custom tag libraries. * [Thymeleaf](http://www.thymeleaf.org/) - Aims to be a substitute for JSP and works for XML files in general. ## Testing @@ -359,39 +351,29 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache JMeter](http://jmeter.apache.org/) - Functional testing and performance measurements. * [Arquillian](http://arquillian.org/) - Integration and functional testing platform with integration of Java EE containers. -* [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions. -* [Caliper](https://code.google.com/p/caliper/) - Microbenchmarking framework. -* [FEST](https://code.google.com/p/fest/) - Collection of testing libraries. -* [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Framework for writing declarative assertion matchers. -* [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking. -* [JUnit](http://junit.org/) - Testing framework. +* [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +* [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM. +* [JUnit](http://junit.org/) - Common testing framework. * [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. * [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications. * [TestNG](http://testng.org/) - Testing framework. -* [VisualVM](http://visualvm.java.net/) - Visual interface for viewing detailed information about Java applications while they are running on a JVM. +* [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications. ## Utility -*Libraries which provide unspecific functionality, e.g. optimized datastructures.* +*Libraries which provide general utility functions.* * [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing. -* [Google Guava](http://code.google.com/p/guava-libraries/) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. +* [Guava](http://code.google.com/p/guava-libraries/) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. * [javatuples](http://www.javatuples.org/) - Does what it says, although the concept of tuples in general is debatable. -## Visualization - -*Libraries or frameworks which allow you to visualize data.* - -* [kibana](http://www.elasticsearch.org/overview/kibana/) - Analyzes and visualizes log files. -* [Processing](https://www.processing.org/) - A project deeply rooted in visual art which allows you to program the visualization of data. - ## Web Crawling *Libraries that analyze the content of websites.* * [Apache Nutch](http://nutch.apache.org/) - Highly extensible, highly scalable Web crawler for production environment. * [Crawler4j](https://code.google.com/p/crawler4j/) - Simple lightweight alternative. -* [jsoup](http://jsoup.org/) - Scrapes, parses, manipulates and cleans HTML. +* [JSoup](http://jsoup.org/) - Scrapes, parses, manipulates and cleans HTML. ## Web Frameworks @@ -403,8 +385,7 @@ h * [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. * [Play](http://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser. * [PrimeFaces](http://primefaces.org/) - JSF framework which has a free and a commercial version with support. Provides several frontend components. -* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. -* [Spark](http://www.sparkjava.com/why.html) - Unique framework which focuses not on complex MVC patterns but on rapid development. +* [Spark](http://www.sparkjava.com/) - Unique framework which focuses not on complex MVC patterns but on rapid development. * [Spring Boot](http://projects.spring.io/spring-boot/) - Microframework which simplifies the development of new Spring applications. * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. @@ -470,6 +451,9 @@ h * [Java Code Geeks](http://www.javacodegeeks.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) * [TheServerSide.com](http://www.theserverside.com/) +* [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) +* [The Java Specialist' Newsletter](http://www.javaspecialists.eu/archive/archive.jsp) +* [Thoughts On Java](http://www.thoughts-on-java.org/) # Contributing From fbf12af0723bd6d77c30b5ca705911492e3f4fa8 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 12:23:00 +0200 Subject: [PATCH 23/76] Update README.md Sorted --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index e96bdbb..d34d6d7 100644 --- a/README.md +++ b/README.md @@ -85,21 +85,21 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* -* [Bamboo](https://www.atlassian.com/software/bamboo) Atlassian's CI solution with good integration of other products. -* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) ThoughtWork's CI open source solution. -* [TeamCity](http://www.jetbrains.com/teamcity/) JetBrain's CI solution with a free version. -* [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. -* [Travis](https://travis-ci.org) - Hosted service often used for open source projects. -* [Codeship](https://www.codeship.io/features) - Hosted services with a limited free plan. +* [Bamboo](https://www.atlassian.com/software/bamboo) Atlassian's CI solution with good integration of other products. * [CircleCI](https://circleci.com/) - Hosted service with a free trial. +* [Codeship](https://www.codeship.io/features) - Hosted services with a limited free plan. +* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) ThoughtWork's CI open source solution. +* [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. +* [TeamCity](http://www.jetbrains.com/teamcity/) JetBrain's CI solution with a free version. +* [Travis](https://travis-ci.org) - Hosted service often used for open source projects. ## Database *Everything which simplifies interactions with the database.* +* [Flyway](http://flywaydb.org/) - Simple database migration with Java API. * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. -* [Flyway](http://flywaydb.org/) - Simple database migration with Java API. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java. @@ -123,10 +123,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [AspectJ](https://eclipse.org/aspectj/) - Aspect-oriented programming for Java. * [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. OpenJDK 7/8 are supported by [this fork](http://dcevm.github.io/). -* [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. -* [Spring Loaded](https://github.com/spring-projects/spring-loaded) - Another class reloading agent for the JVM. +* [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM. +* [Spring Loaded](https://github.com/spring-projects/spring-loaded) - Another class reloading agent for the JVM. * [vert.x](http://vertx.io/) - Polyglot event-driven application framework for the JVM. ## Distributed Applications @@ -146,9 +146,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which handle the distribution of Java applications in native formats.* * [Bintray](https://bintray.com/) - Version control for your binaries which handles the publishing. Can also be used with Maven or Gradle. +* [IzPack](http://izpack.org/) - Setup authoring tool for cross-plattform deployments. * [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. * [packr](https://github.com/libgdx/packr#packr) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. -* [IzPack](http://izpack.org/) - Setup authoring tool for cross-plattform deployments. ## Document Processing @@ -218,10 +218,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that log the behavior of an application.* * [Apache Log4j 2](http://logging.apache.org/log4j/) - Complete rewrite of the previous version. Now has a powerful plugin and configuration architecture. +* [kibana](http://www.elasticsearch.org/overview/kibana/) - Analyzes and visualizes log files. * [Logback](http://logback.qos.ch/) - Founded by the same developer as Log4j and proves to be a robust logging library with interesting configuration options via Groovy. * [logstash](http://logstash.net/) - Tool for managing log files. * [SLF4J](http://www.slf4j.org/) - Abstraction layer which is to be used with an implementation. -* [kibana](http://www.elasticsearch.org/overview/kibana/) - Analyzes and visualizes log files. ## Machine Learning @@ -265,8 +265,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries for network programming.* * [Netty](http://netty.io/) - A framework for building high performance network applications. -* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. * [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. +* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. ## ORM @@ -430,9 +430,9 @@ h * [Java](https://twitter.com/java/) - Official Java Twitter account. * [Javin Paul](https://twitter.com/javinpaul) - Well-known Java blogger. * [Lukas Eder](https://twitter.com/lukaseder) - Founder and CEO Data Geekery (jOOQ). +* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author. * [Mark Reinhold](https://twitter.com/mreinhold) - Chief Architect, Java Platform Group, Oracle. * [Martijn Verburg](https://twitter.com/karianna) - London JUG co-leader, speaker, author, Java Champion and much more. -* [Mario Fusco](https://twitter.com/mariofusco) - RedHatter, JUG coordinator, frequent speaker and author. * [OpenJDK](https://twitter.com/OpenJDK) - Official OpenJDK account. * [Reza Rahman](https://twitter.com/reza_rahman) - Java EE/GlassFish/WebLogic evangelist, author, speaker, open source hacker. * [Simon Maple](https://twitter.com/sjmaple) - Java Champion, virtualJUG founder, LJC leader, RebelLabs author. @@ -444,15 +444,15 @@ h *Sites to read.* +* [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) * [InfoQ](http://www.infoq.com/) +* [Java Code Geeks](http://www.javacodegeeks.com/) * [Java.net](http://java.net/) * [Javalobby](http://java.dzone.com/) * [JavaWorld](http://www.javaworld.com/) -* [Java Code Geeks](http://www.javacodegeeks.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) -* [TheServerSide.com](http://www.theserverside.com/) -* [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) * [The Java Specialist' Newsletter](http://www.javaspecialists.eu/archive/archive.jsp) +* [TheServerSide.com](http://www.theserverside.com/) * [Thoughts On Java](http://www.thoughts-on-java.org/) # Contributing From 6238b9f7b7fc882dc58964598d2d157c345fa2f4 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 12:26:54 +0200 Subject: [PATCH 24/76] Update README.md Removed empty topics. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index d34d6d7..0ed1f2c 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Game Development](#game-development) - [GUI](#gui) - [High Performance](#high-performance) - - [HTTP](#http) - [IDE](#ide) - [Imagery](#imagery) - [JSON](#json) @@ -40,7 +39,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Template Engine](#template-engine) - [Testing](#testing) - [Utility](#utility) - - [Visualization](#visualization) - [Web Crawling](#web-crawling) - [Web Frameworks](#web-frameworks) - [Resources](#resources) From 93207ea6f5bebc809a63ece6194dc002bd41d498 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 12:32:40 +0200 Subject: [PATCH 25/76] Update README.md Added Google's Auto --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ed1f2c..14eac19 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Augmentation of the development process at a fundamental level.* -* [AspectJ](https://eclipse.org/aspectj/) - Aspect-oriented programming for Java. +* [AspectJ](https://eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. +* [Auto](https://github.com/google/auto) - Collection of source code generators. * [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. OpenJDK 7/8 are supported by [this fork](http://dcevm.github.io/). * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. * [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. From 23badd9a337088d910363176745db2d35771004c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 22 Sep 2014 12:36:46 +0200 Subject: [PATCH 26/76] Update README.md Fixed spelling. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 14eac19..ead4a33 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which handle the distribution of Java applications in native formats.* * [Bintray](https://bintray.com/) - Version control for your binaries which handles the publishing. Can also be used with Maven or Gradle. -* [IzPack](http://izpack.org/) - Setup authoring tool for cross-plattform deployments. +* [IzPack](http://izpack.org/) - Setup authoring tool for cross-platform deployments. * [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. * [packr](https://github.com/libgdx/packr#packr) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. @@ -153,7 +153,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that assist with processing office document formats.* -* [Apache POI](http://poi.apache.org/) - Supports OOXML (e.g XLSX, DOCX, PPTX) as well as OLE2 (e.g. XLS, DOC or PPT). +* [Apache POI](http://poi.apache.org/) - Supports OOXML (XLSX, DOCX, PPTX) as well as OLE2 (XLS, DOC or PPT). * [jOpenDocument](http://www.jopendocument.org/) - Processes the OpenDocument format. ## Game Development From 9770784c9a1d81d0037a367188d540305574f952 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 23 Sep 2014 11:32:58 +0200 Subject: [PATCH 27/76] Update README.md Added LightAdmin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ead4a33..6fde540 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. * [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. +* [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development. * [Metrics](http://metrics.codahale.com/) - Create your own metrics or add them for supported frameworks, then expose them via JMX or HTTP, or send them to a database. * [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. * [RoboVM](http://www.robovm.org/) - Write native iOS apps in Java. From e3054b27ebc118d062a60ecb5900099186d6f2a7 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 20 Oct 2014 09:06:14 +0200 Subject: [PATCH 28/76] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6fde540..17400c2 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that specialize on processing text.* * [Apache OpenNLP](https://opennlp.apache.org/) - Toolkit for common tasks like tokenization. +* [CoreNLP](http://nlp.stanford.edu/software/corenlp.shtml) - Stanford's CoreNLP provides a set of fundamental tools for tasks like tagging, named entity recognition, sentiment analysis and many more. * [LingPipe](http://alias-i.com/lingpipe/) - Toolkit for a variety of tasks ranging from POS tagging to sentiment analysis. * [Mallet](http://mallet.cs.umass.edu/) - Statistical natural language processing, document classification, clustering, topic modeling and more. From b1683baeafdcfbae0526b07007e0857a3b32c798 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 20 Oct 2014 09:08:13 +0200 Subject: [PATCH 29/76] Update README.md Fixed hyphens in CI. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 17400c2..ce6b716 100644 --- a/README.md +++ b/README.md @@ -83,12 +83,12 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* -* [Bamboo](https://www.atlassian.com/software/bamboo) Atlassian's CI solution with good integration of other products. +* [Bamboo](https://www.atlassian.com/software/bamboo) - Atlassian's CI solution with good integration of other products. * [CircleCI](https://circleci.com/) - Hosted service with a free trial. * [Codeship](https://www.codeship.io/features) - Hosted services with a limited free plan. -* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) ThoughtWork's CI open source solution. +* [Go](http://www.thoughtworks.com/products/go-continuous-delivery) - ThoughtWork's CI open source solution. * [Jenkins](http://jenkins-ci.org/) - Provides server-based deployment services. -* [TeamCity](http://www.jetbrains.com/teamcity/) JetBrain's CI solution with a free version. +* [TeamCity](http://www.jetbrains.com/teamcity/) - JetBrain's CI solution with a free version. * [Travis](https://travis-ci.org) - Hosted service often used for open source projects. ## Database From 3f9bc39286adb9442190c678f8d04e90db7d7cd0 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Tue, 21 Oct 2014 14:18:46 +0300 Subject: [PATCH 30/76] Update README.md Add "Selenide" to testing tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ce6b716..3bc8946 100644 --- a/README.md +++ b/README.md @@ -357,6 +357,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JUnit](http://junit.org/) - Common testing framework. * [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. * [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications. +* [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. * [TestNG](http://testng.org/) - Testing framework. * [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications. From 4bb73f0763890933932ab93257f4c784200b28e3 Mon Sep 17 00:00:00 2001 From: Martin Seeler Date: Tue, 28 Oct 2014 12:25:46 +0100 Subject: [PATCH 31/76] Add Spark to REST section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bc8946..0fc3a3f 100644 --- a/README.md +++ b/README.md @@ -294,6 +294,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Jersey](https://jersey.java.net/) - JAX-RS reference implementation. * [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification. * [Retrofit](http://square.github.io/retrofit/) - A type-safe REST client for Java. +* [Spark](http://www.sparkjava.com/) - A Sinatra inspired framework for java. * [Swagger](https://helloreverb.com/developers/swagger) - Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. ## Science From 4a5116fef893c9c72b69c084edb66fdc062baa9d Mon Sep 17 00:00:00 2001 From: Martin Seeler Date: Tue, 28 Oct 2014 12:46:26 +0100 Subject: [PATCH 32/76] Add JeroMQ to Messaging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bc8946..4162a6b 100644 --- a/README.md +++ b/README.md @@ -239,6 +239,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache ActiveMQ](http://activemq.apache.org/) - Open-source message broker that implements JMS and converts synchronous to asynchronous communication. * [Apache Kafka](http://kafka.apache.org/) - High-throughput distributed messaging system. * [JBoss HornetQ](http://hornetq.jboss.org/) - Clear, concise, modular and made to be embedded. +* [JeroMQ](https://github.com/zeromq/jeromq) - Pure Java implementation of ZeroMQ. ## Miscellaneous From 3cbb3b1f2128d5137655c659cc87ca544069f756 Mon Sep 17 00:00:00 2001 From: Vito Zhou Date: Fri, 7 Nov 2014 11:37:23 +0800 Subject: [PATCH 33/76] added RabbitMQ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bc8946..4ecd0a1 100644 --- a/README.md +++ b/README.md @@ -236,6 +236,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools that help sending messages between clients to ensure protocol independency.* +* [RabbitMQ](https://www.rabbitmq.com/) - Easy to use, cross-platform, High-Performing. * [Apache ActiveMQ](http://activemq.apache.org/) - Open-source message broker that implements JMS and converts synchronous to asynchronous communication. * [Apache Kafka](http://kafka.apache.org/) - High-throughput distributed messaging system. * [JBoss HornetQ](http://hornetq.jboss.org/) - Clear, concise, modular and made to be embedded. From b1615156a14e0aac6769537e12976e1d2e23fb2b Mon Sep 17 00:00:00 2001 From: tmarwen Date: Fri, 7 Nov 2014 18:17:47 +0100 Subject: [PATCH 34/76] Add Ebean framework to ORM section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bc8946..884a223 100644 --- a/README.md +++ b/README.md @@ -275,6 +275,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [EclipseLink](https://www.eclipse.org/eclipselink/) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. * [Hibernate](http://hibernate.org/orm/) - Robust and widely used with an active community. +* [Ebean](http://ebean-orm.github.io/) - ORM Framework that provides fast data access and even faster coding. ## PDF From c6a1be559be0fe196faad847acd100af098c21f6 Mon Sep 17 00:00:00 2001 From: tmarwen Date: Fri, 7 Nov 2014 18:22:38 +0100 Subject: [PATCH 35/76] Add Ninja Framework to Web Frameworks section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3bc8946..9de8d27 100644 --- a/README.md +++ b/README.md @@ -391,6 +391,7 @@ h * [Spring Boot](http://projects.spring.io/spring-boot/) - Microframework which simplifies the development of new Spring applications. * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. +* [Ninja](http://www.ninjaframework.org/) - Full stack web framework for Java. Rock solid, fast and super productive. # Resources From a5963cc5c6bc2c34a40519982dd7e12927a0b36e Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 8 Nov 2014 16:41:47 +0100 Subject: [PATCH 36/76] Update README.md Removed Spark from Web Frameworks since it's already in REST Frameworks. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0fc3a3f..ec55c11 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,6 @@ h * [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. * [Play](http://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser. * [PrimeFaces](http://primefaces.org/) - JSF framework which has a free and a commercial version with support. Provides several frontend components. -* [Spark](http://www.sparkjava.com/) - Unique framework which focuses not on complex MVC patterns but on rapid development. * [Spring Boot](http://projects.spring.io/spring-boot/) - Microframework which simplifies the development of new Spring applications. * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. From d503035184fecbbf2d7a06b230a67971700b2ad2 Mon Sep 17 00:00:00 2001 From: Kevin Deenanauth Date: Thu, 20 Nov 2014 23:27:14 -0800 Subject: [PATCH 37/76] Added Byte Buddy to Bytecode Manipulation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8fc77a9..908668b 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [ASM](http://asm.ow2.org/) - All purpose, low level, bytecode manipulation and analysis. * [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode. +* [Byte Buddy](http://bytebuddy.net/) - Further simplifies bytecode generation with a fluent API. ## Code Analysis From 3858cf5e612cb9bbb8fa39fad43c72514ca9c094 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 25 Nov 2014 20:19:22 +0100 Subject: [PATCH 38/76] Update README.md Removed RabbitMQ since it is in Erlang. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 908668b..7de97c2 100644 --- a/README.md +++ b/README.md @@ -237,7 +237,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools that help sending messages between clients to ensure protocol independency.* -* [RabbitMQ](https://www.rabbitmq.com/) - Easy to use, cross-platform, High-Performing. * [Apache ActiveMQ](http://activemq.apache.org/) - Open-source message broker that implements JMS and converts synchronous to asynchronous communication. * [Apache Kafka](http://kafka.apache.org/) - High-throughput distributed messaging system. * [JBoss HornetQ](http://hornetq.jboss.org/) - Clear, concise, modular and made to be embedded. From e16ed847221c18df03d900c666a460c06ecc0da0 Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 25 Nov 2014 14:25:53 -0500 Subject: [PATCH 39/76] moving ratpack from networking to web framework --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7de97c2..bcdc33d 100644 --- a/README.md +++ b/README.md @@ -269,7 +269,6 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Netty](http://netty.io/) - A framework for building high performance network applications. * [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. -* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. ## ORM @@ -395,6 +394,7 @@ h * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. * [Ninja](http://www.ninjaframework.org/) - Full stack web framework for Java. Rock solid, fast and super productive. +* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. # Resources From 4d4bafa2120a2a2744d947975c2380e90f83de9d Mon Sep 17 00:00:00 2001 From: "River M." Date: Sun, 28 Dec 2014 22:29:13 -0500 Subject: [PATCH 40/76] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bcdc33d..464b352 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Everything which simplifies interactions with the database.* * [Flyway](http://flywaydb.org/) - Simple database migration with Java API. +* [h2](http://h2database.com/html/main.html) - Java Based SQL Database * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. From 6d8bbb3493a3a22b24f3d123f91780cf784a4756 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Tue, 30 Dec 2014 00:31:07 +0100 Subject: [PATCH 41/76] Update README.md Corrected H2 Added Cryptomator --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 464b352..5f55493 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Everything which simplifies interactions with the database.* * [Flyway](http://flywaydb.org/) - Simple database migration with Java API. -* [h2](http://h2database.com/html/main.html) - Java Based SQL Database +* [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality. * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. @@ -318,6 +318,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that handle security, authentication, authorization or session management.* * [Apache Shiro](http://shiro.apache.org/) - Performs authentication, authorization, cryptography and session management. +* [Cryptomator](http://cryptomator.org/) - Multiplatform transparent client-side encryption of files in the cloud. * [Keycloak](http://keycloak.jboss.org/) - Integrated SSO and IDM for browser apps and RESTful web services. Currently in beta but looks very promising. * [PicketLink](http://picketlink.org/) - PicketLink is an umbrella project for security and identity management for Java applications. * [Spring Security](http://projects.spring.io/spring-security/) - Focuses on authentication/authorization and protects against several attack vectors. From 89aba5e394bc357d1eddf747d162d1f497fe48a2 Mon Sep 17 00:00:00 2001 From: "Daniel Cunha (soro)" Date: Thu, 8 Jan 2015 13:46:37 +0000 Subject: [PATCH 42/76] Added voxxed in websites list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f55493..4699089 100644 --- a/README.md +++ b/README.md @@ -462,6 +462,7 @@ h * [The Java Specialist' Newsletter](http://www.javaspecialists.eu/archive/archive.jsp) * [TheServerSide.com](http://www.theserverside.com/) * [Thoughts On Java](http://www.thoughts-on-java.org/) +* [Voxxed](https://www.voxxed.com/) # Contributing From 491c797d62aa9436022006b9a7689d44f3f0bc5f Mon Sep 17 00:00:00 2001 From: yz_liu Date: Thu, 15 Jan 2015 13:53:38 +0800 Subject: [PATCH 43/76] add two image library --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4699089..78eadac 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Picasso](http://square.github.io/picasso/) - Image downloading and caching library for Android. * [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. +* [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Imgscalr is an very simple and efficient (hardware accelerated) image-scaling library implemented in pure Java 2D. +* [Thumbnailator](https://code.google.com/p/thumbnailator) - Thumbnailator is a high-quality thumbnail generation library for Java. ## JSON From 8060baa023cc657fd3ec7b483c0378a7894a7d09 Mon Sep 17 00:00:00 2001 From: Yifan Peng Date: Mon, 26 Jan 2015 14:32:37 -0500 Subject: [PATCH 44/76] add JGraphT, a graph library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4699089..4fafb39 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing. * [Guava](http://code.google.com/p/guava-libraries/) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. * [javatuples](http://www.javatuples.org/) - Does what it says, although the concept of tuples in general is debatable. +* [JGraphT](http://jgrapht.org/) - A graph library that provides mathematical graph-theory objects and algorithms. ## Web Crawling From 5273304c376ddf6c85b16c39c8e8995a958ac557 Mon Sep 17 00:00:00 2001 From: benayh Date: Wed, 4 Feb 2015 12:11:47 +0200 Subject: [PATCH 45/76] Update README.md Added a new web site : http://jaxenter.com --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78eadac..3b7aaba 100644 --- a/README.md +++ b/README.md @@ -465,6 +465,7 @@ h * [TheServerSide.com](http://www.theserverside.com/) * [Thoughts On Java](http://www.thoughts-on-java.org/) * [Voxxed](https://www.voxxed.com/) +* [JAXenter](http://jaxenter.com/) # Contributing From 00dfb43585c5800bfbe375a1561b08c60637b557 Mon Sep 17 00:00:00 2001 From: Vladislav Bauer Date: Fri, 13 Feb 2015 14:48:58 +0600 Subject: [PATCH 46/76] Add Android Arsenal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78eadac..5de6ddd 100644 --- a/README.md +++ b/README.md @@ -454,6 +454,7 @@ h *Sites to read.* +* [Android Arsenal](https://android-arsenal.com) * [Google Java Style](http://google-styleguide.googlecode.com/svn/trunk/javaguide.html) * [InfoQ](http://www.infoq.com/) * [Java Code Geeks](http://www.javacodegeeks.com/) From 043feecc57e96ff942bdaf673d874ce84d6d9cd9 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 18 Feb 2015 22:22:46 +0100 Subject: [PATCH 47/76] Sorting --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 46cd90a..005b49d 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries to manipulate Java bytecode programmatically.* * [ASM](http://asm.ow2.org/) - All purpose, low level, bytecode manipulation and analysis. -* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode. * [Byte Buddy](http://bytebuddy.net/) - Further simplifies bytecode generation with a fluent API. +* [Javassist](http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/) - Tries to simplify the editing of bytecode. ## Code Analysis @@ -197,10 +197,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that assist with the creation, evaluation or manipulation of graphical images.* -* [Picasso](http://square.github.io/picasso/) - Image downloading and caching library for Android. -* [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. * [Imgscalr](https://github.com/thebuzzmedia/imgscalr) - Imgscalr is an very 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://code.google.com/p/thumbnailator) - Thumbnailator is a high-quality thumbnail generation library for Java. +* [ZXing](https://github.com/zxing/zxing) - Multi-format 1D/2D barcode image processing library. ## JSON @@ -277,9 +277,9 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *APIs which handle the persistence of objects.* +* [Ebean](http://ebean-orm.github.io/) - ORM Framework that provides fast data access and even faster coding. * [EclipseLink](https://www.eclipse.org/eclipselink/) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. * [Hibernate](http://hibernate.org/orm/) - Robust and widely used with an active community. -* [Ebean](http://ebean-orm.github.io/) - ORM Framework that provides fast data access and even faster coding. ## PDF @@ -363,8 +363,8 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM. * [JUnit](http://junit.org/) - Common testing framework. * [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. -* [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. +* [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications. * [TestNG](http://testng.org/) - Testing framework. * [VisualVM](http://visualvm.java.net/) - Visual interface for detailed information about running applications. @@ -393,13 +393,13 @@ h * [Apache Wicket](http://wicket.apache.org/) - Component-based web application framework similar to Tapestry with a stateful 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. +* [Ninja](http://www.ninjaframework.org/) - Full stack web framework for Java. Rock solid, fast and super productive. * [Play](http://www.playframework.com/) - Uses convention over configuration, hot code reloading and display of errors in the browser. * [PrimeFaces](http://primefaces.org/) - JSF framework which has a free and a commercial version with support. Provides several frontend components. +* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. * [Spring Boot](http://projects.spring.io/spring-boot/) - Microframework which simplifies the development of new Spring applications. * [Spring](http://projects.spring.io/spring-framework/) - Aims to simplify the development with Java EE and provides packages for dependency injection and aspect-oriented programming. * [Vaadin](https://vaadin.com/) - Event-driven framework build on top of GWT. Uses server-side architecture with Ajax on the client-side. -* [Ninja](http://www.ninjaframework.org/) - Full stack web framework for Java. Rock solid, fast and super productive. -* [Ratpack](http://www.ratpack.io/) - A set of Java libraries that facilitate fast, efficient, evolvable and well tested HTTP applications. # Resources @@ -462,12 +462,12 @@ h * [Java.net](http://java.net/) * [Javalobby](http://java.dzone.com/) * [JavaWorld](http://www.javaworld.com/) +* [JAXenter](http://jaxenter.com/) * [RebelLabs](http://zeroturnaround.com/rebellabs/) * [The Java Specialist' Newsletter](http://www.javaspecialists.eu/archive/archive.jsp) * [TheServerSide.com](http://www.theserverside.com/) * [Thoughts On Java](http://www.thoughts-on-java.org/) * [Voxxed](https://www.voxxed.com/) -* [JAXenter](http://jaxenter.com/) # Contributing From 184e812a5130a7dbce873632e561bd4296b7b6c9 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 2 Mar 2015 21:46:39 -0500 Subject: [PATCH 48/76] Added OrmLite to ORM list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 005b49d..e3ee2c2 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Ebean](http://ebean-orm.github.io/) - ORM Framework that provides fast data access and even faster coding. * [EclipseLink](https://www.eclipse.org/eclipselink/) - Supports a number of persistence standards: JPA, JAXB, JCA and SDO. * [Hibernate](http://hibernate.org/orm/) - Robust and widely used with an active community. +* [OrmLite](http://ormlite.com/) - Lightweight ORM package avoiding the complexity and overhead of other ORM products. ## PDF From ca600d09b00e09840642d5da752036bc1604cbe7 Mon Sep 17 00:00:00 2001 From: Jonathan Ruckwood Date: Fri, 6 Mar 2015 16:30:29 +0000 Subject: [PATCH 49/76] Add Feign to REST Frameworks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 005b49d..05f54c4 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Frameworks specifically for creating RESTful services.* * [Dropwizard](https://dropwizard.github.io/dropwizard/) - Opinionated framework for setting up modern web applications, includes Jetty, Jackson, Jersey and Metrics. +* [Feign](https://github.com/Netflix/feign) - Java to HTTP client binder inspired by Retrofit, JAXRS-2.0, and WebSocket. * [Jersey](https://jersey.java.net/) - JAX-RS reference implementation. * [RESTEasy](http://resteasy.jboss.org/) - Fully certified and portable implementation of the JAX-RS specification. * [Retrofit](http://square.github.io/retrofit/) - A type-safe REST client for Java. From 5ff2fb28db991a0c04fbedeea658a97b85078904 Mon Sep 17 00:00:00 2001 From: Rasheed Amir Date: Sat, 14 Mar 2015 23:01:00 +0100 Subject: [PATCH 50/76] Update README.md Added liquibase; a database migration tool. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 842f9ec..7f43475 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [H2](http://h2database.com/) - Small SQL Database notable for its in-memory functionality. * [JDBI](http://jdbi.org/) - Convenient abstraction of JDBC. * [jOOQ](http://www.jooq.org/) - Generates typesafe code based on SQL schema. +* [Liquibase](http://www.liquibase.org/) - An open source database-independent library for tracking, managing and applying database schema changes. * [Presto](https://github.com/facebook/presto) - Distributed SQL query engine for big data. * [Querydsl](http://www.querydsl.com/) - Typesafe unified queries for Java. From e3e4918d250466efeed6fe5a52721acc0faadacc Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sat, 14 Mar 2015 23:48:01 +0100 Subject: [PATCH 51/76] Aeron in Messaging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 842f9ec..5b588db 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools that help sending messages between clients to ensure protocol independency.* +* [Aeron](https://github.com/real-logic/Aeron) - Efficient reliable unicast and multicast message transport. * [Apache ActiveMQ](http://activemq.apache.org/) - Open-source message broker that implements JMS and converts synchronous to asynchronous communication. * [Apache Kafka](http://kafka.apache.org/) - High-throughput distributed messaging system. * [JBoss HornetQ](http://hornetq.jboss.org/) - Clear, concise, modular and made to be embedded. From e8b43e8aa9f80c8ce4d5da46cdd69388bc9635df Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sat, 14 Mar 2015 23:52:42 +0100 Subject: [PATCH 52/76] Added flink to machine learning --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 842f9ec..40447a8 100644 --- a/README.md +++ b/README.md @@ -230,6 +230,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools that provide specific statistical algorithms which allow to learn from data.* +* [Apache Flink](https://flink.apache.org/) - Fast and reliable large-scale data processing engine. * [Apache Hadoop](http://hadoop.apache.org/) - Open-source software framework for 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 Spark](http://spark.apache.org/) - Open-source data analytics cluster computing framework. From 5f058366fb723a21ab73d07788fe48f158a7a157 Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Sun, 15 Mar 2015 00:09:52 +0100 Subject: [PATCH 53/76] added Distributed Databases --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 842f9ec..559fb20 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o - [Dependency Injection](#dependency-injection) - [Development](#development) - [Distributed Applications](#distributed-applications) + - [Distributed Databases](#distributed-databases) - [Distribution](#distribution) - [Document Processing](#document-processing) - [Game Development](#game-development) @@ -142,6 +143,13 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [JGroups](http://www.jgroups.org/) - Toolkit for reliable messaging and creating clusters whose nodes can send messages to each other. * [Quasar](http://www.paralleluniverse.co/quasar/) - Lightweight threads and actors for the JVM. +## Distributed Databases + +*Databases in a distributed system that appear to applications as a single data source.* + +* [Apache Cassandra](http://cassandra.apache.org) - Apache Cassandra is a distributed column-oriented database providing high availability with no single point of failure. +* [Apache HBase](http://hbase.apache.org) - Apache HBase is the Hadoop database, a distributed, scalable, big data store. + ## Distribution *Tools which handle the distribution of Java applications in native formats.* From 6a1904130a3808b78d60550814a849a5c24241db Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 16 Mar 2015 12:33:06 +0100 Subject: [PATCH 54/76] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5684c2d..34859ef 100644 --- a/README.md +++ b/README.md @@ -435,7 +435,7 @@ h *Something to listen to while programming.* -* [The Java Posse](http://www.javaposse.com/) +* [The Java Posse](http://www.javaposse.com/) (discontinued as of 02/2015) ## Twitter From c874d08739829e0c3d38e262307596787a5df20d Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Mar 2015 23:10:27 +0100 Subject: [PATCH 55/76] Added note that Bamboo isn't totally free --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34859ef..75f71d9 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which support continuously building, testing and releasing applications.* -* [Bamboo](https://www.atlassian.com/software/bamboo) - Atlassian's CI solution with good integration of other products. +* [Bamboo](https://www.atlassian.com/software/bamboo) - Atlassian's solution with good integration of other products. You can either apply for an Open Source license or buy it. * [CircleCI](https://circleci.com/) - Hosted service with a free trial. * [Codeship](https://www.codeship.io/features) - Hosted services with a limited free plan. * [Go](http://www.thoughtworks.com/products/go-continuous-delivery) - ThoughtWork's CI open source solution. From a1aecc24534f12a08cc68ffd87af92d166b000f7 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Wed, 25 Mar 2015 23:45:04 +0100 Subject: [PATCH 56/76] DCEVM fork replaces the old website --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34859ef..038732e 100644 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [AspectJ](https://eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. * [Auto](https://github.com/google/auto) - Collection of source code generators. -* [DCEVM](http://ssw.jku.at/dcevm/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. OpenJDK 7/8 are supported by [this fork](http://dcevm.github.io/). +* [DCEVM](http://dcevm.github.io/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. * [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM. From ba6dcf4ba1e5405029d68cc3c8cada9a1aca4c1f Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 26 Mar 2015 21:15:05 +0100 Subject: [PATCH 57/76] Fixed spelling and made the acceptance criteria for new items clearer --- CONTRIBUTING.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6262231..3c734b7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -2,24 +2,26 @@ Unfortunately, not every library/tool/framework can be considered. The aim of the list is to provide a concise list of noteworthy modern software. This means that suggested software is either -(a) widely recommended and used regardless of your personal opinion +(a) widely recommended regardless of personal opinion (b) highly discussed in the community due to its innovative nature -(b) absolutely unique in its approach and function +(c) absolutely unique in its approach and function -Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if the criteria match. +(d) a niche product that fills a gap + +Self-promotion is frowned upon and will be reviewed critically but the suggestion will of course be approved if they criteria match. If a certain entry does not get accepted, you should first look if there has been a discussion before. These discussions are in the issue section and normally marked with the question tag. If there hasn't been such a topic, you are free to create a new issue tagged as question. -Furthermore, please ensure your pull request follows the following guidlines: +Furthermore, please ensure your pull request follows the following guidelines: * Please search previous suggestions before making a new one, as yours may be a duplicate. * Please make an individual pull request for each suggestion. * Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. * Entries should be sorted in ascending alphabetical order, i.e. a to z. -* New categories, or improvements to the existing categorisation are welcome. +* New categories, or improvements to the existing categorization are welcome. * Keep descriptions short, simple and unbiased. * End all descriptions with a full stop/period. * Check your spelling and grammar. From 702642d7b329017166d2ae7556c37acea70729b5 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 26 Mar 2015 21:30:56 +0100 Subject: [PATCH 58/76] Added commercial info to bintray --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34859ef..5dfba38 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Tools which handle the distribution of Java applications in native formats.* -* [Bintray](https://bintray.com/) - Version control for your binaries which handles the publishing. Can also be used with Maven or Gradle. +* [Bintray](https://bintray.com/) - Version control for binaries which handles the publishing. Can also be used with Maven or Gradle and has a free plan for Open Source Software or several business plans. * [IzPack](http://izpack.org/) - Setup authoring tool for cross-platform deployments. * [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. * [packr](https://github.com/libgdx/packr#packr) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. From e2e73ea9976fc90f1bfe65b5ad3d9efa0f9f6933 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 26 Mar 2015 21:41:34 +0100 Subject: [PATCH 59/76] Packr url pointed to the header which is inconsistent --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34859ef..d7c1e4e 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Bintray](https://bintray.com/) - Version control for your binaries which handles the publishing. Can also be used with Maven or Gradle. * [IzPack](http://izpack.org/) - Setup authoring tool for cross-platform deployments. * [Launch4j](http://launch4j.sourceforge.net/) - Wraps JARs in lightweight and native Windows executables. -* [packr](https://github.com/libgdx/packr#packr) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. +* [packr](https://github.com/libgdx/packr/) - Packs your JAR, assets and JVM for native distribution on Windows, Linux and Mac OS X. ## Document Processing From 57fa9f31408abac86f2341023f84a5bc6be63c6b Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 26 Mar 2015 21:48:38 +0100 Subject: [PATCH 60/76] hftc changed its name to koloboke --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 34859ef..d1fe374 100644 --- a/README.md +++ b/README.md @@ -189,7 +189,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Disruptor](http://lmax-exchange.github.io/disruptor/) - Inter-thread messaging library. * [fastutil](http://fastutil.di.unimi.it/) - Fast and compact type-specific collections for Java. * [GS Collections](https://github.com/goldmansachs/gs-collections) - Collection framework inspired by Smalltalk. -* [hftc](https://github.com/OpenHFT/hftc) - Hash sets and hash maps. +* [Koloboke](https://github.com/OpenHFT/Koloboke) - Hash sets and hash maps. * [HPPC](http://labs.carrotsearch.com/hppc.html) - Primitive collections. * [Javolution](http://javolution.org/) - Library for real-time and embedded systems. * [Trove](http://trove.starlight-systems.com/) - Primitive collections. From ef5776867ae2f76659e126211cc09077c1cfc6ff Mon Sep 17 00:00:00 2001 From: yegorius Date: Mon, 6 Apr 2015 00:22:13 +0300 Subject: [PATCH 61/76] Add Grizzly and Undertow to Networking --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 66251e7..c4014fc 100644 --- a/README.md +++ b/README.md @@ -281,8 +281,10 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries for network programming.* +* [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Jetty. * [Netty](http://netty.io/) - A framework for building high performance network applications. * [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. +* [Undertow](http://undertow.io/) - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. ## ORM From 1fdc48bc058ce98bbf4964e30bd7f45b7f2b79c6 Mon Sep 17 00:00:00 2001 From: yegorius Date: Mon, 6 Apr 2015 01:29:04 +0300 Subject: [PATCH 62/76] Add args4j to Utilities --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4014fc..eec7532 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries which provide general utility functions.* +* [args4j](http://args4j.kohsuke.org/) - Command line arguments parser * [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing. * [Guava](http://code.google.com/p/guava-libraries/) - Collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth. * [javatuples](http://www.javatuples.org/) - Does what it says, although the concept of tuples in general is debatable. From 19aa8d3f2f61f07f177986a1531fa10d68cfa6f6 Mon Sep 17 00:00:00 2001 From: yegorius Date: Mon, 6 Apr 2015 10:49:47 +0300 Subject: [PATCH 63/76] fix: Grizzly is used in Glassfish --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eec7532..0ec42d1 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries for network programming.* -* [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Jetty. +* [Grizzly](https://grizzly.java.net/) - NIO framework. Used as a network layer in Glassfish. * [Netty](http://netty.io/) - A framework for building high performance network applications. * [OkHttp](http://square.github.io/okhttp/) - An HTTP+SPDY client for Android and Java applications. * [Undertow](http://undertow.io/) - Web server providing both blocking and non-blocking API’s based on NIO. Used as a network layer in WildFly. From 022d2972da1504e206ed69de961a283ccddbb2dc Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 6 Apr 2015 20:47:01 +0200 Subject: [PATCH 64/76] Added Apache Camel to Messaging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66251e7..93a04fa 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Aeron](https://github.com/real-logic/Aeron) - Efficient reliable unicast and multicast message transport. * [Apache ActiveMQ](http://activemq.apache.org/) - Open-source message broker that implements JMS and converts synchronous to asynchronous communication. +* [Apache Camel](http://camel.apache.org/) - Glues together different transport APIs via Enterprise Integration Patterns. * [Apache Kafka](http://kafka.apache.org/) - High-throughput distributed messaging system. * [JBoss HornetQ](http://hornetq.jboss.org/) - Clear, concise, modular and made to be embedded. * [JeroMQ](https://github.com/zeromq/jeromq) - Pure Java implementation of ZeroMQ. From a33fff2611e55d343a27e23c68746c07433d9531 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 6 Apr 2015 20:52:37 +0200 Subject: [PATCH 65/76] Added fabric8 to Misc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66251e7..ff529da 100644 --- a/README.md +++ b/README.md @@ -261,6 +261,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Everything else.* * [Design Patterns](https://github.com/iluwatar/java-design-patterns) - Implementation and explanation of the most common design patterns. +* [fabric8](http://fabric8.io/) - Integration platform for Java containers. * [Jimfs](https://github.com/google/jimfs) - In-memory file system. * [Lanterna](https://code.google.com/p/lanterna/) - Easy console text GUI library similar to curses. * [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development. From ffb4a6f23595c25f7d6acd7707b63c99702338f5 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Mon, 6 Apr 2015 20:57:05 +0200 Subject: [PATCH 66/76] Added Infinispan to Distributed Databases --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66251e7..650b58e 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Cassandra](http://cassandra.apache.org) - Apache Cassandra is a distributed column-oriented database providing high availability with no single point of failure. * [Apache HBase](http://hbase.apache.org) - Apache HBase is the Hadoop database, a distributed, scalable, big data store. +* [Infinispan](http://infinispan.org/) - Distributed and highly concurrent key/value datastore used for caching. ## Distribution From c81431d5b8d0e65b40bd0b848d952915a534918a Mon Sep 17 00:00:00 2001 From: yegorius Date: Tue, 7 Apr 2015 01:38:30 +0300 Subject: [PATCH 67/76] Add Hamcrest to Testing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66251e7..03dd4c8 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache JMeter](http://jmeter.apache.org/) - Functional testing and performance measurements. * [Arquillian](http://arquillian.org/) - Integration and functional testing platform with integration of Java EE containers. * [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. +* [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. * [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM. * [JUnit](http://junit.org/) - Common testing framework. * [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. From e0ab22b51e925ea330533655417e502b66cb8072 Mon Sep 17 00:00:00 2001 From: yegorius Date: Tue, 7 Apr 2015 02:08:48 +0300 Subject: [PATCH 68/76] Add Reactor to High Performance --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66251e7..90f63ec 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Koloboke](https://github.com/OpenHFT/Koloboke) - Hash sets and hash maps. * [HPPC](http://labs.carrotsearch.com/hppc.html) - Primitive collections. * [Javolution](http://javolution.org/) - Library for real-time and embedded systems. +* [Reactor](http://projectreactor.io/) - Library for building reactive fast-data applications. * [Trove](http://trove.starlight-systems.com/) - Primitive collections. ## IDE From da132a29ba517a429d2a0f22fd506cf2190f142f Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 9 Apr 2015 13:28:23 +0200 Subject: [PATCH 69/76] H2O changed spelling and URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 66251e7..8485114 100644 --- a/README.md +++ b/README.md @@ -243,7 +243,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Apache Hadoop](http://hadoop.apache.org/) - Open-source software framework for 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 Spark](http://spark.apache.org/) - Open-source data analytics cluster computing framework. -* [h2o](http://0xdata.github.io/h2o/) - Analytics engine for statistics over big data. +* [H2O](http://0xdata.com/) - Analytics engine for statistics over big data. * [Weka](http://www.cs.waikato.ac.nz/ml/weka/) - Collection of algorithms for data mining tasks ranging from pre-processing to visualization. ## Messaging From d6452360bb3b668560f98f9e10b4eac8a31fd115 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 9 Apr 2015 13:53:24 +0200 Subject: [PATCH 70/76] Added pricing info to robovm --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 66251e7..a1f45b0 100644 --- a/README.md +++ b/README.md @@ -266,7 +266,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [LightAdmin](http://lightadmin.org/) - Pluggable CRUD UI library for rapid application development. * [Metrics](http://metrics.codahale.com/) - Create your own metrics or add them for supported frameworks, then expose them via JMX or HTTP, or send them to a database. * [OpenRefine](http://openrefine.org/) - Tool for working with messy data: cleaning, transforming, extending it with web services and linking it to databases. -* [RoboVM](http://www.robovm.org/) - Write native iOS apps in Java. +* [RoboVM](http://www.robovm.org/) - Commercial framework with a free trial to write native iOS apps in Java. ## Natural Language Processing From 9afb2e18f8a6a1ae561150773a967477d4a3e222 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Apr 2015 20:20:39 +0200 Subject: [PATCH 71/76] Changed Guava URL to GitHub repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 595a077..57f9bf2 100644 --- a/README.md +++ b/README.md @@ -394,7 +394,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [args4j](http://args4j.kohsuke.org/) - Command line arguments parser * [Apache Commons](http://commons.apache.org/) - Provides different general purpose functions like configuration, validation, collections, file upload or XML processing. -* [Guava](http://code.google.com/p/guava-libraries/) - 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. * [javatuples](http://www.javatuples.org/) - Does what it says, although the concept of tuples in general is debatable. * [JGraphT](http://jgrapht.org/) - A graph library that provides mathematical graph-theory objects and algorithms. From c59e2bbae4c2149e24301eef22599102b2c00cfc Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Apr 2015 20:23:00 +0200 Subject: [PATCH 72/76] Changed crawler4j URL to GitHub repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 595a077..97a52bd 100644 --- a/README.md +++ b/README.md @@ -403,7 +403,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that analyze the content of websites.* * [Apache Nutch](http://nutch.apache.org/) - Highly extensible, highly scalable Web crawler for production environment. -* [Crawler4j](https://code.google.com/p/crawler4j/) - Simple lightweight alternative. +* [Crawler4j](https://github.com/yasserg/crawler4j) - Simple lightweight alternative. * [JSoup](http://jsoup.org/) - Scrapes, parses, manipulates and cleans HTML. ## Web Frameworks From 0ccb32190814287056c745d1a0ef77d64bffe9af Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Apr 2015 20:36:17 +0200 Subject: [PATCH 73/76] Changed Gson URL to GitHub repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 595a077..c6c68c2 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o *Libraries that simplify JSON processing.* -* [Gson](https://code.google.com/p/google-gson/) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. +* [Gson](https://github.com/google/gson) - Serializes Java objects to JSON and vice versa. Good performance with on-the-fly usage. * [Jackson](http://wiki.fasterxml.com/JacksonHome) - Similar to GSON but has performance gains if you need to instantiate the library more often. ## JVM and JDK From d6f4a51be6eff00a96f1dc76c9e43b8f6fae1304 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Thu, 16 Apr 2015 20:37:25 +0200 Subject: [PATCH 74/76] Changed Mockito URL to GitHub repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 595a077..c649f45 100644 --- a/README.md +++ b/README.md @@ -382,7 +382,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. * [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM. * [JUnit](http://junit.org/) - Common testing framework. -* [Mockito](http://code.google.com/p/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. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. * [Selenium](http://docs.seleniumhq.org/) - Portable software testing framework for web applications. * [TestNG](http://testng.org/) - Testing framework. From b1eec4c7769f99071350187a15be3ce5bf43e97f Mon Sep 17 00:00:00 2001 From: atomfrede Date: Tue, 21 Apr 2015 20:38:55 +0200 Subject: [PATCH 75/76] Add jmockit to testing frameworks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 595a077..3a1a63b 100644 --- a/README.md +++ b/README.md @@ -381,6 +381,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [AssertJ](http://joel-costigliola.github.io/assertj/) - Fluent assertions that improve readability. * [Hamcrest](http://hamcrest.org/JavaHamcrest/) - Matchers that can be combined to create flexible expressions of intent. * [JMH](http://openjdk.java.net/projects/code-tools/jmh/) - Microbenchmarking tool for the JVM. +* [JMockit](http://jmockit.org/) - The Mock Anything Toolkit for Java, mocks static, final methods and more. * [JUnit](http://junit.org/) - Common testing framework. * [Mockito](http://code.google.com/p/mockito/) - Creation of test double objects in automated unit tests for the purpose of TDD or BDD. * [Selenide](http://selenide.org/) - Concise API around Selenium to write stable and readable UI tests. From 368a4a42f7e5ec33a3aaca259bff1ef9ad280545 Mon Sep 17 00:00:00 2001 From: Kristoffer Sjogren Date: Tue, 21 Apr 2015 21:59:34 +0200 Subject: [PATCH 76/76] immutables --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 595a077..6c0d528 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ A curated list of awesome Java frameworks, libraries and software. Inspired by o * [AspectJ](https://eclipse.org/aspectj/) - Seamless aspect-oriented programming extension. * [Auto](https://github.com/google/auto) - Collection of source code generators. * [DCEVM](http://dcevm.github.io/) - Modification of the JVM that allows unlimited redefinition of loaded classes at runtime. +* [Immutables](http://immutables.github.io/) - Scala-like case classes in standard Java. * [JRebel](http://zeroturnaround.com/software/jrebel/) - Commercial software that instantly reloads code and configuration changes without redeploys. * [Lombok](http://projectlombok.org/) - Code-generator which aims to reduce the verbosity of Java. * [RxJava](https://github.com/Netflix/RxJava) - Library for composing asynchronous and event-based programs using observable sequences from the JVM.