Добрый день, данная статья о моем opensource pet проекте на github'e useful-java-links, в котором я собрал большое количество ссылок на полезные открытые (и некоторые закрытые) проекты. Этот проект существует на двух языках сразу русском и английском, которые являются полными дубликатами друг друга (кроме отсутствия ссылок на русскоязычные ресурсы в английской версии).
Данный проект — форк такого проекта как awesome-java, плюс добавлены все не мобильные проекты github'a c количеством звезд более 390 (то что описано в этой статье), все проект Apache верхнего уровня, ряд других ссылок, плюс ссылки на русскоязычное видео из этой статьи. В целом, количество полезных ссылок примерно в два раза больше чем в awesome-java. Есть строгая структура разделов, сразу дана информация об лицензиях и возможности использования данной лицензии в закрытом продукте (то есть строгость копилефта и возможность линкования с закрытыми проектами) и количество звезд набранным каждым проектом.
Буду очень благодарен за любые исправления и дополнения в данный сборник (добавить можно как в комментариях к статье, так и просто на github'e ). И за помощь в распространении ссылок на данный проект как среди русскоязычных, так и среди англоязычных (так как версия на английском полностью аналогична русской). В этой статье даны все ссылки, однако обновляемая версия все-таки будет на github'e.
1. JPA и Hibernate в вопросах и ответах
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие)
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6 Список полезных ссылок для Java программиста
- 1. Фреймворки и библиотеки общего назначения
- 2. Вебфреймворки (Web Frameworks)
- 3. Создания GUI
- 4. Создание бизнес приложений
- 5. Игровые фреймворки (Game Development)
- 6. Полезные библиотеки
- Коллекции, структуры данных и методы работы с ними
- Date and Time
- Dependency Injection и AОП фреймворки
- Работа с консолью и командной строкой
- Функциональное программирование
- Реактивное программирование
- Безопасность и авторизация
- Высокая производительность
- Сериализация (serializer) и работа с файлами (I/O)
- Логирование
- Bean Mapping and Validation
- 7. Изображения и Видео
- 8. Кодогенерация и изменения байт кода
- 9. Фреймворки для создания распределенных и отказоустойчивых приложений
- 10. Наука
- 11. OSGI
II. Базы данных, поисковые системы, Big data и машинное обучение
- 1. Базы данных и хранилища
- 2. Структуры данных
- 3. Поисковые системы
- 4. Клиенты и драйверы баз данных
- 5. Маппинг объектов в базы данных (ORM и т. п.)
- 6. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)
- 7. Большие данные (big data)
- 8. Машинное обучение и нейроные сети (Machine Learning)
III. Работа с сетью и интеграция
- 1. Веб сервера и сервера приложений (web server & application server)
- 2. Сеть и сокеты
- 3. Работа с сообщениями (message), очереди сообщений и прием и отправка сообщений
- 4. Работа с http и ssh
- 5. Работа с rest
- 6. Интеграционные фреймворки
- 7. Парсеры (Parser) и «веб-пауки»/краулеры (web-crawling)
- 8. Работа с Json
- 9. CSV
- 10. Интеграция с Api разных систем (соц. сетей и т. п.)
- 11. Работа с биткойном
- 12. Облачные системы
- 13. Cluster Management
- 14. Работа с документами (XLS, DOC, PDF и т.п.)
- 15. Работа с нативным API разных ОС
- 16. XML и SOAP
- 17. Интеграция с сервисами геопозиционирования
V. Инструменты для упрощения разработки
- 1. IDE
- 2. Инструменты и библиотеки для сборки, конфигурирования и развертывания Java приложений
- 3. Инструменты для оптимизации производительности
- 4. Анализ исходного кода
- 5. Monitoring
- 6. Переопределение загруженных классов
- 7. Прочее
VI. Языки программирования и приложения, написанные на Java
- 1. Языки программирования, написанные на Java
- 2. Утилиты для других языков программирования, написанные на Java
- 3. javascript
- 4. Фреймворки для создания парсеров, интерпретаторов и компиляторов кода
- 5. Приложения и готовые продукты написанные на Java
- 6. Игры, написанные Java
- 1. Примеры исходного кода на java
- 2. Результаты сравнения производительности кода на Java (benchmark)
- 3. Работа с git & github
- 4. Устаревшие, но ещё использующиеся, проекты
- 5. Прочее
- VIII Видео доклады и лекции о Java
I. Фреймворки и библиотеки
1. Фреймворки и библиотеки общего назначения
- Spring framework Spring — наверное, самый распространенный фреймворк Java в мире. Лицензия: Apache 2, рейтинг github'а — 5921, на stackoverflow — более 100 тыс.вопросов.
- Google Guava Очень популярная библиотека от гугла, расширяющая возможности JDK, в том числе добавляющая новые коллекции, добавляющая элементы функционального программирования в Java, кэширование, функции работы с примитивами, библиотеки работы с многопоточностью, аннотациями, строками, I/O, и т.п. Работает с JDK1.6 и выше.. Лицензия: Apache 2, рейтинг github'а — 3813.
- Apache Commons — Реализует различные функции, такие как конфигурирование, валидирование, коллекции, загрузка файлов или работу с XML, Лицензия: Apache 2
- Spring Boot — система быстрого создания конфигурации из типовых шаблоннов (шаблонов настройки orm, DI, Spring MVC и т.п.). Лицензия: Apache 2, рейтинг github'а — 2386.
- Lombok Очень горячие добавления для языка программирования Java. Генератор кода, целью которого является сокращения реализации рутинного кода. Лицензия: MIT, рейтинг github'а — 1540.
- Puniverse Quasar Quasar это библиотека, добавляющая Fibers (высокопроизводительные легкие threads), Go-подобные channels и Erlang-подобные actors в JVM. Лицензия: Eclipse Public v1.0/GNU Lesser 3, рейтинг github'а — 1091.
- Rootbeer GPU Compiler Rootbeer GPU Compiler — программирование с использованием GPU на Java. Лицензия: MIT, рейтинг github'а — 972.
- Oblac Jodd Jodd это набор Java инструментов и микро фреймворк, компактный, но мощный. Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. Лицензия: BSD 2, рейтинг github'а — 912.
- Google Jimfs Jimfs это in-memory файловая система для Java 7 и выше, реализующая API абстрактной файловой системы, описанный в java.nio.file… Лицензия: Apache 2, рейтинг github'а — 752.
- Spring batch Spring Batch это легковесный, всеобъемлющий фреймворк, предназначенный для разработки надежных приложений, работающих по расписанию (batch applications), жизненно важных для ежедневных операций корпоративных систем… Лицензия: Apache 2, рейтинг github'а — 448.
- Greenrobot common greenrobot-common — маленькая библиотека добавляющая общие утилиты и классы (например, классы работы со stream-based IO, файлами, строками, датой/временем и hash map/hash set с примитивными типами) для Android и Java проектов.. Лицензия: Apache 2, рейтинг github'а — 419.
- Kilim Легковесные потоки для Java с обменом сообщениями, nio, http и поддержкой расписания. Лицензия: MIT, рейтинг github'а — 517.
- Apache Isis Apache Isis это фреймворк для разработки rapidly developing domain-driven приложений на in Java. Лицензия: Apache 2.
- Apache Zest Apache Zest это фремворк для разработки Composite Oriented Programming для domain centric приложений. Это концепция включает вв себя такие концепции как: Aspect Oriented Programming, Dependency Injection и Domain Driven Design. Лицензия: Apache 2.
2. Вебфреймворки (Web Frameworks)
Вебфреймворки (Web Frameworks)
Вебфреймворки служат для реализации вебприложений и обработки взаимодйствия service-side и frontend-side вебприложений.
К оглавлению
- Play Framework Play Framework позволяет легко разрабатывать расширяемые вебприложения на Java и Scala. https://www.playframework.com/. Лицензия: Apache 2, рейтинг github'а — 6771.
- Spark Фреймворк, вдохновленный фреймоворком Sinatra, для java. Лицензия: Apache 2, рейтинг github'а — 2596.
- Atmosphere — фреймворк для разработки клиентской и серверной части асинхронных веб.приложений, поддерживающий разные серверны, браузеры и плагины. Лицензия: CDDL1 / Apache 2, рейтинг github'а — 2235.
- Grails — вебфреймворк. https://grails.org/ Лицензия: Apache 2, рейтинг github'а — 1386.
- Ninja это полноценный веб фреймворк для Java. Надежный, быстрый и очень продуктивный.http://www.ninjaframework.org/. Лицензия: Apache 2, рейтинг github'а — 894.
- Electronicarts Orbit — современный фреймворк для JVM языков, который упрощает создание и обслуживание распределенных и масштабируемых онлайн сервисов. Лицензия: BSD 3, рейтинг github'а — 741.
- Ratpack это простой, мощный набор библиотек для создания высокопроизводительных вебприложений. http://ratpack.io/ Лицензия: Apache 2, рейтинг github'а — 662.
- Vaadin — фреймворк для разработки веб-приложений, основанный на GWT, с server-side моделью программирования и состоянием UI на сервере.https://vaadin.com/ Лицензия: Apache 2, рейтинг github'а — 398.
- ZK framework Java фреймворк для создания высокопроизводительных веб и мобильных приложений… Лицензия: GNU Lesser, рейтинг github'а — 161.
- Apache Tapestry — Компонентно-ориентированный фреймворк для создания динамичных, надежных, легко маштабируемый веб приложений, Лицензия: Apache 2.
- Apache Wicket — Компонентно-ориентированный вебфреймворк, похожий на Tapestry с stateful GUI, Лицензия: Apache 2.
- Google Web Toolkit — Набор инструментов разработки, включающий компилятор из Java кода в JavaScript для создания кода, исполняемого в браузере, XML парсер, API для RPC, интеграция с JUnit, поддержка разных языков и локалей и виджеты для создания GUI, Лицензия: Apache 2.
- Pippo — Небольшой, модульный Sinatra-подобный микрофреймворк, Лицензия: Apache 2.
- Spring MVC — Предоставляет много различных возможностей для разработки вебприложений от dependency injection до аспектно-ориентированного программирования и поддержки security, Лицензия: Apache 2.
- JavaServer Faces — Открытая реализация JSF стандарта от Oracle, Лицензия: GNU 2 или CDDL 1.0
- JavaServer Pages — Популярная Java технология шаблонов для создания вебсайтов с реализацией пользовательских тегов, Лицензия: GNU 2 или CDDL 1.0
- Apache Cocoon Separation of concerns и component-based вебфремворк. Лицензия: Apache 2.
- Apache Struts Apache Struts это открытый фреймворк для создания Java веб приложений. Лицензия: Apache 2.
- Apache Sling Иновационный веб фреймворк основанный на JCR и OSGi. Лицензия: Apache 2.
- Apache MyFaces Первая открытая реализация JavaServer Faces. Лицензия: Apache 2.
- Apache Pivot Apache Pivot это открытая платформа для создания installable Internet applications (IIAs) [другое название rich Internet application]. Лицензия: Apache 2.
- Apache Turbine Turbine это основанный на сервлетах фреймворк, который позволяет Java developers быстро разрабатывать вебприложения. Лицензия: Apache 2.
- Apache OODT Apache OODT это компонентный вебфреймворк. Лицензия: Apache 2.
Библиотеки для Web разработки
- Tobie ua-parser много языковое портирование библиотеки для парсенга параметров user agent браузера. Лицензия: Apache 2/MIT/Perl, рейтинг github'а — 1497.
- Ghost Driver это реализация Remote WebDriver Wire протокола, использующая PhantomJS как бэкенд. Лицензия: BSD 2, рейтинг github'а — 1179.
- B3log Solo — система управления блогами на Java. Лицензия: Apache 2, рейтинг github'а — 519.
- Baasbox это проект для создания backend для мобильных и веб приложений. Лицензия: ?, рейтинг github'а — 499.
- Kolorobot Spring MVC 4 Quickstart Maven Archetype — проект-шаблон (архитип) для Maven'a для быстрого создания проектов вебприложений Spring MVC 4. Содержит Spring MVC 4, Servlet 3.0, Thymeleaf, Bootstrap, JPA 2.0, MongoDB, JUnit/Mockito, Spring Security 3.2. Лицензия: ?, рейтинг github'а — 480.
- Gargl — Generic API Recorder and Generator Lite (произносится "Gargle") — инструмент для автоматизации любого вебсайта, позволяет записывать любые запросы к сайту и превращать их в повторно используемый код на любом из языком программирования. Лицензия: MIT, рейтинг github'а — 462.
- Liferay plugins — набор плагинов для Liferay портала. Лицензия: GNU Lesser 2.1, рейтинг github'а — 444.
- Netflix Ribbon это библиотека для создания load balancers. Лицензия: Apache 2, рейтинг github'а — 410.
- Gwt bootstrap это библиотека объединяющая виджеты из Twitter Bootstrap и возможности Google Web Toolkit. Лицензия: Apache 2, рейтинг github'а — 409.
- Netflix Zuul это сервис (edge service), обрабатывающий все запросы от всех устройств и вебсайтов к backend всех Netflix потоковых приложений, он обеспечивает динамическую маршрутизацию, мониторинг, отказоустойчивость и безопасность… Лицензия: Apache 2, рейтинг github'а — 407.
- PrimeFaces — JSF фреймворк который имеет как свободную, так и комерческую версию с полноценной поддержкой. Предоставляет несколько frontend компонентов, Лицензия: Apache 2.
- Spring Boot — Микрофреймворк для упрощения разработки новых Spring приложений, Лицензия: Apache 2.
- CSSEmbed это небольшая программ/библиотека для автоматического добавления URIs в CSS files. Лицензия: MIT, рейтинг github'а — 407.
- Athou commafeed RSS reader, основанный Dropwizard и AngularJS, вдохновленный Google Reader. Лицензия: Apache 2, рейтинг github'а — 1226.
- Apache Any23 Anything To Triples (Any23) это библиотека, вебсервис и консольный инструмент для отображения в RDF формате различных данных полученных из веб'а. Лицензия: Apache 2.
- Apache Forrest Apache Forrest это фреймворк для представления данных из разных форматов. Лицензия: Apache 2.
Template Engine
Инструменты для замены выражений в шаблонах на реальные данные.
- Apache Velocity — Работает с шаблонами для генерации HTML страниц, emails или даже кодогенерация в целом, Лицензия: Apache 2.
- Apache FreeMarker — Библиотека поддережки универсальный шаблонов без тяжелых или запутанных зависимостей на другие библиотеки, Лицензия: Apache 2.
- Handlebars.java — Семантически подобен шаблонам Mustache, но с меньшим количеством бизнес логии в шаблонах, Лицензия: Apache 2.
- Thymeleaf — Цель заменять JSP и работать с XML файлами в целом, Лицензия: Apache 2.
- Mustache.java — портирование Mustache.js (систему создания и использования веб.шаблонов с минимальной бизнес логикой) для Java. Лицензия: Apache 2, рейтинг github'а — 733.
- Handlebars.java это портирование Handlebars на Java, Handlebars система работы с шаблонами Mustache. Лицензия: Apache 2, рейтинг github'а — 451.
- Apache Tiles Apache Tiles это templating фреймворк, упрощающий разработку веб приложений. Лицензия: Apache 2, рейтинг github'а — 451.
CMS и content management
- Apache Stanbol Программные компоненты для semantic content management. Лицензия: Apache 2, рейтинг github'а — 451.
- Apache JSPWiki Wiki движок на стандартных J2EE компонентах (Java, servlets, JSP). Лицензия: Apache 2, рейтинг github'а — 451.
- Apache Portals Движок создания надежного, полностью функционального портала для разных платформ и языко программироваия. Лицензия: Apache 2.
- Apache Roller Apache Roller это полностью функциональный, многопользовательский блог движок и сервер, подходящих для самых разных сайтов блогов. Лицензия: Apache 2, рейтинг github'а — 451.
- Apache Chemistry Apache Chemistry это открытая реализация спецификации Content Management Interoperability Services (CMIS) для обмена данными между различными CMS. Лицензия: Apache 2.
3. Создания GUI
Библиотеки для создания интерфейс пользователя (кроме веб)
- JavaFX — Правопреемник Swing, Лицензия: Oracle, проприетарная.
- Scene Builder — Визуальный инструмент разработки GUI для приложений JavaFX Лицензия: Oracle, проприетарная.
- SWT — The Standard Widget Toolkit (SWT) это набор бибилиотек и инструментария для создания графических виджетов в платформе Java, Лицензия: Eclipse Public License v1.0.
- Lanterna — Легковесная библиотека, реализующая консольно-текстовый GUI, похожий на curses, Лицензия: LGPL 2.1.
- Gephi — Кросплатформенная система для визуализации, изменения и управления большими графами, Лицензия: GNU 3 или CDDL 1.0
4. Создание бизнес приложений
Фреймворки и библиотеки для создания бизнес приложений на Java
К оглавлению
- Codecademy EventHub — позволяет анализировать бизнес события, чтобы получать KPI, conversion rate и т. п. Бизнес метрики событий. Лицензия: MIT, рейтинг github'а — 1043.
- Killbill — свободная платформа билинга и проведения платежей. Лицензия: Apache 2, рейтинг github'а — 902.
- Activiti это легковесная система управления бизнес процессами (Business Process Management (BPM) Platform ). Лицензия: Apache 2, рейтинг github'а — 861.
- Liferay Portal это свободная вебплатформа для построения бизнес приложений. Лицензия: GNU Lesser 2.1, рейтинг github'а — 739.
- Broadleaf Commerce — eCommerce фреймворк для крупных предприятий, основанный на Spring. Лицензия: Apache 2, рейтинг github'а — 518.
- Droolsjbpm Drools это приложение Business Rules Management System (BRMS), которое реализует Business Rules Engine (BRE), механизма авторизации, управления правилами (rules), управление приложением (Drools Workbench) и плагин для разработки под Eclipse IDE… Лицензия: Apache 2, рейтинг github'а — 421.
- Spring Roo — фреймворк с открытым исходным кодом для быстрого создания бизнес-приложений на Java. Полученные в результате приложения используют общие технологии Java, такие как Spring Framework, Java Persistence API, JSP, Apache Maven и AspectJ. Spring Roo является частью проекта Spring… Лицензия: Apache 2, рейтинг github'а — 399.
- Apache OFBiz Apache OFBiz (The Apache Open For Business Project) это открытый и свободный фреймворк для автоматизации бизнес процессов больших предприятий, включает в себя компоненты ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), E-Business / E-Commerce, SCM (Supply Chain Management), MRP (Manufacturing Resource Planning), MMS/EAM (Maintenance Management System/Enterprise Asset Management), POS (Point Of Sale). License: Apache 2.
- Apache Portals Движок создания надежного, полностью функционального портала для разных платформ и языко программироваия. Лицензия: Apache 2.
- Apache ODE Apache ODE это реализация WS-BPEL спецификации, которая позволяет описывать бизнес процессы и веб сервисы для создания enterprise приложений. Лицензия: Apache 2.
5. Игровые фреймворки (Game Development)
- libgdx Кросплатформенный фреймворк для разработки игр на основе OpenGL (ES), работает под Windows, Linux, Mac OS X, Android, iOS и в браузерах с WebGL. . Лицензия: Apache 2, рейтинг github'а — 6579.
- Disunity Экспериментальный набор инструментов для Unity asset и asset bundle files. Лицензия: unlicense.org, рейтинг github'а — 828.
- LibGDX/LWJGL lwjgl-basics это минималистская shader-based библиотека для создания 2D LWJGL sprite игр.https://libgdx.badlogicgames.com/. Лицензия: ?, рейтинг github'а — 656.
- jMonkeyEngine jMonkeyEngine это 3D игровой движок для Java разработчиков. http://jmonkeyengine.org/ Лицензия: BSD 3, рейтинг github'а — 624.
- Jetserver Jetserver высокоскоростной nio сокет Java сервер для multiplayer игр созданный используя Netty и Mike Rettig Jetlang. Лицензия: MIT, рейтинг github'а — 484.
- LWJGL 2.X LWJGL 2.X — Легковесная игровая библиотека на Java. http://www.lwjgl.org/ Лицензия: BSD 3, рейтинг github'а — 394.
- Ardor3D — 3D игровой движок построенный на jMonkeyEngine 2.0.
Лицензия: zlib. - DimensioneX Multiplayer Engine — Игровой движок псевдо-3D броузерных игр. Известные игры: Underworld Online. Лицензия: GPL
- PlayN Игровой фреймворк для Java работающий на Windows, Linux, HTML5, Android и iOS. Известные игры: Angry Birds Chrome. Лицензия: Apache 2.0. github star — 97.
- Env3D — 3D игровой движок построенный на jMonkeyEngine 2.0. Лицензия: GPL
- Jake2 Java порт игрового движка Quake II. Лицензия: GPL
- Jogre — JOGRE (Java Online Gaming Real-time Engine) открытый, онлайн, движок реального времени с API работающим только на Java. Лицензия: GPL
- Elflight Engine — платный движок для веб игр. Лицензия: Proprietary
6. Полезные библиотеки
Коллекции, структуры данных и методы работы с ними
- Google Guava Очень популярная библиотека от гугла, расширяющая возможности JDK, в том числе добавляющая новые коллекции и методы работы с ними. Работает с JDK1.6 и выше.. Лицензия: Apache 2, рейтинг github'а — 3813.
- Apache Commons Collections — Реализует различные дополнительный коллекции и метода работы с ними. Лицензия: Apache 2
- Gs collections Дополнение или замена стандартных Java коллекций и методов работающих с коллекциями. Переименована в Eclipse Collections. Лицензия: Apache 2, рейтинг github'а — 1201.
- Eclipse Collections (в прошлом Gs collections). Дополнение или замена стандартных Java коллекций и методов работающих с коллекциями. Лицензия: Eclipse Public 1.0., рейтинг github'а — 1201.
- javatuples — Кортежи (Tuples), Лицензия: Apache 2
- Immutables — Добавлет Scala-подобные классы, Лицензия: Apache 2
- OpenHFT Chronicle Queue Chronicle Queue работает так же как обычная Java очередь, однако каждое события сохраняется на жесткий диск. Лицензия: GNU Lesser 3.0, рейтинг github'а — 440.
- fastutil — Быстрые и компактные типобезопасные коллекции, Лицензия: Apache 2.
- HPPC — Фреймворк по работе с примитивными коллекциями, Лицензия: Apache 2.
- Koloboke — Фреймворк по работе с быстрыми Hash sets и hash maps, Лицензия: Apache 2.
- Trove — Библиотека работы с примитивными коллекциями, Лицензия: GNU Lesser 2.1.
Date and Time
- Библиотеки для обработки даты и времени.*
- Almanac Converter — простые преобразования между различными календарными системами, Лицензия: Apache 2
- Joda-Time — Joda Time это широко распространенная замена стандартных классов date и time в Java. Де факто стандартная библиотеки даты и времени до появления Java 8, Лицензия: Apache 2, рейтинг github'а — 1442.
- ThreeTenBP — Порт с JSR 310 (java.time package) от автора Joda-Time, Лицензия: BSD 3
- Time4J — Продвинутая бибилоека работы с датой и временем, Лицензия: GNU Lesser 2.1
- Ocpsoft Prettytime PrettyTime это библиотека форматирования Java date в выражение на натуральном языке и в формате принятом в социальных сетях (Digg, Twitter, and Facebook) и более чем на 30 человеческих языках. Лицензия: Apache 2, рейтинг github'а — 394.
Dependency Injection и AОП фреймворки
Бибилиотеки и фреймворки, которые реализуют парадигму Inversion of Control.
- [Spring Framework](https://github.com/spring-projects/spring-framew ork) Spring — наверное, самый распространенный фреймворк Java в мире, которые в том числе реализует Dependency Injection. Лицензия: Apache 2, рейтинг github'а — 5921.
- Dagger и Dagger2 Быстрый и легковесный фреймворк для реализации dependency injector для Android и Java, работающий во время компиляции, а не во времени выполнения, и не использующий рефлексию. Реализует Java спецификацию JSR-330, описывающую dependency injector. Лицензия: Apache 2, рейтинг github'а — 3607, на stackoverflow — 800 вопросов.
- Google Guice — Guice (произносится 'juice') это легковесный dependency injection фреймворк для Java 6 и выше, созданный Google. Легкий, но мощный фреймворк, из которого получился Dagger. Лицензия: Apache 2, рейтинг github'а — 1881.
- Apache DeltaSpike — фреймворк, расширяющий CDI, Лицензия: Apache 2
- HK2 — Легкий и динамичный dependency injection фреймворк, GNU 2/ CDDL 1.0
- AspectJ — Аспект-ориентированное расширение, легко встраиваемое в существующие приложения, Лицензия: Eclipse Public 1.0
Работа с консолью и командной строкой
- jcommander Библиотека для парсинга параметров командных строк. http://jcommander.org/ Лицензия: Apache 2, рейтинг github'а — 445.
- Jline это java библиотека для работы с консолью (ввод, редактирование в emacs и vi режимах), так же как библиотеки Readline и Editline, однако при этом так как Jline почти полностью написана на Java является полностью платформонезависимой… Лицензия: BSD 4, рейтинг github'а — 396.
- args4j — Парсер командной строки, Лицензия: MIT
- CRaSH — Реализует интерпретатор командной строки (CLI) для запущенныз процессов, Лицензия: GNU Lesser 2.1
Функциональное программирование
- Библиотеки, реализующие функциональное программирование.*
- Cyclops — Добавляет монады, потоковые утилиты и такие возможности функционального программирования как: comprehensions, pattern matching, trampolines и многое другое, Лицензия: MIT
- derive4j — Процессор, работающий с Java 8 аннотациями, и фреймворк для реализации: deriving algebraic data types constructors, pattern-matching, morphisms и т.п, Лицензия: GNU 3
- Fugue — Функциональное расширение библиотеки Guava, Лицензия: Apache 2.
- Functional Java — Добавление функционального программирования в Java. Реализует большое количество простых и сложных видов абстракций для composition-oriented программирования, Лицензия: BSD 3, рейтинг github'а — 478.
- Javaslang — Библиотека для реализации функцуонального программирования которая реализаует persistent типы данных и functional control структоры, Лицензия: Apache 2.
- jOO? — Расширение для Java 8, которое стремиться исправить недоработки стандартной реализации лямбда в Java 8, реализующе большое количество нереализованных возможностей функционального программирования и предоставляет богатый набор возможностей к стандартному Stream API, Лицензия: Apache 2.
- Retrolambda Поддержка лямба выражений из Java 8 в Java 7, 6 и 5. Лицензия: Apache 2, рейтинг github'а — 1059.
- TotallyLazy Библиотека функционального программирования для работы с ленивыми структурами данных (например, такими как Clojure's), в частности с последовательностями (map, filter, fold/reduce...), есть Option, Either, Hamcrest matchers as predicates, ML family of function / method names (Standard ML, oCaml, F#, Scala, Haskell) и т.д., Лицензия: Apache 2, рейтинг github'а — 76.
Реактивное программирование
Библиотеки для разработки reactive приложений.
- ReactiveX RxJava библиотека для реализации асинхронного и событийного программирования на основе расширения паттерна Observer для разных языков от ReactiveX.. Лицензия: Apache 2, рейтинг github'а — 6279, на stackoverflow — 1814 вопросов.
- Eclipse Vert.x Событийно-ориентированный полиглотный фреймворк для JVM от Eclipse, позволяет писать одновременно на JavaScript, Ruby, Groovy, Java и Python, встраивается в текущие проекты на Java, упрощает мультипоточность. содержит event bus и т.д. и т.п. . Лицензия: Eclipse Public 1 / Apache 2, рейтинг github'а — 3743, на stackoverflow — 728 вопросов.
- Reactive Streams — Реализует стандарт для асинхронной потоковой обработки без проблем с блокировками. Лицензия: Public Domain (CC0), рейтинг github'а — 769.
- Reactor — Библиотеки для разработки reactive fast-data приложений. Reactor это полнофункциональная библиотека для разработки быстрых data-driven приложений на JVM. Она предоставляет абстракции для Java, Groovy, Clojure и других JVM языков для создания и обработки событий (event) и простой разработки data-driven приложений. Лицензия: Apache 2.
Безопасность и авторизация
- Scribe Java — простая OAuth библиотека для Java. Лицензия: MIT, рейтинг github'а — 2731.
- Spring security oauth — добавлении методов авторизации OAuth1(a) и OAuth2 для Spring вебприложений… Лицензия: Apache 2, рейтинг github'а — 916.
- Jasig CAS (Central Authentication Service) — обеспечивает стандартный механизм аутентификация пользователей для веб приложений. Лицензия: Apache 2, рейтинг github'а — 740.
- Spring security — Spring фреймворк для авторизации и управлению пользователями и безопасностью приложений. Лицензия: Apache 2, рейтинг github'а — 732.
- Play Authenticate — аутентификацонный плагин для Play фреймворка. Лицензия: Apache 2, рейтинг github'а — 646.
- Apache Shiro — Обеспечивает аутентификацию, авторизацию, шифрование и управление сеансами, Лицензия: Apache 2.
- Bouncy Castle — Универсальная криптографическая библиотека, содержит JCA провайдер, широкий спектр функций по работе с PGP/SMIME, Лицензия: MIT.
- Cryptomator — Мультиплатформенное клиент-ориентирование шифрование файлов в облаке, Лицензия: MIT.
- Google Keyczar — Легкий в использовании, но безопасный фреймворк шифрования с управлением версиями, Лицензия: Apache 2.
- Keycloak — Интеграция с SSO и IDM, как для приложений, работающих в браузере, так и для RESTful веб сервисов, Лицензия: Apache 2.
- PicketLink — Umbrella проект для обеспечения безопасности и индетификации пользователей, Лицензия: Apache 2.
- Santuario Библиотека реализующая XML Digital Signature спецификацию и XML Encryption спецификацию. Лицензия: Apache 2.
- Apache Oltu Реализация OAuth протокола для Java. Лицензия: Apache 2.
- Apache Syncope Apache Syncope это открытая система для управления цифровыми идентификторами в enterprise приложениях. Лицензия: Apache 2.
Высокая производительность
Все для высокопроизводительных решенией от коллекций до специальных библиотек.
К оглавлению
- Agrona — Структуры данных и функции, которые будут полезны для высоконагруженных приложений, Лицензия: Apache 2.
- Disruptor — библиотека, обеспечивающая межпоточный обмен сообщениями, Лицензия: Apache 2.
- fastutil — Быстрые и компактные типобезопасные коллекции, Лицензия: Apache 2.
- GS Collections — Фреймворк коллекций основанный на идеях из Smalltalk, Лицензия: Apache 2.
- HPPC — Фреймворк по работе с примитивными коллекциями, Лицензия: Apache 2.
- Javolution — Библиотека для систем реального времени и встроенных систем, Лицензия: BSD 2.
- JCTools — Набор функций по работе с многопоточности, которые на данный момент отсутствуют в JDK, Лицензия: Apache 2.
- Koloboke — Фреймворк по работе с быстрыми Hash sets и hash maps, Лицензия: Apache 2.
- Trove — Библиотека работы с примитивными коллекциями, Лицензия: GNU Lesser 2.1.
Сериализация (serializer) и работа с файлами (I/O)
- Square Okio Современный I/O API для Java. Лицензия: Apache 2, рейтинг github'а — 1243.
- Square type Легкий, быстрый, транзакционный, файловый FIFO для Android и Java… Лицензия: Apache 2, рейтинг github'а — 1073.
- Simple Binary Encoding (SBE) это реализация кодирования и декодирования сообщений приложения бинарный формат для систем требующих очень быстрое время ответа. Лицензия: Apache 2, рейтинг github'а — 612.
- MessagePack — реализация быстрой сериализации в компактный бинарный формат для Java. Лицензия: Apache 2, рейтинг github'а — 448.
- FlatBuffers — Библиотека сериализации, оптимизированная на сокращение затрат памяти, которая предоставляет доступ к сериализованным данным без разархивирования и парсинга, Лицензия: Apache 2.
- FST — JDK совместимая высокопроизводительная библиотека сериализации, Лицензия: Apache 2.
- Kryo — Быстрый и эффекстивный фреймворк сериализации, Лицензия: BSD 3.
Логирования
- Graylog2 server свободная и открытая система логирования. Лицензия: GNU 3, рейтинг github'а — 1308.
- logback надежный, универсальный, быстрый и гибкий фреймворк для логировани в Java. http://logback.qos.ch/. Лицензия: Eclipse Public 1.0/GNU Lesser 2.1, рейтинг github'а — 497.
- slf4j Библиотека предлагает Facade логирования для простого переключения между разными библиотеками логирования (java.util.logging, logback, log4j и т. п.). http://www.slf4j.org/ Лицензия: MIT, рейтинг github'а — 384.
- Apache Log4j 2 — Полностью пересмотренная вторая версия Log4j с мощными плагинами и легко настраиваемой архитектурой, Лицензия: Apache 2.
- graylog — Открытый агрегатор, подходящий для сложных ролей пользователей и системы привилегий, Лицензия: GNU 3.
- Elastic Kibana — Анализ и визуализация логов, некоторые возможносте предоставляются только платно, Лицензия: Apache 2.
- Elastic Logstash — Инструменты для управления файлами логов, Лицензия: Apache 2.
- Metrics — Собирает метрики через JMX или HTTP и может записать их в базу, Лицензия: Apache 2.
- tinylog — Легкий фреймворк логировани со статическими классами логирования, Лицензия: Apache 2.
Bean Mapping and Validation
Фреймворки, упрощающие маппинг одних типов данных в другие (или bean validation).
К оглавлению
- Dozer — Маппер, который копирует информацию из одного объекта в другой (создавая рекурсивную копию одного объекта в другом) используя аннотации, API или XML конфигурацию, Лицензия: Apache 2, рейтинг github'а — 421.
- MapStruct — Код генератор, который упрощает маппинг между разными типами данных, основываясь на конфигурации маппинга, Лицензия: Apache 2.
- ModelMapper — ModelMapper это интеллектуальная библиотека для автоматического маппинга одних объектов на другие, Лицензия: Apache 2.
- Orika — Orika это Java Bean маппинг фреймворк, который рекурсивно копирует (и при необходимости изменяет) информацию из одного объекта в другой, Лицензия: Apache 2.
- Selma — Stupid Simple Statically Linked Mapper. Selma это маппер построенный на аннотациеях классов, Лицензия: Apache 2.
- Apache BVal Apache BVal реализует спецификацию Java Bean Validation (JSR303). Лицензия: Apache 2.
7. Изображения и Видео
- Facebook Rebound Это Java библиотека которая моделирует поведение физики реального мира в вашем приложении. Лицензия: BSD, рейтинг github'а — 2219.
- Processing Исходный код для Processing Development Environment (PDE) — программному языку для обработки видео и графики. Лицензия: GNU 2, рейтинг github'а — 1896.
- JavaCV JavaCV использует конвертер Java-C++ JavaCPP Presets для простого использования библиотек для работы с компьютерным зрением (OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus, and flandmark) и реализует классы-утилиты для облегчения работы с этими библиотеками на платформе Java. Лицензия: Apache 2, рейтинг github'а — 503.
- imgscalr Простая и эффективная библиотека Java для масштабирования изображений основанная на чистом Java 2D. Лицензия: Apache 2, рейтинг github'а — 451.
- webcam-capture Данный проект позволяет получить доступ к USB вебкамере или remote IP / сетевой камере напрямую из Java кода. Лицензия: MIT, рейтинг github'а — 437.
- Thumbnailator — Thumbnailator это библиотека генерации высококачественных миниатюр для Java.
- zxing открытая разноформатная библиотека для обработки 1D/2D barcode изображений с реализацией на Java и портированием на другие языки. Лицензия: Apache 2, рейтинг github'а — 5314.
8. Кодогенерация и изменения байт кода
Libraries to manipulate bytecode programmatically.
К оглавлению
- Google Auto — коллекция генераторов исходного кода в Java… Лицензия: Apache 2, рейтинг github'а — 1442.
- Square Javapoet — библиотека для генерации исходных кодов классов Java. Лицензия: Apache 2, рейтинг github'а — 1057.
- Byte buddy — динамическая генерация кода в Java платформе. http://bytebuddy.net/ Лицензия: Apache 2, рейтинг github'а — 473.
- ASM — Универсальная, низкоуровневая библиотека для изменения байткода и анализа, Лицензия: BSD 3, Лицензия: Apache 2.
- Byteman — Изменение байткода во время выполнения используя DSL правила в основном для целей тестирования и отладки, Лицензия: LGPL 2.1.
- Javassist — Попытка упростить редактирование байткода,, Лицензия: Apache 2 or LGPL or later 2.1 or Mozilla Public License 1.1.
- ADT4J — JSR-269 код генератор для algebraic data types, Лицензия: BSD 3
- Auto — Коллекция генераторов исходного кода, Лицензия: Apache 2
- JHipster — генератор кода, которые позволяет создавить приложения основанные на Spring Boot и AngularJS, Лицензия: Apache 2
- cglib — Библиотека генерации байткода, Лицензия: Apache 2.
9. Фреймворки для создания распределенных и отказоустойчивых приложений
Библиотеки и фреймворки для создания распределенных и отказоустойчивых приложений.
К оглавлению
- Akka — Набор инструментов и среда выполнения для создания многопоточных, распределенных и устойчивых к ошибкам событийно-ориентированных приложений, Лицензия: Apache 2.
- Apache Storm — Система вычислений в режиме реального времени, Лицензия: Apache 2.
- Apache ZooKeeper — Системы координации для развертывания конфигураций, синхроизации и регистрации имен для больших распределенных систем, Лицензия: Apache 2.
- Alibaba Dubbo Dubbo это фреймворк для разработки распределенных приложений с возможностями передачи сообщений, кластеризации, работе с событиями, подписками и т. п. с высокопроизводительным RPC. Лицензия: Apache 2, рейтинг github'а — 1917.
- Netflix Curator Curator Framework это фреймворк для работы с Apache ZooKeeper сервером. Лицензия: Apache 2, рейтинг github'а — 1158.
- Axon Framework — Фреймворк для создания CQRS приложений, Лицензия: Apache 2.
- Hazelcast — Легко расширяемый in-memory datagrid, Лицензия: Apache 2.
- Netflix Hystrix — Предоставляет возможность создавать системы, устойчивые к ошибкам и с минимальным откликом. Библиотека, для корректной обработки отказов сервисов, исключительных ситуаций в распределенных системах, с помощью добавления в систему изолированных точек доступа к сторонним сервисам и распределенным системам, ограничением вероятности каскадных ошибок при отказе одного из сервисов и т.д., рейтинг github'а — 3571. Лицензия: Apache 2.
- JGroups — Набор инструментов для надежного обмена сообщениями и создания кластеров, Лицензия: Apache 2.
- Orbit — Виртуальные акторы (Virtual Actors), добавления дополнительного уровня абстракции к традиционных акторам, Лицензия: BSD 3.
- Quasar — Легковесные потоки и акторы (actors) для JVM, Лицензия: Eclipse Public License v1.0 или LGPL 3.0.
- Storm contrib storm-contrib это свободный репозиторий с модулями, использующими Storm. Они включают разные spouts/bolts для интеграции с другими системами (Redis, Kafka, MongoDB, etc), и код для решений типовых задач Storm разработчиков… Лицензия: Eclipse Public 1.0, рейтинг github'а — 504.
- JADE — Фреймворк и экосистема для разработки и отладки multi-agent систем, Лицензия: GNU Lesser 2.0
- Apache River Apache River фреймворк для разработки JINI сервисов. Лицензия: Apache 2.
- Apache Tuscany Apache Tuscany это фреймворк для разработки Service Component Architecture (SCA) приложений. Лицензия: Apache 2.
10. Наука
Библиотеки для научных расчетов и анализа.
К оглавлению
- DataMelt — Среда для научных расчетов, анализа и визуализаци данных, Лицензия: GNU 3.
- JGraphT — Графическая библиотека, которая предоставляет объект и алгоритмы из математической теории графов, Лицензия: Eclipse Public License или LGPL 2.1
- JScience — Предоставляет набор классов для работы с научными измерениями и объектами, Лицензия: BSD 2.
- Michael Thomas Flanagan's Java Scientific Library коллекция классов и библиотек для научных целей написанных Michael Thomas Flanagan. Лицензия: только для некомерческого использования, без права распостраненния исходного кода.
11. OSGI
- ACE — distribution фреймворк для OSGi систем и не только. Лицензия: Apache 2.
- Aries данный проект состоит из набора pluggable Java компонент для OSGi модели. Лицензия: Apache 2.
- Felix OSGi фреймворк. Лицензия: Apache 2.
- Karaf OSGi фреймворк для серверных приложений. Лицензия: Apache 2.
II. Базы данных, поисковые системы, Big data и машинное обучение
1. Базы данных и хранилища
- Thinkaurelius Titan — распределенная графическая база данных. Лицензия: Apache 2, рейтинг github'а — 2846.
- Apache Cassandra — зеркало для Apache Cassandra — база данных с высокой доступностью и высокой расширямостью и отличной производительностью. Лицензия: Apache 2, рейтинг github'а — 2155.
- Orientdb это первая база данных с множественной моделью и поддержкой и документного хранилища и графов. Лицензия: Apache 2/CDDL 1/Eclipse Distribution 1.0, рейтинг github'а — 1880.
- Neo4j — одна из самых популярных в мире графических баз данных. Лицензия: GNU 3/ GNU AGPLv3, рейтинг github'а — 1787.
- Mapdb содержит мультипоточные реализации Maps, Sets и Queues, которые могут сохраняться на жестком диске или в off-heap-memory. Это быстрый и простой способ создать embedded Java базу данных. http://www.mapdb.org/. Лицензия: Apache 2, рейтинг github'а — 1484.
- Voldemort свободный клон Amazon's Dynamo, распределенное key-value хранилище. Лицензия: Apache 2, рейтинг github'а — 1480.
- Amplab Tachyon это распределенное хранилище, ориентированное на работу с оперативной памятью и разделении данных между кластерами. Лицензия: Apache 2, рейтинг github'а — 1459.
- Opentsdb это распределенная и масштабируемая база данных, работающих с временными рядами (Time Series Database TSDB) работающая поверх Hbase. Лицензия: GNU 3, рейтинг github'а — 1336.
- Hazelcast Hazelcast свободное In-Memory хранилище. Лицензия: Apache 2, рейтинг github'а — 1167.
- Tinkerpop Blueprints Добавление Blueprint Property Graph Model Interface в различные графические базы данных. Лицензия: BSD 3, рейтинг github'а — 1083.
- Apache Lucene solr Зеркало Apache Lucene & Solr — тестового поисковой движка. Лицензия: Apache 2, рейтинг github'а — 1069.
- Java Chronicle Java Indexed Record Chronicle — библиотека, хранения данных, работы с сообщениями и событиями.. Лицензия: Apache 2, рейтинг github'а — 970.
- Torodb ToroDB база данных. Лицензия: GNU AGPLv3, рейтинг github'а — 951.
- Crate CRATE: Your Elastic Data Store — распределенная система, создающая бэкенд (или кластер) на основе nosql баз данных и свободных компонент (Presto, Elasticsearch, Lucene, Netty), реализует синхронизацию, репликацию, маштабируемость и разделение данных (data synchronization, sharding, scaling, and replication). Также предоставляем sql подобный язык запросов для кластера. https://crate.io/.Лицензия: Apache 2, рейтинг github'а — 925.
- Linkedin Pinot Linkedin pinot — Распределенный OLAP хранилище, работающее в режиме реального времени, которое используется Linkedin для получение аналитических данных в режиме реального времени… Лицензия: Apache 2, рейтинг github'а — 854.
- Solandra Solandra — распределенный real-time поисковый движок построенный на основе Apache Solr и Apache Cassandra… Лицензия: Apache 2, рейтинг github'а — 808.
- Voltdb VoltDB это горизонтально масштабируемая in-memory SQL RDBMS база данных, разработанная для приложений которым требует особенно высокая пропускная способность базы данных на чтение и запись. Лицензия: GNU AGPLv3, рейтинг github'а — 586.
- Leveldb Портирование LevelDB на Java. LevelDB это быстрое key-value хранилище, разработанное Google. Лицензия: Apache 2, рейтинг github'а — 525.
- Kairosdb KairosDB — быстрая распределенная расширяемая time series база данных, написанная поверх Cassandra.. Лицензия: Apache 2, рейтинг github'а — 485.
- Linkedin Sensei Распределенная поисковая база данных для работы в реальном времени. Лицензия: Apache 2, рейтинг github'а — 464.
- Elephantdb Распределенная база данных, специализирующая на экспорте key/value данных из Hadoop. Лицензия: BSD 3, рейтинг github'а — 464.
- Apache Drill Зеркало Apache Drill. Без схемовый движок обработки SQL запросов для Hadoop, NoSQL и облачных сервисов. Лицензия: Apache 2, рейтинг github'а — 448.
- Tinkerpop Rexster это сервер графических баз данных, который может передать любые данные графов через REST и бинарный протокол, называемый RexPro.. Лицензия: BSD 3, рейтинг github'а — 402.
- Tomcat redis session manager Основанное на Redis простое хранилище сессий для Apache Tomcat. Лицензия: MIT, рейтинг github'а — 396.
- Embulk это открытый пакетный (bulk) загрузчик данных, который помогает трансформировать данные между разными базами данных, хранилищ, файловых форматов и облачных сервисов. Лицензия: Apache 2, рейтинг github'а — 394.
- H2 — Небольшая база данных SQL отличается работой в in-memory, Лицензия: Mozilla Public License 1.1. и Eclipse Public License v1.0.
- Apache Empire-db Apache Empire-db is a lightweight relational database abstraction layer and data persistence component. Лицензия: Apache 2.
- Apache Ignite Apache Ignite is an In-Memory Data Fabric providing in-memory data caching, partitioning, processing, and querying components. Лицензия: Apache 2.
Распределенные базы данных.
- Apache Cassandra — зеркало для Apache Cassandra — база данных с высокой доступностью и высокой расширямостью и отличной производительностью. Лицензия: Apache 2, рейтинг github'а — 2155.
- Apache HBase — Hadoop хранилище для больших данных. Лицензия: Apache 2.
- Druid — это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: Apache 2, рейтинг github'а — 1846.
- Infinispan — Высокопроизводительное key/value хранилише, используемое для кэширования. Лицензия: Apache 2.
- OpenTSDB — это распределенная и масштабируемая база данных, работающих с временными рядами (Time Series Database TSDB) работающая поверх Hbase. Лицензия: GNU 3, рейтинг github'а — 1336.
2. Структуры данных
Efficient and specific data structures.
- Apache Avro — Формат обмена данными с такими возможностями как: динамическая типизация, отсутствия необходимости устанавливать ID вручную, untagged data, Лицензия: Apache 2.
- Apache Orc — Быстрый и эффективный столбчатый (сolumnar) формат хранения данных для работы в основанных на hadoop системах, Лицензия: Apache 2.
- Apache Parquet — столбчатый (сolumnar) формат хранения данных основанный на использовании алгоритмов из "Dremel paper" от Google, Лицензия: Apache 2.
- Apache Thrift — Формат обмена данными, созданный в Facebook, Лицензия: Apache 2.
- Persistent Collection — Persistent и неизменямый аналог Java Collections Framework, Лицензия: MIT.
- Protobuf — Формат обмена данными, предложенный Google, Лицензия: BSD 3.
- SBE — Simple Binary Encoding, один из самых быстрых форматов обмена сообщениями, Лицензия: Apache 2.
- Wire — Чистый, легковесный protocol buffers, Лицензия: Apache 2.
3. Поисковые системы
- Elasticsearch — одна из самых популярных систем распределенного облачного поиска. Распределенная, mультиарендная (multitenant-capable) полнотекстовая поисковая система с RESTful веб интерфейсом, не требующая схемы данных, основанная на JSON документах.. Лицензия: Apache 2, рейтинг github'а — 11833.
- Linkedin Indextank Engine Проект IndexTank это поисковый движок, поддерживающий возможности вроде переменных (boosts), категорий (facets), предложения, автокомплит и т. п… Лицензия: Apache 2, рейтинг github'а — 788.
- Apache Solr Зеркало Apache Solr. Apache Solr это поисковый сервер, основанный на Apache Lucene поисковой библиотеке, данный поисковый движок оптимизирован для высоконагруженных систем.. Лицензия: Apache 2, рейтинг github'а — 486.
- Linkedin Cleo Linkedin Cleo это гибкое библиотека для создания умных подсказок поиска… Лицензия: Apache 2, рейтинг github'а — 478.
- Elasticsearch cloud aws Плагин для работы ElasticSearch с Amazon Web Service (AWS) облаками. Лицензия: Apache 2, рейтинг github'а — 435.
- Elasticsearch analysis ik The IK Analysis плагин интеграции с Lucene IK анализаторов для elastic search, поддерживающий пользовательские словари. Лицензия: ?, рейтинг github'а — 395.
- Apache ManifoldCF — приложение для передачи данных между репозиториями и поисковыми индексами разных систем. Лицензия: Apache 2, рейтинг github'а — 435.
- Lemur Project Lemur проект разрабоатывает поисковый движок, анализатор текста, плагин браузеров, включает Indri search engine и ClueWeb09 dataset. Лицензия: BSD License
4. Клиенты и драйверы баз данных
- Facebook Presto Библиотека для работы с распределенными SQL запросами к big data источникам (Cassandra, Hive, Kafka, MySQL, PostgreSQL и т.п.). . Лицензия: Apache 2, рейтинг github'а — 3603.
- Jedis Невероятно маленький и эффективный Redis Java клиент. Лицензия: MIT, рейтинг github'а — 2495.
- Tinkerpop Gremlin это язык для работы с графами и разными графическими базами данных (обхода графов, запросы к графам, манипуляции и т. п.)… Лицензия: BSD 3, рейтинг github'а — 1370.
- Mongodb Java Driver Java клиент для MongoDB. Лицензия: Apache 2 / Creative Commons Attribution, рейтинг github'а — 1276.
- Yahoo Mysql_perf_analyzer Анализатор производительности MySQL. Лицензия: Apache 2, рейтинг github'а — 1082.
- Airbnb Airpal Веб UI для PrestoDB. Лицензия: Apache 2, рейтинг github'а — 1074.
- Mongodb hadoop MongoDB клиент для интеграции с Hadoop. Лицензия: ?, рейтинг github'а — 937.
- Elasticsearch jdbc JDBC поддержка для Elasticsearch. Лицензия: Apache 2, рейтинг github'а — 867.
- Flyway — инструмент по миграции баз данных. http://flywaydb.org/. Лицензия: Apache 2, рейтинг github'а — 851.
- Elasticsearch river mongodb — MongoDB River Plugin для ElasticSearch, использует MongoDB как хранилище для ElasticSearch. Лицензия: Apache 2, рейтинг github'а — 794.
- Netflix Astyanax Cassandra Java клиент. Лицензия: Apache 2, рейтинг github'а — 735.
- Liquibase Liquibase — система, позволяющая проводить миграции и обновления баз данных, генерировать SQL скрипты, документацию изменений баз данных, проводить рефакторинг и т. д. http://www.liquibase.org/. Лицензия: Apache 2, рейтинг github'а — 734.
- Mongodb Morphia Библиотека для простой сериализации объектов Java в документы MongoDB. Лицензия: Apache 2, рейтинг github'а — 725.
- Couchdb lucene Полнотекстовый поиск CouchDB документов, используя Lucene. Лицензия: Apache 2, рейтинг github'а — 639.
- Forcedotcom Phoenix Phoenix это SQL оболочка поверх Hbase с JDBC драйвером. Phoenix обеспечивает очень быстрый отклик (в течении миллисекунд), в отличии от пакетных операций map/reduce. Лицензия: BSD 3, рейтинг github'а — 507.
- Variety Анализатор схемы MongoDB. Лицензия: MIT, рейтинг github'а — 505.
- Redisson Redisson — добавляет Java структуры данных (Set, SortedSet, Map, ConcurrentMap, List, Queue, BlockingQueue, Deque, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog, Redis pipelining) в Redis сервер. И является высокопроизводительным и неблокирующим Java Redis клиентом. Лицензия: Apache 2, рейтинг github'а — 483.
- Netflix Priam Co-Process это набор инструментов для работы с Cassandra (архимирование и востановление, работа с токенами и т. д.). Лицензия: Apache 2, рейтинг github'а — 481.
- Datastax Java driver Java клиент для Apache Cassandra и DataStax. Лицензия: Apache 2, рейтинг github'а — 480.
- Memcached Java Client java клиент для memcached. Лицензия: BSD 4, рейтинг github'а — 436.
- Spring data mongodb Java клиент к MongoDB для фреймворка Spring. Лицензия: Apache 2, рейтинг github'а — 394.
- Apache Phoenix — Высокопроизводительный слой для реляционных баз данных поверх HBase для систем с минимальным откликом, Лицензия: Apache 2.
- FlexyPool — Добавляет метрики и отказоустойчивые стратегии для наиболее популярных пулов соединией с базами данных, Лицензия: Apache 2.
- LightAdmin — Легко настраиваемя CRUD UI библиотека для быстрой разработки приложений, Лицензия: Apache 2.
5. Маппинг объектов в базы данных (ORM и т. п.)
- HikariCP HikariCP — быстрая, надежная и легкая библиотека для создания JDBC connection pool с минимальными накладными расходами. Лицензия: Apache 2, рейтинг github'а — 1542.
- Mybatis 3 MyBatis это фреймворк маппинга Java объектов в базы данных. Соединяет Java объектами с определенными хранимыми процедурами или sql запросами. Лицензия: Apache 2, рейтинг github'а — 1428.
- Hibernate orm Hibernate's ORM фреймворк, один из самых популярных в Java, надежный, проверенный и широкоиспользуемый фреймворк с большим и активным сообществом. http://hibernate.org/orm/ Лицензия: GNU Lesser 2.1, рейтинг github'а — 1275.
- JOOQ JOOQ — решение по простой интеграции и мапингу Java приложений с популярными базами данных, такими как Oracle, Microsoft SQL Server, IBM DB2, или SAP Sybase. http://www.jooq.org/. Лицензия: Apache 2, рейтинг github'а — 830.
- Querydsl Querydsl это Java фреймворк позволяющий конструировать типобезопасные SQL-подобные запросы для множества backends включая JPA, MongoDB и SQL. http://www.querydsl.com/. Лицензия: Apache 2, рейтинг github'а — 570.
- Kundera ORM поддерживающий спецификации JPA 2.1 для полиглот маппинга в различные NoSQL хранилища. Лицензия: Apache 2, рейтинг github'а — 490.
- Spring data jpa Spring Data Jpa — обертка Spring фреймворка над JPa провайдерами. Лицензия: Apache 2, рейтинг github'а — 459.
- Jdbi jDBI предлагает удобный интерфейс над SQL операциями в Java. http://jdbi.org/.Лицензия: Apache 2, рейтинг github'а — 458.
- ActiveJDBCActiveJDBC это Java реализация Active Record шаблона проектирования. Вдохновлен ActiveRecord ORM в Ruby on Rails… Лицензия: Apache 2, рейтинг github'а — 230.
- Vibur DBCP — Библиотека реализующая JDBC пул соединений с дополнительными средствами мониторинга производительности, Лицензия: Apache 2.
- Ebean — Предоставляет простой и быстрой доступ к данным, Лицензия: Apache 2.
- EclipseLink — Поддерживает большое количество стандартов ORM: JPA, JAXB, JCA и SDO, Лицензия: Eclipse Public License v1.0 и BSD 3.
- OrmLite — Легковесный пакет избегающий усложнений и перерасхода ресурсов других ORM решений,
, Лицензия: ISC. - Apache Cayenne Простая в использовании Java ORM. Лицензия: Apache 2.
- Apache OpenJPA Реализация Java Persistence API спецификации. Лицензия: Apache 2.
- [Apache MetaModel]( http://metamodel.apache.org) Apache MetaModel это универсальный способ делать запросы и получать данные из различных источнико включая: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM и даже коллекции из обычных Java объектов (POJOs). Лицензия: Apache 2.
6. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)
- Storm — распределенная и устойчивая к ошибкам обработка данных в реальном времени: потоковая обработка, непрерывные вычисления, распределенный RPC и другое. Лицензия: Apache 2, рейтинг github'а — 8636.
- OpenRefine — инструменты для обработки «грязных» плохо структурированных данных и улучшения их. Выполняет очистку данных, преобразование, связывает с базой данных и позволяет обращаться к данным с помощью web сервисов. Лицензия: BSD, рейтинг github'а — 2939.
- Addthis Stream lib — библиотека Java для групповых операций на потоковыми данными, таких как оценка мощности (подсчет количества элементов), определение членов множества, оценка частоты, получения первых N элементов и т.п… Лицензия: Apache 2, рейтинг github'а — 1145.
- HdrHistogram (A High Dynamic Range (HDR) Histogram ) — выполняет запись данных, их анализ и построение сложных графиков (Histogram). Лицензия: BSD 2, рейтинг github'а — 672.
- HazyResearch DeepDive это система выделения значений из темных данных. Темные данные, как темная материя, имеют большой вес из текста, таблиц, графиков и изображений и не имеют четкой структуры, что делает их почти не обрабатываемыми обычными способами. Лицензия: Apache 2, рейтинг github'а — 531.
- Apache Incubator Zeppelin это расположенный в веб notebook (записная книжка?), который позволяет проводить анализ данных, их визуализацию и создавать документы, содержащие SQL, Scala и т.п.. Лицензия: Apache 2, рейтинг github'а — 463.
- Seldon Server предоставляет реализацию REST API интерфейса для выдачи рекомендаций по контенту и аналитических предсказаний. Лицензия: Apache 2, рейтинг github'а — 453.
- Pulsar — открытая аналитическая платформа, работающая в реальном времени. Лицензия: GNU 2.0, рейтинг github'а — 435.
- Suro: Netflix's Data Pipeline — это сервис для сбора, агрегации и управления большим количеством разнообразных событий, включая данные логов.. Лицензия: Apache 2, рейтинг github'а — 405.
- Apache UIMA Annotator components and a scalable integration and deployment framework for Unstructured Information analysis. Лицензия: Apache 2.
7. Большие данные (big data)
Фреймворки и библиотеки
- Apache Storm — зеркало для Apache Storm — свободную и распределенную систему обработки данных в реальном времени, аналог Hadoop, но для быстрой потоковой обработки данных, может использоваться с любым языком программирования… Лицензия: Apache 2, рейтинг github'а — 2098.
- H2o = добавляет математические операции в Hadoop, h2o позволяет быстро вычислять статистику, машинное обучение и математические операции для bigdata. Лицензия: Apache 2, рейтинг github'а — 1725.
- Cloudera Oryx это простая инфраструктура, обеспечивающая высоко нагруженную систему машинного обучения, анализа и выдачи прогнозов в режиме реального времени, работающая с Apache Hadoop, HTTP REST API и реализующая lambda architecture.. Лицензия: Apache 2, рейтинг github'а — 1142.
- Twitter Elephant bird — набор коллекций и алгоритмов от Twitter'а, для работы с Hadoop lzo, Apache Thrift, Hadoop, Pig, Hive, и HBase… Лицензия: Apache 2, рейтинг github'а — 861.
- Apache Hadoop — зеркало Apache Hadoop. Систему для обработки Bigdata. Лицензия: Apache 2, рейтинг github'а — 803.
- Google Mr4c это фрейворк, который позволяет запускать нативный код в Hadoop. Лицензия: GNU Lesser 3, рейтинг github'а — 702.
- Alibaba Jstorm — распределенная и устойчивая к ошибкам система вычисления результатов в реальном времени, вдохновленная Apache Storm,… Лицензия: Apache 2, рейтинг github'а — 654.
- Etsy Oculus находит аномальную корреляцию компонент системы Kale system. После того, как вы ввыбрали интересную или аномальную метрику, Oculus найдете все другие метрики в вашей системе, которые выглядят похоже… Лицензия: MIT, рейтинг github'а — 618.
- Linkedin Datafu это Hadoop библиотека для крупномасштабных систем обработки данных, на данный момент это проект в Apache Incubator. Лицензия: Apache 2, рейтинг github'а — 570.
- Linkedin Gobblin это универсальный интеграционный фреймворк работающий на Hadoop для получения, трансформации и загрузки большого количества данных в различные источники данных, такие как базы данных, rest APIs, FTP/SFTP сервера и т.д.. Лицензия: Apache 2, рейтинг github'а — 547.
- Apache Flink — зеркало Apache Flink. Apache Flink это открытая платформа для обработки потоковых и пакетных данных. Лицензия: Apache 2, рейтинг github'а — 475.
- Oryx 2 — реализация лямбда архитектуры для Apache Spark и Apache Kafka, но со специализацией на машинном обучении в реальном времени. Лицензия: Apache 2, рейтинг github'а — 456.
- Yahoo SAMOA (Scalable Advanced Massive Online Analysis) — открытая платформа для потоковой обработки больших данных (mining big data). Лицензия: Apache 2, рейтинг github'а — 394.
- Apache Curator Набор Java библиотека, которые облегчают использование Apache ZooKeeper.Лицензия: Apache 2.
- Apache Hama Hama это эффективный и легко расширяемый универсальный BSP computing движок.Лицензия: Apache 2.
- Apache Falcon Платформа управления данными и вычислениями для Hadoop.Лицензия: Apache 2.
- Apache Knox A REST API Gateway for Hadoop Services. Лицензия: Apache 2.
- Apache Flume Apache Flume это распределенная, надежная и доступная система для эффективного сбора, агрегации и сохранения больших объемов логов из множества различных источников в централизованное хранилище данных. Лицензия: Apache 2.
- Apache Tajo Tajo это система обработки больших данных в Hadoop для обработки web-scale набора данных. Лицензия: Apache 2.
- Apache Tez Фреймвор для обработки сколь угодно сложных направленных ациклических графов (DAGs) в задачах обработки данных. Лицензия: Apache 2.
- Apache REEF Apache REEF (Retainable Evaluator Execution Framework) это маштабируемый фреймворк, который облегчает разработку Big Data приложений на основе менеджеров ресурсов таких как Apache YARN или Mesos. Лицензия: Apache 2.
- Apache Pig Apache Pig это платформа для анализа больших наборов данных в Hadoop. Лицензия: Apache 2.
Хранилища, базы данных, Sql-подобные движки, поисковые система для big data
- Druid это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: Apache 2, рейтинг github'а — 1846.
- Apache Hive — зеркало Apache Hive. Фреймворк для созданий SQL подобного языка запросов для Hadoop. https://hive.apache.org/.Лицензия: Apache 2, рейтинг github'а — 619.
- Apache Kylin это открытая распределенная аналитическая система, которая обеспечивает SQL интерфейс и OLAP отчеты для Hadoop… Лицензия: Apache 2, рейтинг github'а — 504.
- Elasticsearch hadoop — интеграция поиска и анализ ElasticSearch в Hadoop. Лицензия: Apache 2, рейтинг github'а — 457.
- Facebook Presto Библиотека для работы с распределенными SQL запросами к big data источникам (Cassandra, Hive, Kafka, MySQL, PostgreSQL и т.п.). Лицензия: Apache 2, рейтинг github'а — 3603.
- [Apache MetaModel]( http://metamodel.apache.org) Apache MetaModel это универсальный способ делать запросы и получать данные из различных источнико включая: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM и даже коллекции из обычных Java объектов (POJOs). Лицензия: Apache 2.
- Apache Accumulo Apache Accumulo основана на идее BigTable, предложенной Google, и работает на Apache Hadoop, Zookeeper и Thrift. Лицензия: Apache 2.
- Apache Gora предлагает in-memory модель данных с маппингов в big data. Gora подерживает маппинг в column stores, key value stores, document stores и RDBMSs. Лицензия: Apache 2.
- [Apache Sqoop] Apache Sqoop(TM) инструмент для переноса данных между Apache Hadoop и хранилищами данных, таких как реляционный базы данных.(http://sqoop.apache.org) Лицензия: Apache 2.
- Giraph Apache Giraph это система обработи графов, построенная над Hadoop. Лицензия: Apache 2.
- Impala — Запросы в реальном времени к Hadoop. рейтинг github'а: 1550 Лицензия: Apache 2.
Мониторинг, тестирование и управления кластерами big data серверов
- Twitter Ambrose это платформа для визуализации и мониторинга в реальном времени MapReduce data workflows.. Лицензия: Apache 2, рейтинг github'а — 1024.
- Umongo — десктопное приложение для просмотра и управления вашим MongoDB кластером. Лицензия: Apache 2, рейтинг github'а — 495.
- Apache Ambari Упрощает управление и мониторинг Apache Hadoop clusters. Предоставляет веб UI интерфейс и RESTful APIs. Лицензия: Apache 2.
- Apache Chukwa Chukwa это открытая систнам для мониторига больших распределенных систем. Лицензия: Apache 2.
- Apache Bigtop Bigtop это проект для Infrastructure Engineers и Data Scientists котокрые ищут инструменты для тестирования, конфигурирования и управления big date компонентами. Лицензия: Apache 2.
- Apache BookKeeper BookKeeper это replicated система логирования для big datar. Лицензия: Apache 2.
- Apache Crunch Предоставляет фреймворк для написания, тестирования и запуска MapReduce pipelines. Лицензия: Apache 2.
- Apache MRUnit Apache MRUnit это Java библиотека для создания unit тестов, для тестирования Apache Hadoop map reduce jobs. Лицензия: Apache 2.
- Apache Oozie Oozie это workflow система расписания для управления Apache Hadoop jobs. Лицензия: Apache 2.
8. Машинное обучение и нейроные сети (Machine Learning)
- Airbnb Aerosolve Библиотека для машинного обучения, дружелюбная к пользователям (простая в настройке и т. п.). Лицензия: Apache 2, рейтинг github'а — 1672.
- Smile SmileMiner (Statistical Machine Intelligence and Learning Engine) — набор Java библиотек различных алгоритмов машинного обучения. Лицензия: Apache 2, рейтинг github'а — 1519.
- Deeplearning4j Deep Learning нейронная сеть, написанная на Java и Scala, с интеграцией с Hadoop, Spark и другими backends, которые могут работать как с центральным, так и с графическим процессором. http://deeplearning4j.org/.Лицензия: Apache 2, рейтинг github'а — 1172.
- Libsvm "Libsvm это библиотека для мамашиного обучения на основе support vector machines (support vector networks), поддерживает SVM classification and regression, C-SVM classification, nu-SVM classification, one-class-SVM, epsilon-SVM regression, and nu-SVM Regression. Лицензия: BSD 3, рейтинг github'а — 812.
- Neuralnetworks Алгоритмы машинного обучения и нейронных сетей с использованием GPU процессора. Лицензия: MIT, рейтинг github'а — 583.
- Datumbox framework Datumbox это фреймворк для быстрой разработки систем машинного обучения и анализа статистики. Лицензия: Apache 2, рейтинг github'а — 525.
- Apache Mahout Зеркало Apache Mahout. Задачей проекта Apache Mahout является создание окружения для быстрой разработки масштабируемых и производительных систем машинного обучения. Реализует хорошо расширяемые алгоритмы машинного обучения специализированные на применении фильтрации, кластеризации и классификации. https://mahout.apache.org/.Лицензия: Apache 2, рейтинг github'а — 492.
- Encog java core Encog это фреймворк для машинного обучения предоставляющий большое число алгоритмов и технологий машинного обучения (нейронные сети, генетические алгоритмы и т. д.). Лицензия: Apache 2, рейтинг github'а — 394.
- Apache Flink — зеркало Apache Flink. Apache Flink это открытая платформа для обработки потоковых и пакетных данных. https://flink.apache.org/ Лицензия: Apache 2, рейтинг github'а — 475.
- Apache Hadoop — зеркало Apache Hadoop. Систему для обработки Bigdata (больших данных с помощью кластеров на простом железе). http://hadoop.apache.org/ Лицензия: Apache 2, рейтинг github'а — 803.
- Apache Spark — Фреймворк для анализа данных, используя класстер для вычислений, Подпроект: MLlib — библиотека машинного обучения для Spark.Лицензия: Apache 2.
- DeepDive — Создает структурированную информацию из неструктурированных данных и интегрирует её с существующими базами данных, Лицензия: Creative Commons Attribution 4.0.
- H2o = добавляет математические операции в Hadoop, h2o позволяет быстро вычислять статистику, машинное обучение и математические операции для bigdata.http://h2o.ai/ Лицензия: Apache 2, рейтинг github'а — 1725.
- JSAT — Алгоритмы для пре-процессинга, классификация, регрессия, и кластеризация поддерживающие многопоточное выыполнение, Лицензия: GNU 3.
- Weka — Коллекция алгоритмов для data mining задач от пре-процессинга до визуализации, Лицензия: GNU.
- Protege — Реализует редактов онтология и фреймворк для экспертных систем, Лицензия: BSD 2
- EvA2 — Фреймворк для использования эволюционных алгоритмов- ранее известный как JavaEvA/EvA. Лицензия: GNU Lesser 3.
- htm.java — Hierarchical Temporal Memory implementation in Java — это официальный сделанный сообществом порт Numenta Platform for Intelligent Computing (NuPIC). Лицензия: AGPL 3 или платная лицензия для комерческого использования.
- JAVA-ML — Java Machine Learning Library (Java-ML). Лицензия: GNU 2
- JSAT — Набор алгоритмов машинного обучения для классификации, регрессионного анализа и кластеризации. Лицензия: GNU 3
- Meka — Открытая реализация методов multi-label классификации и оценки (расширение для Weka). Лицензия: GNU
- Neuroph — Neuroph это легковесный фреймворк по создания нейронной сети на Java. Лицензия: Apache 2.
- rapaio — Набор инструментов для статистического анализа, data mining и машинного обучения на Java. Лицензия: Apache 2.
- Apache SystemML — Гибкий, маштабируемый язык машииного обучения. (incubator project). Лицензия: Apache 2.
- wAlnut — Объектно ориентированная модель для частичного моделирования человеческого мыщления. Лицензия: GNU 3
Semantic Web и Linked Data
Semantic Web (он же Web of Data, Linked Data, Linking Open Data) — это направление развития Всемирной паутины, позволяющее машинам не только отображать информацию в интернете, но и понимать ее смысл.
- Apache Marmotta Открытая платформа для работы с Linked Data. Лицензия: Apache 2.
- Apache Jena Фреймворк для разработки Semantic Web и Linked Data приложений на Java. Лицензия: Apache 2.
Constraint Satisfaction Problem Solver
Библиотеки, которые помогают в такой задачи искусственного интеллекта (ИИ) как удовлетворения ограничений (УО) (constraint satisfaction problem).
- Choco — Полностью готовая "с полки" система по решению задачи удовлетворения ограничений (УО) (constraint satisfaction problem), используя constraint programming технологии, Лицензия: BSD.
- JaCoP — Включает в себя интерфейс для языка FlatZinc, что позволяет ему выполнять модели MiniZinc, Лицензия: неизвестна
- OptaPlanner — Решает задачи бизнес планирования и оптимизации ресурсов, Лицензия: Apache 2.
- Sat4J — Наиболее продвинутый SAT решатель для логических (? boolean) и оптимизационых проблем, Лицензия: GNU Lesser 3 и Eclipse Public 1.0.
Работа с естественными языками (NLP) и распознавние речи
- Stanfordnlp CoreNLP Stanford CoreNLP: Java библиотека для работы с Stanford NLP (инструментами для анализа и работы с текстом на естественных языках, например английским). Лицензия: GNU 2, рейтинг github'а — 871.
- Apache OpenNLP — Набор инструментов для типовых задач таких как tokenization, Лицензия: Apache 2.
- LingPipe — Набор инструментов для различных видов задач от POS tagging до анализа предложений, Лицензия: AGPL и платная лицензия, проприетарная. ИЛИ
- Mallet — Статистическая обработка естественных языков, классификация документов, кластеризация, topic modeling и многое другое, Лицензия: Eclipse Public License v1.0.
- Twitter Text Libraries — Коллекция библиотек и тестов для парсинга текста твитов(tweet). Лицензия: Apache 2.
- NLP4J NLP4J проект (старое название ClearNLP) предоставляет набор NLP инструментов для JVM языков. Этот проект разрабатывается в NLP Research Group из Emory University. Лицензия: Apache 2.
- Joshua Joshua — система машинного перевода, написанная на Java. Разработана Human Language Technology Center of Excellence at Johns Hopkins University. Лицензия: BSD 2.
- Z-MERT Z-MERT — система машинного перевода. Лицензия: GNU Lesser General Public License (LGPL).
- ClearTK — ClearTK — фреймворк для разработки систем machine learning и natural language processing которые реализаует Apache Unstructured Information Management Architecture, github star: 34. Лицензия: Apache 2.
- Apache cTAKES — Apache cTAKES это NLP система для получения данных из медицинской документации. Лицензия: Apache 2.
- The Stanford Natural Language Processing Group — Набор различных NLP инструментов, написанных на Java. Подпроекты: Stanford Parser — A statistical parser, Stanford POS Tagger, Stanford Named Entity Recognizer, RegexNER,
Word Segmenter,Classifier,EnglishTokenizer,TokensRegex,Temporal Tagger,Pattern-based Information Extraction and Diagnostics,Stanford Relation Extractor. Лицензия: GNU 2/3. - Apache Tika The Apache Tika это набор инструмнтов для получение метаданных и структурированого теста из различных видом документов, используя разные парсеры (Apache cTAKES,OpenNLP и т.п.). Лицензия: Apache 2.
- CMU Sphinx — Библиотека для распознавания речи. Лицензия: BSD 3.
III. Работа с сетью и интеграция
1. Веб сервера и сервера приложений (web server & application server)
- Wildfly — сервер приложений (Application Server), ранее известный как JBOSS, разработанный Red Hat с расширенной поддержки Java EE. Лицензия: GNU Lesser 2.1, рейтинг github'а — 1386.
- Undertow io Undertow — высокопроизводительный неблокирующий вебсервер. Лицензия: Apache 2, рейтинг github'а — 721.
- Apache Tomcat — зеркало Apache Tomcat — открытый web сервер с поддержкой сервлетов, jsp и некоторых аспектов J2EE. Проверенный и всесторонний сервер для сервлет и jsp. Лицензия: Apache 2, рейтинг github'а — 531.
- Nginx clojure — Nginx модуль с использованием Clojure или Java или Groovy программ. Лицензия: BSD 3, рейтинг github'а — 514.
- Eclipse Jetty.project — Http сервер и контейнер сервлетов. Легкий, маленький сервер, часто встраиваемый (embedded) в приложения. Лицензия: Eclipse Public 1.0 / Apache 2.0, рейтинг github'а — 512.
- Apache TomEE — Apache Tomcat сервер к которому добавили поддержку Java EE, Лицензия: Apache 2.
- WebSphere Liberty — Легковесный, модульный сервер, разработанный IBM, Лицензия: платная, проприетарная
- GlassFish — Сервер приложений и образцовая реализация Java EE от Oracle, Лицензия: GNU 2 или CDDL 1.0
- Apache Geronimo Java EE Application Server. Лицензия: Apache 2.
- Apache James Apache Java Enterprise Mail Server (или Apache James) это 100% чистый Java SMTP и POP3 постовый сервер и NNTP News сервер. Лицензия: Apache 2.
2. Сеть и сокеты
- Netty низкоуровневый асинхроно-событийный фреймворк для быстрого создания высокопроизводительных клиент-серверных соединений. Более удобный аналог ассинхронным сокетам из модуля java.nio из JDK. . Лицензия: Apache 2, рейтинг github'а — 4847.
- Netty socketio Реализация Socket.IO сервера на Java. Основан на Netty фреймворке, служит для обеспечение работы с сетевыми соединениями и сокетами. Лицензия: Apache 2, рейтинг github'а — 754.
- Grpc java gRPC-Java это реализация RPC библиотеки и фреймворка на Java. Лицензия: BSD 3, рейтинг github'а — 753.
- Socket.io java client Реализация Socket.IO клиента на Java. Лицензия: MIT, рейтинг github'а — 688.
- Socket.io client.java Полнофункциональная Socket.IO клиентская библиотека для Java, совместимая с Socket.IO v1.0 и выше… Лицензия: MIT, рейтинг github'а — 603.
- EsotericSoftware Kryonet TCP/UDP клиентская и серверная библиотека для Java, основанная на Kryo. Лицензия: BSD 3, рейтинг github'а — 539.
- Async Http Client — Ассинхронная HTTP и вебсокет клиентская библиотека, Лицензия: Apache 2.
- Comsat — Интегрирует стандартный Java веб API c Quasar fibers и actors, Лицензия: Eclipse Public 1.0.
- Grizzly — NIO фреймворк. Использует как сетевой слой в Glassfish, Лицензия: GNU 2 и CDDL 1.1.
- OkHttp — HTTP+SPDY клиент, Лицензия: Apache 2.
- Undertow — Вебсервер, предоставляющий блокирующий и неблокирующий API, основанный на NIO. Используется как сетевой слой в WildFly, Лицензия: Apache 2.
- Apache MINA Apache MINA это фреймворк для создания быстрых сетевых приложений используя Java NIO. Лицензия: Apache 2.
- Apache HttpComponents проект для создания и поддержки низкоуровневых Java компонент работающих на HTTP, Java NIO и т.п. Лицензия: Apache 2.
3. Работа с сообщениями (message), очереди сообщений и прием и отправка сообщений
- LMAX Exchange Disruptor Высокопроизводительная библиотека для поддержки межпоточных сообщений. Лицензия: Apache 2, рейтинг github'а — 3137.
- Gifsockets Коммуникационная библиотека, работающая в режиме реального времени и использующая Animated Gifs как транспорт. Лицензия: Eclipse Public 1.0, рейтинг github'а — 1414.
- Real logic Aeron Эффективная и надежная система отправки и получения одноадресных и многоадресных сообщения по сети (Publisher, Subscriber, Event, Monitoring и т.п.)… Лицензия: Apache 2, рейтинг github'а — 1103.
- JeroMQ ZeroMQ — система для работы с распределенными сообщениями, очередями, подписками и т.д… Лицензия: GNU 3, рейтинг github'а — 834.
- Metamorphosis Высокопроизводительная распределенная система обмена сообщениями. Лицензия: Apache 2, рейтинг github'а — 580.
- Igniterealtime Openfire Openfire это RTC (real time collaboration) сервер использующий широко распространенные протоколы обмена сообщениями, такие как XMPP (так же называемый Jabber). Лицензия: Apache 2, рейтинг github'а — 470.
- Zeromq Jzmq JZMQ это клиент для интеграции Java приложения с libzmq (например ZeroMQ, 0MQ). Лицензия: GNU 3, рейтинг github'а — 415.
- Aeron — Эффективный и надежный unicast и multicast транспорт сообщений, Лицензия: Apache 2.
- Apache ActiveMQ — Message broker that implements JMS and converts synchronous to asynchronous communication, Лицензия: Apache 2.
- Apache Camel — Glues together different transport APIs via Enterprise Integration Patterns, Лицензия: Apache 2.
- Apache Kafka — High-throughput distributed messaging system, Лицензия: Apache 2.
- Hermes — Fast and reliable message broker built on top of Kafka, Лицензия: Apache 2.
- JBoss HornetQ — Clear, concise, modular and made to be embedded, Лицензия: Apache 2.
- Smack Библиотека для создания XMPP клиента для JVMs и Android. Лицензия: Apache 2, рейтинг github'а — 426.
- Apache Qpid Реализиция AMQP спецификации. Лицензия: Apache 2.
- Apache Synapse Apache Synapse это легковестных ESB движок (сервисной шина предприятия) и XML router. Лицензия: Apache 2.
- Apache ServiceMix Apache ServiceMix это гибкий, открытый интеграционный контейнер для общего интерфейса к возможностям и функциональности Apache ActiveMQ, Camel, CXF и Karaf для создания полнофункционального ESB решения основнанного на OSGi. Лицензия: Apache 2.
4. Работа с http и ssh
- Square Okhttp HTTP & SPDY (новый формат HTTP от гугла) клиент для Android и Java. . Лицензия: Apache 2, рейтинг github'а — 5022.
- AsyncHttpClient Асинхронная Http и WebSocket клиентская библиотека для Java. Лицензия: Apache 2, рейтинг github'а — 2149.
- Http request Java библиотека для отправки различных HTTP Request и получения response. Лицензия: MIT., рейтинг github'а — 1477.
- Nanohttpd Крошечный и простой embeddable HTTP сервер для Java… Лицензия: BSD 3, рейтинг github'а — 1184.
- Http kit Http-kit это минималистский, событийный, высокопроизводительный Clojure HTTP сервер и клиентская библиотека с WebSocket и поддержкой асинхронности. Лицензия: Apache 2, рейтинг github'а — 1172.
- Apache Zookeeper Зеркало Apache Hadoop ZooKeeper — позволяет разрабатывать и поддерживать сервер, который позволяет очень надежную распределенную координации.. Лицензия: Apache 2, рейтинг github'а — 987.
- Moco Простой HTTP Stub сервер, для простого тестирования интеграции. Лицензия: MIT, рейтинг github'а — 857.
- Webbit Webbit — событийно-ориентированный вебсокет и HTTP сервер. Лицензия: BSD 3, рейтинг github'а — 648.
- Mashape Unirest java Unirest in Java: Упрощенная и легковесная HTTP клиент библиотека… Лицензия: MIT, рейтинг github'а — 537.
- Sshj Поддержка ssh, scp и sftp для java. Лицензия: Apache 2, рейтинг github'а — 500.
- Netflix Feign Feign позволяет создавать Java Http клиента проще и быстрее. Feign основан на Retrofit, JAXRS-2.0 и WebSocket. Лицензия: Apache 2, рейтинг github'а — 485.
5. Работа с rest
- Square Retrofit Типобезопасная библиотека для создания REST клиента для Android и Java. . Лицензия: Apache 2, рейтинг github'а — 5945.
- Dropwizard фреймворк для создания RESTful сервисов c использованием Jetty, Jackson, Jersey и Metrics. Лицензия: Apache 2, рейтинг github'а — 3427.
- Swagger Примеры и сервер интеграция для генерации Swagger API спецификаий, которые позволяют создать легкий доступ к вашему REST API. http://swagger.io/ Лицензия: Apache 2, рейтинг github'а — 2657.
- Generator jhipster Хипстер стек для Java разработчиков: Yeoman + Maven + Spring + AngularJS в одном генераторе. Лицензия: Apache 2, рейтинг github'а — 2352.
- Jersey Зеркало Jersey 2.x. Jersey это REST фреймворк реализующий JAX-RS спецификацию. Лицензия: CDDL 1.0, рейтинг github'а — 864.
- Linkedin Rest.li Rest.li это REST+JSON фреймворк для создания надежных, маштабируемых сервисов с использованием простого асинхронного API и dynamic discovery спецификацию… Лицензия: Apache 2, рейтинг github'а — 825.
- Spring hateoas Spring HATEOAS — этот проект поддерживает APIs для легкого создания REST сервисов поддерживающих HATEOAS принципы для Spring и особенно Spring MVC… Лицензия: Apache 2, рейтинг github'а — 456.
- Feign — HTTP клиент основанный на Retrofit, JAXRS-2.0 и WebSocket, Лицензия: Apache 2.
- RESTEasy — Полностью сертифицированая и переносимая реализация JAX-RS спецификации, Лицензия: Apache 2.
- RestExpress — Тонкий wrapper для JBOSS Netty HTTP stack для обеспечения маштабируемости и производительности, Лицензия: Apache 2.
- RestX — Фреймворк, основанный на аннотациях и генерации кода во время компиляции, Лицензия: Apache 2.
- Spark — фреймворк, вдохновленный Sinatra фреймворком, Лицензия: Apache 2.
- Apache Wink RESTFul веб сервис, основанный на JAX-RS спецификации. Лицензия: Apache 2.
- Apache Olingo Apache Olingo это Java и JavaScript библиотека реализующая Open Data Protocol (OData). Open Data Protocol (OData) это открытый протокол создания RESTful APIs сервисов. Лицензия: Apache 2.
6. Интеграционные фреймворки
- Jmxtrans Интеграция JVM с "внешним мира" (программами логирования, мониторинга, графики и т. п.). Лицензия: ?, рейтинг github'а — 708.
- Apache Camel Зеркало Apache Camel. Apache Camel — мощный свободный интеграционных фреймворк, основанный на Enterprise Integration Patterns… Лицензия: Apache 2, рейтинг github'а — 490.
- Apache CXF Apache CXF это открытый фреймворк, помогающий в разработке APIs, такого как JAX-WS или JAX-RS. Этот сервис позволяет использовать большое количество протоколов таких как SOAP, XML/HTTP, RESTful HTTP или CORBA и работать с большим количеством транспортов таких как HTTP, JMS или JBI. Лицензия: Apache 2.
7. Парсеры (Parser) и «веб-пауки»/краулеры (web-crawling)
- Sparklemotion Nokogiri Nokogiri это HTML, XML, SAX, и Reader парсер с подержкой XPath и CSS selector. Лицензия: Apache 2, рейтинг github'а — 3323.
- Jsoup jsoup это Java HTML парсер с использованием DOM, CSS, и jquery. http://jsoup.org/ Лицензия: MIT, рейтинг github'а — 2006.
- Webmagic Фреймворк для создания интернет ботов для индексирования (crawler), которые реализует все этапы жизненного цикла crawler: скачивание, управление url, выделение контент и сохранение… Лицензия: Apache 2, рейтинг github'а — 1089.
- Antlr4 ANTLR (ANother Tool для Language Recognition мощный генератор парсеров для чтения, обработки, использование или конвертирования структурированного текста или бинарных файлов. Лицензия: BSD 3, рейтинг github'а — 836.
- Parboiled Элегантный, легкий, простой в использовании и мощный парсер, написанный на Java и Scala. Лицензия: Apache 2, рейтинг github'а — 775.
- Pegdown Обработчик языка разметки Markdown, основанный на PEG парсере, поддерживающим большое количество расширений. Лицензия: Apache 2, рейтинг github'а — 692.
- Apache Nutch — Хорошо расширяемый, хорошо маштабированный вебпаук с рабочей экосистемой, Лицензия: Apache 2.
- Crawler4j — Простой и легковесный вебпаук, Лицензия: Apache 2.
8. Работа с Json
- Alibaba Fastjson Быстрый JSON обработчик. Лицензия: Apache 2, рейтинг github'а — 2605.
- JSON java Набор классов для работы с JSON в Java, конвертации JSON в XML, CDL, cookie lists, HTTP headers и обратно… Лицензия: Своя open-source лицензия ?, рейтинг github'а — 1561.
- Jsonschema2pojo Генерация Java классов из JSON схемы (или примера JSON) с аннотациями для data-binding для Jackson 1.x or 2.x, Gson и т. п… Лицензия: Apache 2, рейтинг github'а — 914.
- Square Moshi JSON библиотека для Android и Java, служит для упрощения парсинга Json в объекты Java. Лицензия: Apache 2, рейтинг github'а — 765.
- Instagram Ig json parser Быстрый JSON парсер для java проектов. Лицензия: BSD 3, рейтинг github'а — 730.
- FasterXML Jackson core Основная часть Jackson библиотеки для реализации работы с низкоуровневым ("streaming") JSON парсера и генераторов JSON файлов. Лицензия: Apache 2, рейтинг github'а — 682.
- FasterXML Jackson databind Основной data-binding пакет для Jackson (2.x) основанный на потоковом API Jackson Сore. Лицензия: Apache 2, рейтинг github'а — 640.
- Jayway JsonPath Java JsonPath — реализация аналога XPATH только для Json, а не XML. Лицензия: Apache 2, рейтинг github'а — 448.
- Json schema validator Валидация JSON Schema, реализована на чистой Java, создана с целью проверки Json файлов, используя Json схемы. Лицензия: GNU Lesser 3/Apache 2, рейтинг github'а — 411.
- Genson -Мощная и простая в использовании Java библиотека для преобразования в/из JSON, Лицензия: Apache 2.
- Gson — Простая сериализации объектов в JSON и обратно. Хорошая производительность и легкость в использовании, Лицензия: Apache 2.
- Jackson — Похоже на GSON, но более производительна, если вам нужно часто создавать экземпляр библиотеки, Лицензия: Apache 2.
- LoganSquare — Библиотека парсинга и сериализации JSON, основанная на Jackson's streaming API. Превосходит по некоторым возможностям GSON и Jackson библиотеки, Лицензия: Apache 2.
9. CSV
Frameworks and libraries that simplify reading/writing CSV data.
К оглавлению
- opencsv — Простой CSV парсер, Лицензия: Apache 2.
- Super CSV — Мощный CSV парсер, поддерживающий Dozer, Joda-Time и Java 8, Лицензия: Apache 2.
- uniVocity-parsers — Один из самых быстрых и многофункционных CSV парсеров. Так же в библиотеке есть парсеры для TSV и файлом с записями фиксированной ширины, Лицензия: Apache 2.
10. Интеграция с Api разных систем (соц. сетей и т. п.)
- Twitter Zipkin Zipkin это распределенная системы отслеживания, которая используется Twitter для сборк информации о работе всех его различных сервисов. Лицензия: Apache 2, рейтинг github'а — 2442.
- Wizcorp Phonegap facebook plugin Официальный плагин для Facebook в Apache Cordova/PhoneGap. Лицензия: Apache 2, рейтинг github'а — 1587.
- Twitter4j Twitter4J это библиотека для работы с Twitter API в Java (поддерживает работу с JSON, REST Search API, Apache HttpClient, Async API, Streaming API, Async API, Streaming API, HTTP/2). Лицензия: Apache 2, рейтинг github'а — 1551.
- Netflix Ice AWS Usage Tool — система работы с Amazon Web Services. Лицензия: Apache 2, рейтинг github'а — 1358.
- Twitter Commons Библиотека для работы с Twitter для python и JVM. Лицензия: Apache 2, рейтинг github'а — 964.
- Alibaba RocketMQ RocketMQ — это реализация системы обмена сообщениями MQ (Message queue) для взаимодействия с различными сервисами портала Alibaba. Лицензия: Apache 2, рейтинг github'а — 627.
- Twitter Hbc Java HTTP клиент для работы Twitter's Streaming API. Лицензия: Apache 2, рейтинг github'а — 498.
- Spring projects Spring social Spring Social это расширение Spring Framework, которые позволяет интегрировать ваши приложения с Software-as-a-Service (SaaS) провайдерами, такими как Facebook или Twitter. Лицензия: Apache 2, рейтинг github'а — 409.
11. Работа с биткойном
- XChange XChange это Java библиотека предоставляющая удобный API для взаимодействия с более чем 50+ Bitcoin и Altcoin обменными биржами. Лицензия: MIT, рейтинг github'а — 455.
- bitcoinj Библиотека для работы с Bitcoin. Лицензия: Apache 2, рейтинг github'а — 453.
- DiabloMiner OpenCL майнер для Bitcoin. Лицензия: GNU 3, рейтинг github'а — 443.
12. Облачные системы
- Netflix SimianArmy — инструменты для поддержки ваших облачных операций. Chaos Monkey это гибкий инструментарий для создания устойчивых к случайным ошибкам приложений… Лицензия: Apache 2, рейтинг github'а — 2892.
- Netflix Eureka это REST (Representational State Transfer) — сервис для управления AWS (Amazon Web Services ) облаками, обеспечение load balancing и отказоустойчивости. Лицензия: Apache 2, рейтинг github'а — 1051.
- Aws sdk java Официальное зеркало Java AWS SDK (Amazon Web Services). Лицензия: Apache 2, рейтинг github'а — 1008.
- Syncany это облачное хранилище и файл обменное приложение, которое фокусируется на безопансоти и абстрагирования от системы хранения. Лицензия: GNU 3, рейтинг github'а — 772.
- Legacy Jclouds это открытая библиотека, которая поможет начать работать с облаками используя ваши навыки разработки на Java. Поддерживает многие виды облаков включая Amazon, VMWare, Azure, и Rackspace… Лицензия: Apache 2, рейтинг github'а — 507.
- Elasticsearch — одна из самых популярных систем распределенного облачного поиска.. Лицензия: Apache 2, рейтинг github'а — 11833.
- Elasticsearch cloud aws Плагин для работы ElasticSearch с Amazon Web Service (AWS) облаками. Лицензия: Apache 2, рейтинг github'а — 435.
- Elasticsearch analysis ik The IK Analysis плагин интеграции с Lucene IK анализаторов для elastic search, поддерживающий пользовательские словари. Лицензия: ?, рейтинг github'а — 395.
- Apache CloudStack Apache CloudStack это IaaS (“Infrastracture as a Service”) облачная платформа. Лицензия: Apache 2.
- Apache Stratos Apache Stratos это Platform-as-a-Service (PaaS) облачная платформа. Лицензия: Apache 2.
- Apache Airavata Apache Airavata это фреймворк выполнения и управления заданиями в распределенных ресурсах, таких как кластеры, суперкомпьютеры, national grids, академические и комерческие облака. Лицензия: Apache 2.
13. Cluster Management
Фреймворки для динамического управления приложением внутри класстера.
К оглавлению
- Apache Aurora — Apache Aurora это Apache Mesos фреймворк для длительных сервисов и cron jobs, Лицензия: Apache 2.
- Singularity — Singularity это Apache Mesos фреймворк, который делает разработку и обслуживание проще. Он поддерживает вебсервисы, фоновое выполнение, запуск задач по расписанию и выполнение одноразовых задач, Лицензия: неизвесна, на сайте не найдена!.
- Apache Helix Это фреймворк управления кластером. Лицензия: Apache 2.
- Apache Airavata Apache Airavata это фреймворк выполнения и управления заданиями в распределенных ресурсах, таких как кластеры, суперкомпьютеры, national grids, академические и комерческие облака. Лицензия: Apache 2.
14. Работа с документами (XLS, DOC, PDF и т.п.)](#14-document-processing-xls-doc-and-pdf)
Libraries that assist with processing office document formats.
- Apache POI — Поддерживает OOXML (XLSX, DOCX, PPTX) так же как и OLE2 (XLS, DOC or PPT), Лицензия: Apache 2.
- documents4j — API для конверторов в разные форматы документов, используя third-party конверторы такие как MS Word, Лицензия: Apache 2.
- Docx4j Docx4j библиотека для работы с Microsoft OpenXML файлами (Word docx, Powerpoint pptx, и Excel xlsx) через JAXB. Лицензия: Apache 2.
- jOpenDocument — Работа с OpenDocument формата, Лицензия: GNU или платная лицензия для коммерческого использования. ИЛИ
- Apache Tika The Apache Tika это набор инструмнтов для получение метаданных и структурированого теста из различных видом документов, используя разные парсеры (Apache cTAKES,OpenNLP и т.п.). Лицензия: Apache 2.
Everything that helps with the creation of PDF files.
К оглавлению
- Apache FOP — Создание PDF из XSL-FO, Лицензия: Apache 2.
- Apache PDFBox — Набор инструментов для создания и изменения PDF, Лицензия: Apache 2.
- DynamicReports — Улучшение JasperReports, Лицензия: GNU Lesser 3.
- flyingsaucer — lying Saucer это Java библиотека для использования XML или XHTML с использованием CSS 2.1 для генерации PDF, изображений или Swing panels. Лицензия: GNU Lesser 2.1.
- iText — Создание PDF файлов из программы, но требует лицензию для комерчиского использования, Лицензия: AGPL или платная лицензия для комерческого использования. ИЛИ
- JasperReports — Комплексный движок отчетов, Лицензия: GNU Lesser.
15. Работа с нативным API разных ОС](#15-native)
For working with platform-specific native libraries.
К оглавлению
- Java Native Access (JNA) Java Native Access — система доступа к нативному API. Так же предоставляет интерфейсы к основным системых библиотекам. Лицензия: GNU Lesser 2.1 или Apache 2. , рейтинг github'а — 1750.
- JNR — Работа с нативными библиотеками без использвания JNI. Так же предоставляет интерфейсы к основным системых библиотекамs. Те же задачи что у JNA, но работает быстрее, и служит основой для разрабатываемого Project Panama, Лицензия: Apache 2.
16. XML и SOAP
- Xalan Xalan-J это XSLT processor, написанный на Java. Лицензия: Apache 2.
- Xerces Xerces-J это validating XML парсер, написанный на Java. Лицензия: Apache 2.
- XML Graphics Конвертация XML в графическое представление. Лицензия: Apache 2.
- Santuario Библиотека реализующая XML Digital Signature спецификацию и XML Encryption спецификацию. Лицензия: Apache 2.
- VXQuery Apache VXQuery реализует параллельный XML Query processor. Лицензия: Apache 2.
- Apache Axis Веб контейнер который помогает создавать, развертывать и запускать вебсервисы. Axis2 это Web Services / SOAP / WSDL движок. Лицензия: Apache 2.
17. Интеграция с сервисами геопозиционирования
Библиотеки для работы с сервисами геопозиционирования.
- Apache SIS — Библиотека для разработки приложений геопозиционирования. Лицензия: Apache 2.
- Geo — GeoHash утилиты для Java. Лицензия: Apache 2.
- Geotoolkit.org — Библиотека для разработки приложений геопозиционирования. Работает на основе Apache SIS проекта. Лицензия: GNU Lesser 2.1.
- GeoTools — Библиотека предоставляющая инструменты для получения данных геопозиционирования. Лицензия: GNU Lesser 2.1.
- H2GIS — Геопозиционированое расширение для базы данных H2. Лицензия: GPL 3.
- Jgeohash — Библиотека, помогающая Java разработчикам в использовании GeoHash алгоритмов. Лицензия: Apache 2.
- JTS Topology Suite — API для 2D геопозиционирования. Лицензия: GNU Lesser 3.
- Mapsforge — Продукт для геопозиционирования на карте, основанной на OpenStreetMap данных. Лицензия: GNU Lesser 3.
- Spatial4j — Универсальная библиотека геопозиционирования. Лицензия: Apache 2.
IV. Тестирование
1. Тестирование
- Junit Простой и популярный фреймворк для unit тестирования. Лицензия: Eclipse Public 1.0, рейтинг github'а — 3662.
- Mockito Mocking фреймворк для unit тестов, написанных на Java. Лицензия: MIT, рейтинг github'а — 1307.
- Selenium Фреймворк для автоматического тестирования в браузере. Лицензия: Apache 2, рейтинг github'а — 1305.
- Cucumber jvm Портирование Cucumber фреймворка для JVM. Лицензия: MIT, рейтинг github'а — 1047.
- Spock Spock это фреймворк тестирования и создания спецификаций для Java и Groovy приложений. Лицензия: Apache 2, рейтинг github'а — 669.
- Google Firing range Google Firing Range это тестовый вебсервер для приложений-сканеров уязвимостей вебсайтов. Firing Range создает широкий спектр синтетических уязвимостей. Лицензия: Apache 2, рейтинг github'а — 650.
- Fitnesse FitNesse это система тестирования, вебсервер и вики. Лицензия: CPL-1.0, рейтинг github'а — 618.
- Sikuli Sikuli служит для написания скриптов, служащих для автоматизации работы со всем что вы ведите на экране… Лицензия: MIT, рейтинг github'а — 609.
- JavaHamcrest Hamcrest это фреймворк для создания условий и правил в программных тестах, написанных на Java, он позволяет создать сложные выражения для этих условий (assertion matcher), которые потом могут использовать в системах unit тестирования, таких как JUnit или jMock.. Лицензия: BSD 3, рейтинг github'а — 561.
- Wiremock Инструментарий для создания mock'ов (заглушек для тестирования) HTTP сервисов. Лицензия: Apache 2, рейтинг github'а — 508.
- Testng TestNG фреймворк для тестирования. Лицензия: Apache 2, рейтинг github'а — 477.
- Galenframework Galen Galen Framework это мощный фреймворк для автоматического тестирования дизайна и функционала вебсайтов. Использует Selenium для работы с браузером и автоматического тестирования вебсайтов. Лицензия: Apache 2, рейтинг github'а — 449.
- AssertJ AssertJ это библиотека предоставляющая мощный механизм работы с условиями (assertion) для тестовых фреймворков. Лицензия: Apache 2, рейтинг github'а — 423.
- Google truth Фреймворк для задания ограничений и утверждений (Assertion/Proposition) в Unit тестах (версия ещё очень альфа, может быть полностью изменена ). Лицензия: Apache 2, рейтинг github'а — 394.
- Apache JMeter — Функциональное тестирование и замеры производительности. Лицензия: Apache 2.
- Arquillian — Интеграционная и функциональная платформа тестирования Java EE контейнеров, Лицензия: Apache 2.
- Awaitility — DSL для синхронизации ассинхроных операций, Лицензия: Apache 2.
- Citrus — Фреймворк интеграционного тестирования, которой фокусируется на тестировании клиент-серверного обмена сообщениями, Лицензия: Apache 2.
- Cucumber — BDD фреймворк тестирования, Лицензия: MIT.
- Gatling — Содержит инструменты тестирования разработанные для легкого использования, легкого сопровождения и высокой производительности, Лицензия: MIT.
- GreenMail — In-memory email сервер для интеграционного тестирования, поддерживает SMTP, POP3 и IMAP включая SSL, Лицензия: MIT.
- JGiven — Удобный для разработчиков BDD фреймворк тестирования совместимый с JUnit и TestNG, Лицензия: MIT.
- JMockit — Создает мock'и статических и финальных методов, а так же многое другое, Лицензия: MIT.
- JUnitParams — Облегчает создание читабельных и легких в поддержке параметризованных тестов, Лицензия: Apache 2.
- Moco — Создание лаконичных вебсервисов для тестирования (stubs и mocks), награжден Duke's Choice Award 2013, Лицензия: MIT.
- PIT — Быстрый мутационный фреймворк тестирования с возможностью обнаружения ошибок в написании существующих JUnit или TestNG тестах, Лицензия: Creative Commons License.
- PowerMock — Позволяет создание mock'ов статических методов, финальных классов и методов, приватных классов и удаление статических инициализаторов, Лицензия: Apache 2.
- REST Assured — Java DSL для легкого тестирования REST/HTTP сервисов, Лицензия: Apache 2.
- Selenide — Краткое API над Selenium, позволяющее писать стабильные и читабельные UI тесты, Лицензия: MIT.
- Unitils — Модульная библиотека тестирования для unit и интеграционного тестирования, Лицензия: Apache 2.
2. Code Coverage
Фреймворки и инструменты для получения набора code coverage метрик для тестов.
К оглавлению
- JaCoCo — Фреймворк, который позволяет собирать метрики покрытия кода тестами, используя как offline, так и runtime байткод инструменты, используется в EclEmma, плагине Eclipse для определения степени покрытия тестами, Лицензия: Eclipse Public License v1.0, Apache 2, BSD.
- Clover — Проприетарный инструмент для определения степени покрытия кода тестами от Atlassian, который основан на анализе исходного кода вместо анализа байткода, Лицензия: платная, проприетарная
- Cobertura — Использует автономный (или статическый) инструментарий анализа байткода и class loading'a для получения метрик покрытия кода тестами, Лицензия: GNU 2.
- JCov — Набор инструментов для анализа покрытия кода тестами, который используется при разработке OpenJDK проекта, Лицензия: GNU 2.
3. Continuous Integration
Набор инструментов, поддерживающих непрерывную сборку, тестирование и релизы приложений.
К оглавлению
- Bamboo — Atlassian's решение с хорошей интеграцией с другими продуктами этой компании. Можно использовать либо подав заявку на бесплатную лицензию или просто купив его,
- CircleCI — Cервис хостинга CI с бесплатным тестовым сроком,
- Codeship — Cервис хостинга CI с ограниченными бесплатными планами.
- fabric8 — Интеграционная платформа для контайнеров, Лицензия: Apache 2.
- Go — Открытое решение от ThoughtWork. Есть платная поддержка, Лицензия: Apache 2.
- Jenkins — Предоставляет серверное решение для развертывания сервисов, Лицензия: MIT.
- TeamCity — JetBrain's CI решение с бесплатной версией для open-source продуктов, Лицензия: Проприетарная, платная
- Travis — Cервис хостинга CI, который часто использует в открытых продуктах, Лицензия: ?
- Hudson — Сервер непрерывной реализации для активной разработки, Лицензия: Eclipse Public License v1.0.
- Apache Continuum Сервер непрерывной реализации от Apache. Лицензия: Apache 2.
4. Formal Verification
- Инструменты для формальной верефикации: proof assistants, model checking, symbolic execution и т.п.*
К оглавлению
- CATG — Concolic unit тест движок. Автоматически генерит unit тесты, используя ряд формальных методов, Лицензия: BSD 2, Лицензия: BSD 2.
- Checker Framework — Легко настраиваемая плагинами система типов, включет nullness типы, physical units, неизменяемые типы и прочее, Лицензия: GNU 2.
- Daikon — Daikon обнаруживает различные программные invariants и мрдет генерировать JML спецификации, основанные на этих invariats, Лицензия: GNU.
- Java Modeling Language (JML) — Интерфейс поведенческих спецификаций, который может исопльзоваться для определения желаемого поведения программных модулей. Он комбинирует подход контрактного дизайна приложения от Eiffel и подход спецификаций модели, основанных на семействе Larch языков описания спецификаций интерфейсов, с некоторыми элементами от refinement calculus. Используется в некоторых других системах верефикации, Лицензия: GNU 2.
- Java Path Finder (JPF) — JVM инструмент formal верефикации, который содержит проверки модели и прочее. Созданн НАСА., Лицензия: NASA OPEN SOURCE AGREEMENT VERSION 1.3
- jCUTE — Concolic unit тест движок. Автоматически генерит unit тесты. Concolic выполнение комбинирует случайное concrete execution с symbolic execution и automatic constraint solving, Лицензия: Проприетарная, бесплатная для целей обучения и т.п.
- JMLOK 2.0 — Обнаруживает несоответствий между кодом и спецификацией JML с помощью генерации случайных тестов с обратной связью и предлагает возможные причины, вызывающие обнаруженные несоотвествия, Лицензия: GNU 3.
- KeY — KeY System это инструмент формальной верефикации основными целями которого являются интеграция дизайна, имплементации, формальной спецификации и формальная верефикация ООП настолько легко, насколько это возможно. Использует JML для спецификаций и symbolic execution для верефикации, Лицензия: GNU.
- OpenJML — Преобразует JML спецификации в SMT-LIB формат и находит проблемы и передает описание проблем к backend решателю, Лицензия: GNU 2 и Eclipse Public License v1.0.
V. Инструменты для упрощения разработки
1. IDE
- JetBrains Intellij Сommunity IntelliJ IDEA Community Edition — одна из лучший IDE для Java. http://www.jetbrains.com/idea/ Лицензия: Apache 2, рейтинг github'а — 2068.
- JetBrains Ideavim Плагин, эмулирующий Vim для IDE, основанных на IntelliJ платформе. Лицензия: GNU 2, рейтинг github'а — 1199.
- Rstudio RStudio это IDE для языка R. Лицензия: GNU AGPLv3, рейтинг github'а — 1048.
- Vrapper Плагин по добавлению Vim-подобного редактора в Eclipse. Лицензия: GNU 3.0, рейтинг github'а — 669.
- Eclipse themes Jeeeyul's Eclipse Themes (прошлое имя Eclipse Chrome Theme) это возможность настроить каждую деталь Eclipse'а. Лицензия: Eclipse Public 1.0, рейтинг github'а — 623.
- Eclipse color theme Eclipse Color Theme позволяет легко импортировать и удобно менять цветовые темы без побочных эфектов. Лицензия: Eclipse Public 1.0, рейтинг github'а — 614.
- Eclim Добавление в редактор Vim возможностей Eclipse IDE. Лицензия: GNU 3, рейтинг github'а — 590.
- JetBrains MPS JetBrains MPS (Meta programming System) служит для быстрой разработки DSL (Domain Specific Language) для любого окружения и с возможностью скомпилировать DSL в множество языков, таких как Java, C, XML и другие. Лицензия: Apache 2, рейтинг github'а — 525.
- Idea markdown Поддержка языка разметки Markdown в IntelliJ IDEA… Лицензия: Apache 2, рейтинг github'а — 405.
- Eclipse — Популярная открытая IDE поддерживающая большое количество плагинов и языков программирования, Лицензия: Eclipse Public License v1.0.
- NetBeans — IDE поддерживает большое количество различных возможностей для разработки Java SE и EE приложений от работы с базой данных до работы с HTML5, Лицензия: GNU 2 или CDDL 1.0
2. Инструменты и библиотеки для сборки, конфигурирования и развертывания Java приложений
Build
Инструменты для сборки проекта (build) и работы с зависимостями(dependencies) приложения.
- Apache Maven — Система декларативной сборки и управления зависимостями, которая упрощает конфигурирование приложения. Это может быть предпочтительнее Apache Ant, используещего более процедурный подход, который сложнее поддерживать в большинстве случаев. Лицензия: Apache 2, рейтинг github'а — 614.
- Google Bazel — Инструмент для сборки от Google, который позволяет собирать код быстро и надежно. Корректная, воспроизводимая и быстрая билд система для любых ситуаций Лицензия: Apache 2, рейтинг github'а — 2809.
- Gradle — Система инкрементальной сборки, использующая для конфигурирования Groovy вместо XML. Хорошо совместима с Maven конфигурациями. Лицензия: Apache 2, рейтинг github'а — 2465.
- Apache Ant — Инструмент для сборки проиложений, использующий XML для конфигурационных файлов, раньше был очень популярен, сейчас используется довольно редко. Подпроекты: Apache AntUnit — система тестирования файлов ant'a, Apache Compress Ant Library — дополнительные форматы архивов и сжатия, Apache Ivy — работа с зависимостями, Apache IvyDE — плагин Ivy для Eclipse. Лицензия: Apache 2.
- Facebook Buck — система сборки, упрощающая создание небольших, повторно используемых модулей. Лицензия: Apache 2, рейтинг github'а — 1449.
- Archiva Apache The Build Artifact Repository Manager. Apache Archiva — расширяемый репозиторий артефактов сборки, идеально совместим с такими средствами сборки как Maven, Continuum и ANT. Лицензия: Apache 2.
Configuration
Библиотеки, управлящие конфигурированием
К оглавлению
- config — Конфигурационная библиотека для JVM языков. Лицензия: Apache 2, рейтинг github'а — 614.
- owner — Уменьшение бесмысленного типового кода для работы с properties, Лицензия: BSD 3.
- Netflix Archaius — библиотека, реализующая API для управления конфигурациями, используется Netflix. Лицензия: Apache 2, рейтинг github'а — 614.
- LightAdmin — Легко настраиваемя CRUD UI библиотека для быстрой разработки приложений, Лицензия: Apache 2.
- Apache Yetus Коллекция библиотек и инструменов для управления contribution и release процессами. Лицензия: Apache 2.
Distribution
Инструменты для работы с развертыванием (distribution) приложений в нативные форматы.
К оглавлению
- Bintray — Контроль версий для бинарных файлов, так же может использовать вместе с Maven или Gradle и имеет свободный план для открытого ПО, а так же ряд различных бизнес планов, Лицензия: проприетарная платная, есть бесплатная версия для открытых продуктов
- Capsule — это система сборки приложения в один выполняемый JAR файл со всеми артефактами, ресурсами, нативными библиотеками и т.п. Простой и мощный инструмент для packaging и deployment. Толстый JAR на стероидах или "Docker для Java", который поддерживает JVM-оптимизированные контейнеры, рейтинг github'а — 576. Лицензия: Eclipse Public License v1.0.
- Central Repository — Огромный бинарный репозеторий компонентов, который доступен как свободный сервис для проектов с открытым ПО. Используется Apache Maven и доступно для всех остальных инструментов сборки, Лицензия: проприетарная
- IzPack — Широко используемый набор инструментов для многоплатформенного развертывания приложений (deployments). Лицензия: Apache 2, рейтинг github'а — 614.
- JitPack — Простой в использовании репозиторий пакетов для GitHub. Собирает Maven / Gradle проекты и публикует их в готовых к использованию пакетах. Лицензия: Apache 2, рейтинг github'а — 614.
- Launch4j — Преобразует JARs файлы в легковесные и нативные исполнянмые файлы Windows
, Лицензия: BSD 3 и MIT. - Nexus — Усправления бинарными файлами с прокси и кэшированием, Лицензия: проприетарная платная
- packr — Преобразование JARs, assets и JVM в нативные приложения Windows, Linux и Mac OS X, Лицензия: Apache 2.
- Spotify Helios это Docker orchestration платформа для развертывания и управления контейнерами с помощью HTTP API или командной строки. Лицензия: Apache 2, рейтинг github'а — 952.
3. Инструменты для оптимизации производительности
Библиотеки для оптимизации и решения проблем с производительностью
К оглавлению
- Square Leakcanary утилита для поиска ошибок из-за которых происходит memory leak для Android и Java. Лицензия: Apache 2, рейтинг github'а — 4168.
- Dropwizard Metrics — библиотека для замера различных метрик в Java приложении для простого понимания что и как код делает во время продакшена. . Лицензия: Apache 2, рейтинг github'а — 3188.
- GCViewer Форк Tagtraum GCViewer — небольшой инструмент для подробной визуализации GC (garbage collector) логов (включая G1 collector). Лицензия: GNU Lesser 2.1, рейтинг github'а — 990.
- AdoptOpenJDK Jitwatch Анализатор логов Java HotSpot JIT компилятора, показывающий результаты используя JavaFX интерфейс. Лицензия: BSD 2, рейтинг github'а — 547.
- Naver Pinpoint это APM (Application Performance Management) инструмент мониторинга производительности крупномасштабных распределенных систем, написанных на Java. Создан на основе Google's Dapper paper… Лицензия: Apache 2, рейтинг github'а — 486.
- jHiccup — Логирование и запись проблем с производительностью и потерь скорости у JVM, Лицензия: BSD 2.
- JMH — Microbenchmarking инструмент для JVM, Лицензия: GNU 2.
- LatencyUtils — Утилиты для измерения времени отклика приложения и составления отчетов, Лицензия: BSD 2.
- VisualVM — Визуальный интерфейс, показывающий детальную информацию о запущенных приложениях.Лицензия: GNU 2 with the Classpath Exception.
- JProfiler — Платный профайлер. Лицензия: Проприетарная платная, есть бесплатная версия для open source проектов
- YourKit Java Profiler — Платный профайлер. Лицензия: Проприетарная платная, есть бесплатная версия для open source проектов, спец.планы для научных и академических целей
- XRebel — Платный профайлер. Лицензия: Проприетарная платная
4. Анализ исходного кода
- SonarQube это свободная платформа для управлением качеством кода. http://www.sonarqube.org Лицензия: GNU Lesser 3, рейтинг github'а — 655.
- Google Error prone — обнаружение типовых ошибок в Java коде. Лицензия: Apache 2, рейтинг github'а — 590.
- OpenGrok Это быстрый и полезные поиск в исходном коде проекта, поиск кросс-ссылок в классах и навигации по дереву исходного кода, он поддерживает разные системы управления кодов, такие как SCCS, RCS, CVS, Subversion, Mercurial и т.п.c… Лицензия: CDDL 1.0, рейтинг github'а — 570.
- Checkstyle — Статический анализ на соблюдения стандартов и конвенций по написанию кода, Лицензия: GNU Lesser 2.1.
- FindBugs — Статический анализ байткода для поиска потенциальных ошибок. Лицензия: GNU Lesser.
- jQAssistant — Статический анализатор кода с основанном на Neo4J языке запросов, Лицензия: GNU 3.
- PMD — Анализ исходного кода для поиска плохих практик программирования, Лицензия: BSD 4.
5. Monitoring
Инструменты для мониторинга приложений в production.
К оглавлению
- AppDynamics — Коммерческий монитор производительности. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью
- JavaMelody — Мониторинг производительности и профайлинг, Лицензия: Apache 2.
- jmxtrans — Инструмент для соединения с различными JVMs и запросах их свойств через JMX. Этот язык запросов основан на JSON, что позволяет не-Java программистам получать доступ к JVMs свойствам. Также, этот инструмент поддерживает различные виды вывода данных, включая Graphite, Ganglia, StatsD и многие другие, Лицензия: MIT.
- Kamon — Инструменты для мониторинга приложений запущенных на JVM, Лицензия: Apache 2.
- New Relic — Коммерческий монитор производительности. Лицензия: Проприетарная платная, с двумя неделями пробного периода
- SPM — Коммерческий монитор производительности с отладкой распределенных транзакций в JVM приложениях. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью
- Takipi — Коммерческий мониторинг ошибок и отладка в продашен режиме. Лицензия: Проприетарная платная, есть бесплатная версия с ограниченной функциональностью и пробный период в две недели у полной версии
6. Переопределение загруженных классов
- Dynamic Code Evolution Virtual Machine (DCE VM) — Модификация JVM, которая позволяет неограниченное переопределение загруженных классов во время выполнения. Лицензия: GNU 2
- DCEVM — Форк DCEVM. Модификация JVM, которая позволяет неограниченное переопределение загруженных классов во время выполнения, Лицензия: GNU 2
- HotswapAgent — Неограниченное переопределение классов и ресурсов во время выполнения, Лицензия: GNU 2
- JRebel — Коммерческое программное обеспечение, которое позволяет неограниченно перезагружает код и изменять конфигурацию без перезагрузки сервера, Лицензия: Проприетарная, платное ПО,
- Spring Loaded — Агент для повторой перезагруки классов, Лицензия: Apache 2
7. Прочее
- Google J2ObjC: Java to Objective-C Translator and Runtime — конвертация языка Java (включая Android) в Objective-C… Лицензия: Apache 2, рейтинг github'а — 2940.
- Bytecode viewer Система для реверс-инженеринга Java и Android (декомпилятор, редактор, отладчик и т. д.). Лицензия: GNU 3, рейтинг github'а — 617.
- Reflections сканирует ваш classpath, индексирует метаданные и позволяет строить запросы во время выполнения к метаданным, может сохранять информацию о метаданных вашего проекта. Лицензия: WTFPL, рейтинг github'а — 514.
Current implementations of the JVM/JDK.
- JDK 9 — Ранний доступ к версии JDK 9., Лицензия: GNU 2.
- OpenJDK — Oткрытая реализация Java для Linux., Лицензия: GNU 2.
- Zulu OpenJDK — OpenJDK реализация для Windows, Linux и Mac OS X включая Java 8, Лицензия: GNU 2.
- Zulu OpenJDK 9 — Ранний доступ к версии OpenJDK 9 для Windows, Linux и Mac OS X, Лицензия: GNU 2.
VI. Языки программирования и приложения, написанные на Java
1. Языки программирования, написанные на Java
- Clojure Язык программирования Clojure. . Лицензия: Apache 2, рейтинг github'а — 4332.
- JetBrains Kotlin Язык программирования Kotlin. Лицензия: Apache 2, рейтинг github'а — 1621.
- Gocd Основной репозиторий для сборки Go программ. Лицензия: Apache 2, рейтинг github'а — 1602.
- Groovy core Язык программирования Groovy. Лицензия: Apache 2, рейтинг github'а — 1327.
- Jphp compiler Jphp Альтернативный вариант Zend PHP для JVM, такой же как JRuby и Jython но только для PHP. Лицензия: Apache 2, рейтинг github'а — 969.
- Trifork Erjang Виртуальная JVM машина для языка Erlang. Лицензия: Apache 2, рейтинг github'а — 484.
2. Утилиты для других языков программирования, написанные на Java
- Go lang idea plugin IDE для языка программирования Goole Go, созданная на основе IntelliJ Platform. Лицензия: Apache 2, рейтинг github'а — 1717.
- Processing js Портирование Processing библиотеку для работы с видео и изображениями в JavaScript… Лицензия: MIT, рейтинг github'а — 1696.
- Pysonar2 PySonar2 это система индексирования и получения типов в Python, которая проводить сложный анализ с помощью Sourcegraph сотен тысяч открытых Python репозиториев. Лицензия: GNU GNU AGPLv3, рейтинг github'а — 1654.
3. Javascript
- Yuicompressor YUI Compressor — это система сжатия JavaScript и CSS файлов, которая удаляет лишние пробелы, безопасно обфуцирует локальные переменные до минимального возможного имени и т. д… Лицензия: BSD, рейтинг github'а — 1840.
- Google Closure compiler Библиотека проверки JavaScript кода и его оптимизации. Лицензия: Apache 2, рейтинг github'а — 1442.
- Frontend maven plugin Maven плагин который скачивает и устанавливает Node и NPM локально и запускает NPM install, Grunt, Gulp и/или Karma. Лицензия: Apache 2, рейтинг github'а — 586.
- Dynjs Среда выполнения ECMAScript для JVM. Лицензия: Apache 2, рейтинг github'а — 533.
4. Фреймворки для создания парсеров, интерпретаторов и компиляторов кода
- ANTLR — Многоцелевой полноценный фреймворк для top-down парсинга, Лицензия: BSD 2.
- JavaCC — Более специфичный и простой в обучении, имеет синтаксический предпросмотр, Лицензия: BSD .
5. Приложения и готовые продукты написанные на Java
- Square Keywhiz — cистема для хранения и управления секретными данными (TLS сертификаты, GPG ключи, API токены, данные доступа к базам данным). Лицензия: Apache 2, рейтинг github'а — 979.
- Rundeck это автоматический сервис-планировщик по управлению заданиями, job'aми с вебконсолью, инструментами командной строки и WebAPI.. Лицензия: Apache 2, рейтинг github'а — 853.
- KeyBox это SSH вебконсоль, которая используется для административного доступа в систему. Лицензия: Apache 2, рейтинг github'а — 792.
- OpenTripPlanner это свободный планировщик поездок, поддерживает открытые стандартные форматы файлов (GTFS и OpenStreetMap), также включает REST API для планирования путишествий, как и Javascript клиент. Лицензия: Apache 2, рейтинг github'а — 704.
- Netflix Servo обеспечивает простой интерфейс для получения и публикации параметров приложений Netflix. Лицензия: Apache 2, рейтинг github'а — 681.
- Jitsi программа, обеспечивающее текстовую, голосовую и видеосвязь с разными протоколами SIP, XMPP/Jabber, AIM/ICQ, IRC, Yahoo! и много других возможностей. Лицензия: Apache 2, рейтинг github'а — 676.
- Netflix Exhibitor это система для ZooKeeper, обеспечивающая мониторинг, архивирование и восстановление, очистку и визуализацию. Лицензия: Apache 2, рейтинг github'а — 610.
- Glyptodon Guacamole client — клиент, который позволяет работать с удаленным рабочим столом через браузер без установки какого-либо программного обеспечение. Использует HTML5, JavaScript и Java. Лицензия: MIT, рейтинг github'а — 556.
- Bateman — простая система торговли акциями, которая оптимизирует свои параметры, используя particle swarm оптимизацию. Лицензия: MIT, рейтинг github'а — 543.
- Java repl — реализация Read Eval Print Loop (простой интерактивной среды программирования, которая сразу вычисляет введенные пользователем выражения) для Java. Лицензия: Apache 2, рейтинг github'а — 536.
- Seyren это оболочка для управления предупреждениями (alert) для Graphite, поддерживает много каналов нотификации: Email, Flowdock, HipChat, HTTP, Hubot, IRCcat, PagerDuty, Pushover, SLF4J, Slack, SNMP, Twilio. Лицензия: Apache 2, рейтинг github'а — 527.
- Graphhopper это быстрая и эффективно использующий память программа определения лучшего дорожного маршрута на Java. По умолчанию использует данный OpenStreetMap, но существует импорт и из других источников. Лицензия: Apache 2, рейтинг github'а — 506.
- Ttorrent это Java реализация BitTorrent протокола, BitTorrent tracker и BitTorrent клиента. Лицензия: Apache 2, рейтинг github'а — 460.
- Geoserver это приложение, написанное на Java, которое используется для обмена и редактирования geo данных. Лицензия: GNU 2.0, рейтинг github'а — 435.
- Languagetool — система стилистической и грамматической проверки текста более чем на 25 разных языках (английский, франц узкий, немецкий, русский, польский и т. д.). Лицензия: GNU Lesser 2.1, рейтинг github'а — 416.
- Apache OpenMeetings — система с открытым кодом для создания видеоконференций, обмена сообщениями и документами компании. Лицензия: Apache 2.
6. Игры, написанные Java
- Bukkit Мод для Minecraft API. Лицензия: GNU 2, рейтинг github'а — 1600.
- MovingBlocks Terasology Terasology это расширение для игры Minecraft. Лицензия: Apache 2, рейтинг github'а — 1070.
- MinecraftForge Модификации для Minecraft. Лицензия: GNU AGPLv2.1, рейтинг github'а — 981.
- SpongePowered Sponge Forge мод для Minecraft реализующий SpongeAPI. Лицензия: MIT, рейтинг github'а — 803.
- BuildCraft BuildCraft — расширение для Minecraft. Лицензия: Apache 2, рейтинг github'а — 799.
- Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Моды для Minecraft. Лицензия: Apache 2, рейтинг github'а — 783.
- SpongePowered SpongeAPI Minecraft плагин API. Лицензия: Apache 2, рейтинг github'а — 775.
- WorldEdit Редактор игровых карт для Minecraft. Лицензия: GNU Lesser 3, рейтинг github'а — 715.
- Essentials Essentials — Minecraft серверный командный мод — добавлени более 100 команд для использования в игре. Лицензия: GNU 3, рейтинг github'а — 423.
- GlowstoneMC Glowstone Сервер для Bukkit Minecraft. Лицензия: MIT, рейтинг github'а — 421.
- Tribal Trouble — Стратегия в реальном времени на Java. Лицензия: GNU 2, рейтинг github'а — 423.
VII. Прочее
1. Примеры исходного кода на java
- Java design patterns Очень хорошие примеры и справочник по паттернам разработки. . Лицензия: MIT, рейтинг github'а — 6341.
- Spring projects Spring mvc showcase Примеры, демонстрирующие возможности Spring MVC веб фреймворка. Лицензия: Apache 2, рейтинг github'а — 1338.
- Javaee7 samples Примеры для Java EE 7. Лицензия: MIT/CDDL/GPLv2, рейтинг github'а — 989.
- Algorithms Решение для некоторых общих алгоритмических проблем, написанное на Java… Лицензия: Apache 2, рейтинг github'а — 983.
- WikiSort Быстрее и стабильные алгоритмы сортировки использующие O(1) памяти. Лицензия: unlicense.org, рейтинг github'а — 953.
- Spring projects Spring petclinic Примеры Spring приложений. Лицензия: Apache 2, рейтинг github'а — 532.
- Spring projects Spring integration samples Примеры кода и приложений Spring Integration. Лицензия: Apache 2, рейтинг github'а — 517.
- Java algorithms implementation Коллекция алгоритмов и структур данных, написанных на Java. Лицензия: Apache 2, рейтинг github'а — 437.
- Jboss developer Jboss eap quickstarts Простые и рабочие примеры с простой демонстрацией JBoss EAP, Java EE 7 и других подобных технологий. Лицензия: Apache 2, рейтинг github'а — 434.
- Databricks Learning spark Примеры кода для книги Learning Spark. Лицензия: MIT, рейтинг github'а — 412.
- 7guis 7GUIs это проект который рассматривает простоту разработки и полученное юзабилити (usability benchmark) семи типичных GUI задач на разных фреймворках и языках программирования (Java7 +Swing, Clojure+Seesaw, Scala+ScalaFX, Android и т. п.). Задачей сравнить разные подходы к созданию удобного для пользователя GUI. Лицензия: ?, рейтинг github'а — 404.
- Spring projects Spring data jpa examples Примеры использования разных возможностей Spring Data JPA. Лицензия: Apache 2, рейтинг github'а — 400.
- Modern Java — A Guide to Java 8 — Популярный Java 8 гайд. Лицензия: MIT.
2. Результаты сравнения производительности кода на Java (benchmark)
- Jvm serializers — бенчмарки и сравнения производительности разных библиотек сериализации в JVM. Лицензия: ?, рейтинг github'а — 970.
- YCSB (Yahoo! Cloud Serving Benchmark) — бэнчмарки (тесты производительности) различных облачных сервисов. Лицензия: Apache 2, рейтинг github'а — 869.
3. Работа с git & github
- Gitblit Gitblit это свободный Java Git клиент для управления, просмотр и обслуживания Git репозиторий. Лицензия: Apache 2, рейтинг github'а — 787.
- WhisperSystems BitHub BitHub — экспериментальный сервис по сбору Bitcoin пожертвований и распределении этих пожертвований каждому кто коммитит в GitHub репозитории. Лицензия: ?, рейтинг github'а — 491.
VIII Видео доклады и лекции о Java
Спасибо за ознакомления со статьей!
P.S. Самую последную и обновляемую версию можно найти на github'e на русском и английском. Пишите любые предложения в личку, в комментарии или просто создавайте pull request или issue на github'e.
1. JPA и Hibernate в вопросах и ответах
2. Триста пятьдесят самых популярных не мобильных Java opensource проектов на github
3. Коллекции в Java (стандартные, guava, apache, trove, gs-collections и другие)
4. Java Stream API
5. Двести пятьдесят русскоязычных обучающих видео докладов и лекций о Java
6 Список полезных ссылок для Java программиста
Комментарии (44)
zonex5
13.04.2016 19:46+3Еще из игр есть забавная стратегия Tribal Trouble, кторая с 2014 стала открытой github.com/sunenielsen/tribaltrouble
vedenin1980
13.04.2016 19:58Спасибо, добавил.
Muratbek
15.04.2016 11:17+1Огромное спасибо автору. Очень подробно, красиво. Может мой вопрос прозвучит неуместно, но все таки. Могу ли я надеяться на появление аналогичной шпаргалки по Android?
vedenin1980
15.04.2016 11:21+1Возможно, есть в планах сделать скрипт, которые будет в автоматическом режиме собирать данные о проектах с github'a и других источников и на основе машинного обучения сортировать их по категориям. Но под вопросом насколько качественно он сможет это делать.
ExplosiveZ
13.04.2016 21:08+2Примечание к блоку с играми:
Там всего 2 игры, остальное дополнения/серверы для minecraft.
Отличная работа, its beautiful.
suharik
13.04.2016 22:04+1Первый пост на хабре, который читал бегло, с открытым ртом. Огромная работа, такая же благодарность.
Beanut
13.04.2016 22:43Я правильно понимаю, что «рейтинг github» = количество звезд на github? И практически везде он безнадежно устарел (в некоторых случаях отличается в 2 и более раза)?
vedenin1980
13.04.2016 23:09+2Да, это количество звезд, скрипт собирал рейтинг месяцев пять назад. Возможно какие-то проекты успели за это время получить в 2 раза больше звезд. Сейчас работаю над новым скриптом, который сможет обновлять данные статистики в автоматическом режиме.
grossws
14.04.2016 04:11+1Значительное количество библиотек и reference implementation (в частности многие api) от sun/oracle под двойной лицензией CDDL + GPLv2 w/ classpath exception. Под этой парой лицензий выходят, в частности, упомянутые выше jsf, jsp, для которых у вас указанна некорректная лицензия (GPLv2). Также лицензируются всякие jaxrs-api, cdi-api, servlet-api и многое другое.
CDDL допускает даже статическую линковку с файлами под другими лицензиями (в отличии от LGPL), она куда более дружелюбна по отношению к закрытому коду, чем LGPL. Имеет слабый копилефт и требует раскрытия тех частей кода, которые под CDDL.
Насколько GPLv2 w/ classpath exception совместима с проприетарным ПО — не разбирался, но на первый взгляд она мягче чем LGPL.
vikarti
14.04.2016 04:31+2интересный список. очень интересный.
что заметно — нет YaCy http://yacy.net/ — поисковая система на Java под GPL. Идея проекта похоже сделать P2P-аналог гуглу. как «просто» поисковик не подключаясь к глобальной сети тоже можно использовать.
OLDRihard
14.04.2016 10:24+2Поменяй ссылку. Oracle отпустила SceneBuilder в вольное плаванье. Я знаю только одну поддерживаемую версию от Gluon gluonhq.com/open-source/scene-builder
Может еще где-то есть?
Dronsky
14.04.2016 10:24+2СБУД Firebird: firebirdsql.org
Драйвера для нее там же: www.firebirdsql.org/en/jdbc-drivervedenin1980
14.04.2016 10:28+1Но насколько я вижу на сайте и вики Firebird вроде написана на С+? Драйвер для неё добавлю.
Vitaljok
14.04.2016 10:31+1Спасибо за столь обширный обзор!
Вопрос к сообществу: встречались ли вам примеры использования JADE (пункт I.9.13) в продукции?
«Академический» пример про торговцев книгами показывает принципы технологии (http://jade.tilab.com/doc/tutorials/JADEProgramming-Tutorial-for-beginners.pdf).
Меня больше интересуют реальные use-case'ы, при которых есть смысл смотреть в эту сторону.
Siper
14.04.2016 10:42+1Спаисбо! Интеграционные фреймворки — не упомянут Spring Integration, возможно Mule тоже стоило бы упомянуть.
zhigar
14.04.2016 12:44+1Спасибо!
Теперь осталось объяснить новичкам (мне), как из этого массива правильно выбрать необходимое.
iler
14.04.2016 17:15+1libgdx упоминается дважды
vedenin1980
14.04.2016 17:17+1Да спасибо, на самом деле по второй ссылке примеры и учебные статьи для libgdx. Поправлю
ludenus
14.04.2016 18:26+2рядом с Selenide можно упомянуть и seLion
https://github.com/paypal/SeLion — тоже selenium based
по заявлениям разработчиков — использовалась для тестирования paypal
remix9
Круто! Большая работа! Респект!