Что это и зачем оно надо: Как известно, главное преимущество Java мира в том в нем существует огромное количество open-source проектов на на все случаи жизни, однако найти нужный на github'e не так просто, так как описание проекта часто мало информативно, зачастую сложно даже понять этот проект для Android'a или нет. В этой статье я автоматически и полуавтоматически собрал Java проекты, убрал старые и проекты только для Android'a, выбрал 350 набравших больше всего звезд, разделил по категориям и перевел описания.

Если вы хотите убедиться что базы данных пишут не только на C, найти проекты для работы с большими данными или нейронными сетями, пишите свой язык программирования для JVM и хотите посмотреть как это уже сделано или же просто хотите узнать какие новые возможности можно найти в Java мире open-source то это статья вам, думаю, может пригодится.

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.


Другие статьи серии: часть 1. JPA и Hibernate в вопросах и ответах

Проекты, разделенные по категориям

1. Фреймворки и библиотеки


1. Фреймворки- 17 проектов

1. Фреймворки

  1. ReactiveX RxJava библиотека для реализации асинхронного и событийного программирования на основе расширения паттерна Observer для разных языков от ReactiveX.. Лицензия: Apache 2, рейтинг — 6279.English

  2. Spring framework Spring — наверное, самый распространенный фреймворк Java в мире. Лицензия: Apache 2, рейтинг — 5921.English

  3. Eclipse Vert.x Расширяемая application platform для JVM от Eclipse, позволяет писать одновременно на JavaScript, Ruby, Groovy, Java и Python, встраивается в текущие проекты на Java, упрощает мультипоточность. содержит event bus и т.д. и т.п. . Лицензия:  Eclipse Public 1 / Apache 2, рейтинг — 3743.English

  4. Square Dagger Быстрый и легковесный фреймворк от square для реализации dependency injector для Android и Java, имеет более ограниченные возможности чем guava или Spring, но по заявлениям разработчиков работает несколько быстрее. Реализует Java спецификацию JSR-330, описывающую dependency injector. . Лицензия: Apache 2, рейтинг — 3607.English

  5. Netflix Hystrix Библиотека, для корректной обработки отказов сервисов, исключительных ситуаций в распределенных системах, с помощью добавления в систему изолированных точек доступа к сторонним сервисам и распределенным системам, ограничением вероятности каскадных ошибок при отказе одного из сервисов и т.д. . Лицензия: Apache 2, рейтинг — 3571.English

  6. Spark Фреймворк, вдохновленный фреймоворком Sinatra, для java. Лицензия: Apache 2, рейтинг — 2596.English

  7. Alibaba Dubbo Dubbo это фреймворк для разработки распределенных приложений с возможностями передачи сообщений, кластеризации, работе с событиями, подписками и т. п. с высокопроизводительным RPC. Лицензия: Apache 2, рейтинг — 1917.English

  8. Guice Guice (произносится 'juice') это легковесный dependency injection фреймворк для Java 6 и выше, созданный Google… Лицензия: Apache 2, рейтинг — 1881.English

  9. Netflix Curator Curator Framework это фреймворк для работы с Apache ZooKeeper сервером. Лицензия: Apache 2, рейтинг — 1158.English

  10. Cucumber jvm Портирование Cucumber фреймворка для JVM. Лицензия: MIT, рейтинг — 1047.English

  11. Rootbeer1 Rootbeer GPU Compiler — программирование с использованием GPU на Java. Лицензия: MIT, рейтинг — 972.English

  12. Oblac Jodd Jodd это набор Java инструментов и микро фреймворк, компактный, но мощный. Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.5 Mb. Лицензия: BSD 2, рейтинг — 912.English

  13. Reactive streams jvm Reactive Streams спецификация для JVM — предлагает стандарты для асинхронной потоковой обработки с отсутствие проблем с блокировками. Лицензия: Public Domain (CC0), рейтинг — 769.English

  14. Storm contrib storm-contrib это свободный репозиторий с модулями, использующими Storm. Они включают разные spouts/bolts для интеграции с другими системами (Redis, Kafka, MongoDB, etc), и код для решений типовых задач Storm разработчиков… Лицензия: Eclipse Public 1.0, рейтинг — 504.English

  15. Spring projects Spring batch Spring Batch это легковесный, всеобъемлющий фреймворк, предназначенный для разработки надежных приложений, работающих по расписанию (batch applications), жизненно важных для ежедневных операций корпоративных систем… Лицензия: Apache 2, рейтинг — 448.English

  16. DozerMapper Dozer Dozer это маппинг одного Java Bean на другой Java Bean которые создает рекурсивную копию одного объекта в другом. Лицензия: Apache 2, рейтинг — 421.English

  17. Greenrobot common greenrobot-common — маленькая библиотека добавляющая общие утилиты и классы (например, классы работы со stream-based IO, файлами, строками, датой/временем и hash map/hash set с примитивными типами) для Android and Java проектов.. Лицензия: Apache 2, рейтинг — 419.English


2. Полезные библиотеки- 11 проектов

2. Полезные библиотеки

  1. zxing открытая разноформатная библиотека для обработки 1D/2D barcode изображений с реализацией на Java и портированием на другие языки. . Лицензия: Apache 2, рейтинг — 5314.English

  2. Google Guava Очень популярная библиотека от гугла, расширяющая возможности JDK, в том числе определяющая новые коллекции, добавляющая элементы функционального программирования в Java и т.п. Работает с JDK1.6 и выше.. Лицензия: Apache 2, рейтинг — 3813.English

  3. Java Native Access Java Native Access — система доступа к нативному API. Лицензия: LGPL 2.1/Apache 2, рейтинг — 1750.English

  4. Tobie ua-parser много языковой портирование парсера параметра user agent браузером. Лицензия: Apache 2/MIT/Perl, рейтинг — 1497.English

  5. Typesafehub config библиотека для работы с разными типами конфигурационных файлов для JVM языков. Лицензия: Apache 2, рейтинг — 1369.English

  6. Athou commafeed RSS reader, основанный Dropwizard и AngularJS, вдохновленный Google Reader. Лицензия: Apache 2, рейтинг — 1226.English

  7. flyingsaucer Flying Saucer это Java библиотека для использования XML или XHTML с использованием CSS 2.1 для генерации PDF, изображений или Swing panels… Лицензия: GNU 2.1, рейтинг — 504.English

  8. jcommander Библиотека для парсинга параметров командных строк. Лицензия: Apache 2, рейтинг — 445.English

  9. Smack Библиотека для создания XMPP клиента для JVMs и Android. Лицензия: Apache 2, рейтинг — 426.English

  10. CSSEmbed это небольшая программ/библиотека для автоматического добавления URIs в CSS files. Лицензия: MIT, рейтинг — 407.English

  11. Jline это java библиотека для работы с консолью (ввод, редактирование в emacs и vi режимах), так же как библиотеки Readline и Editline, однако при этом так как Jline почти полностью написана на Java является полностью платформонезависимой… Лицензия: BSD 4, рейтинг — 396.English


3. Добавление новых возможностей в язык Java и JVM- 10 проектов

3. Добавление новых возможностей в язык Java и JVM

  1. Lombok Очень горячие добавления для языка программирования Java. Лицензия: MIT, рейтинг — 1540.English

  2. Joda time Joda Time это широко распространенная замена стандартных классов date и time в Java. Лицензия: Apache 2, рейтинг — 1442.English

  3. Gs collections Дополнение или замена стандартных Java коллекций и методов работающих с коллекциями. Лицензия: Apache 2, рейтинг — 1201.English

  4. Puniverse Quasar Quasar это библиотека, добавляющая Fibers (высокопроизводительные легкие threads), Go-подобные channels и Erlang-подобные actors в JVM. Лицензия: Eclipse Public v1.0/GNU Lesser 3, рейтинг — 1091.English

  5. Retrolambda Поддержка лямба выражений из Java 8 в Java 7, 6 и 5. Лицензия: Apache 2, рейтинг — 1059.English

  6. Google Jimfs Jimfs это in-memory файловая система для Java 7 и выше, реализующая API абстрактной файловой системы, описанный в java.nio.file… Лицензия: Apache 2, рейтинг — 752.English

  7. Kilim Легковесные потоки для Java с обменом сообщениями, nio, http и поддержкой расписания. Лицензия: MIT, рейтинг — 517.English

  8. Functionaljava Добавление функционального программирования в Java. Лицензия: BSD 3 , рейтинг — 478.English

  9. OpenHFT Chronicle Queue Chronicle Queue работает так же как обычная Java очередь, однако каждое события сохраняется на жесткий диск. Лицензия: GNU Lesser 3.0, рейтинг — 440.English

  10. Ocpsoft Prettytime PrettyTime это библиотека форматирования Java date в выражение на натуральном языке и в формате принятом в социальных сетях (Digg, Twitter, and Facebook) и более чем на 30 человеческих языках. Лицензия: Apache 2, рейтинг — 394.English

  11. TotallyLazy (Update: предложено в комментариях к статье) Библиотека функционального программирования для работы с ленивыми структурами данных (например, такими как Clojure's), в частности с последовательностями (map, filter, fold/reduce...), есть Option, Either, Hamcrest matchers as predicates, ML family of function / method names (Standard ML, oCaml, F#, Scala, Haskell) и т.д.. Лицензия: ?, рейтинг — 76.English


4. Вебфреймворки- 19 проектов

4. Вебфреймворки

  1. Play Framework Play Framework позволяет легко разрабатывать расширяемые вебприложения на Java и Scala.. Лицензия: Apache 2, рейтинг — 6771.English

  2. Atmosphere — фреймворк для разработки клиентской и серверной части асинхронных веб.приложений, поддерживающий разные серверны, браузеры и плагины. Лицензия: CDDL1 / Apache 2, рейтинг — 2235.English

  3. Grails core — вебфреймворк. Лицензия: Apache 2, рейтинг — 1386.English

  4. Ghost Driver это реализация Remote WebDriver Wire протокола, использующая PhantomJS как бэкенд. Лицензия: BSD 2, рейтинг — 1179.English

  5. Ninja это полноценный веб фреймворк для Java. Надежный, быстрый и очень продуктивный… Лицензия: Apache 2, рейтинг — 894.English

  6. Electronicarts Orbit — современный фреймворк для JVM языков, который упрощает создание и обслуживание распределенных и масштабируемых онлайн сервисов. Лицензия: BSD 3, рейтинг — 741.English

  7. Mustache.java — портирование Mustache.js (систему создания и использования веб.шаблонов с минимальной бизнес логикой) для Java. Лицензия: Apache 2, рейтинг — 733.English

  8. Ratpack это простой, мощный набор библиотек для создания высокопроизводительных вебприложений. Лицензия: Apache 2, рейтинг — 662.English

  9. B3log Solo — система управления блогами на Java. Лицензия: Apache 2, рейтинг — 519.English

  10. Baasbox это проект для создания backend для мобильных и веб приложений. Лицензия: ?, рейтинг — 499.English

  11. 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. Лицензия: ?, рейтинг — 480.English

  12. Gargl — Generic API Recorder and Generator Lite (произносится «Gargle») — инструмент для автоматизации любого вебсайта, позволяет записывать любые запросы к сайту и превращать их в повторно используемый код на любом из языком программирования. Лицензия: MIT, рейтинг — 462.English

  13. Handlebars.java это портирование Handlebars на Java, Handlebars система работы с шаблонами Mustache. Лицензия: Apache 2, рейтинг — 451.English

  14. Liferay plugins — набор плагинов для Liferay портала. Лицензия: GNU Lesser 2.1, рейтинг — 444.English

  15. Netflix Ribbon это библиотека для создания load balancers. Лицензия: Apache 2, рейтинг — 410.English

  16. Gwt bootstrap это библиотека объединяющая виджеты из Twitter Bootstrap и возможности Google Web Toolkit. Лицензия: Apache 2, рейтинг — 409.English

  17. Netflix Zuul это сервис (edge service), обрабатывающий все запросы от всех устройств и вебсайтов к backend всех Netflix потоковых приложений, он обеспечивает динамическую маршрутизацию, мониторинг, отказоустойчивость и безопасность… Лицензия: Apache 2, рейтинг — 407.English

  18. Vaadin — фреймворк для разработки веб-приложений с server-side моделью программирования и состоянием UI на сервере. Лицензия: Apache 2, рейтинг — 398.English

  19. ZK framework (Update: предложено в комментариях к статье) Java фреймворк для создания высокопроизводительных веб и мобильных приложений… Лицензия: GNU Lesser, рейтинг — 161.English


5. Игровые фреймворки- 6 проектов

5. Игровые фреймворки

  1. libgdx Кросплатформенный фреймворк для разработки игр на основе OpenGL (ES), работает под Windows, Linux, Mac OS X, Android, iOS и в браузерах с WebGL. . Лицензия: Apache 2, рейтинг — 6579.English

  2. Disunity Экспериментальный набор инструментов для Unity asset и asset bundle files. Лицензия: unlicense.org, рейтинг — 828.English

  3. LibGDX/LWJGL lwjgl-basics это минималистская shader-based библиотека для создания 2D LWJGL sprite игр… Лицензия: ?, рейтинг — 656.English

  4. jMonkeyEngine jMonkeyEngine это 3D игровой движок для Java разработчиков. Лицензия: BSD 3, рейтинг — 624.English

  5. Jetserver Jetserver высокоскоростной nio сокет Java сервер для multiplayer игр созданный используя Netty и Mike Rettig Jetlang. Лицензия: MIT, рейтинг — 484.English

  6. LWJGL 2.X LWJGL 2.X — Легковесная игровая библиотека на Java. Лицензия: BSD 3, рейтинг — 394.English


6. Java библиотеки и фреймворки для авторизации пользователей и обеспечения безопасности- 5 проектов

6. Java библиотеки и фреймворки для авторизации пользователей и обеспечения безопасности

  1. Scribe Java — простая OAuth библиотека для Java. Лицензия: MIT, рейтинг — 2731.English

  2. Spring security oauth — добавлении методов авторизации OAuth1(a) и OAuth2 для Spring вебприложений… Лицензия: Apache 2, рейтинг — 916.English

  3. Jasig CAS (Central Authentication Service) — обеспечивает стандартный механизм аутентификация пользователей для веб приложений. Лицензия: Apache 2, рейтинг — 740.English

  4. Spring security — Spring фреймворк для авторизации и управлению пользователями и безопасностью приложений. Лицензия: Apache 2, рейтинг — 732.English

  5. Play Authenticate — аутентификацонный плагин для Play фреймворка. Лицензия: Apache 2, рейтинг — 646.English


7. Фреймворки и библиотеки для создания бизнес приложений на Java- 7 проектов

7. Фреймворки и библиотеки для создания бизнес приложений на Java

  1. Codecademy EventHub — позволяет анализировать бизнес события, чтобы получать KPI, conversion rate и т. п. Бизнес метрики событий. Лицензия: MIT, рейтинг — 1043.English

  2. Killbill — свободная платформа билинга и проведения платежей. Лицензия: Apache 2, рейтинг — 902.English

  3. Activiti это легковесная система управления бизнес процессами (Business Process Management (BPM) Platform ). Лицензия: Apache 2, рейтинг — 861.English

  4. Liferay Portal это свободная вебплатформа для построения бизнес приложений. Лицензия: GNU Lesser 2.1, рейтинг — 739.English

  5. Broadleaf Commerce — eCommerce фреймворк для крупных предприятий, основанный на Spring. Лицензия: Apache 2, рейтинг — 518.English

  6. Droolsjbpm Drools это приложение Business Rules Management System (BRMS), которое реализует Business Rules Engine (BRE), механизма авторизации, управления правилами (rules), управление приложением (Drools Workbench) и плагин для разработки под Eclipse IDE… Лицензия: Apache 2, рейтинг — 421.English

  7. Spring Roo — фреймворк с открытым исходным кодом для быстрого создания бизнес-приложений на Java. Полученные в результате приложения используют общие технологии Java, такие как Spring Framework, Java Persistence API, JSP, Apache Maven и AspectJ. Spring Roo является частью проекта Spring… Лицензия: Apache 2, рейтинг — 399.English


8. Сериализация (serializer) и работа с файлами (I/O)- 4 проекта

8. Сериализация (serializer) и работа с файлами (I/O)

  1. Square Okio Современный I/O API для Java. Лицензия: Apache 2, рейтинг — 1243.English

  2. Square type Легкий, быстрый, транзакционный, файловый FIFO для Android и Java… Лицензия: Apache 2, рейтинг — 1073.English

  3. Simple Binary Encoding (SBE) это реализация кодирования и декодирования сообщений приложения бинарный формат для систем требующих очень быстрое время ответа. Лицензия: Apache 2, рейтинг — 612.English

  4. MessagePack — реализация быстрой сериализации в компактный бинарный формат для Java. Лицензия: Apache 2, рейтинг — 448.English


9. Работа с изображением и видео - 5 проектов

9. Работа с изображением и видео

  1. Facebook Rebound Это Java библиотека которая моделирует поведение физики реального мира в вашем приложении. Лицензия: BSD, рейтинг — 2219.English

  2. Processing Исходный код для Processing Development Environment (PDE) — программному языку для обработки видео и графики. Лицензия: GNU 2, рейтинг — 1896.English

  3. JavaCV JavaCV использует конвертер Java-C++ JavaCPP Presets для простого использования библиотек для работы с компьютерным зрением (OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, ARToolKitPlus, and flandmark) и реализует классы-утилиты для облегчения работы с этими библиотеками на платформе Java. Лицензия: Apache 2, рейтинг — 503.English

  4. imgscalr Простая библиотека Java для масштабирования изображений. Лицензия: Apache 2, рейтинг — 451.English

  5. webcam-capture Данный проект позволяет получить доступ к USB вебкамере или remote IP / сетевой камере напрямую из Java кода. Лицензия: MIT, рейтинг — 437.English


10. Логирование (logging)- 2 проекта

10. Логирование (logging)

  1. Graylog2 server свободная и открытая система логирования. Лицензия: GNU 3, рейтинг — 1308.English

  2. logback надежный, универсальный, быстрый и гибкий фреймворк для логировани в Java… Лицензия: Eclipse Public 1.0/GNU Lesser 2.1, рейтинг — 497.English

  3. slf4j (Update: предложено в комментариях к статье) Библиотека предлагает Facade логирования для простого переключения между разными библиотеками логирования (java.util.logging, logback, log4j и т. п.). Лицензия: MIT, рейтинг — 384.English


2. Базы данных и поисковые системы


1. Базы данных и хранилища- 25 проектов

1. Базы данных и хранилища

  1. Thinkaurelius Titan — распределенная графическая база данных. Лицензия: Apache 2, рейтинг — 2846.English

  2. Apache Cassandra — зеркало для Apache Cassandra — база данных с высокой доступностью и высокой расширямостью и отличной производительностью. Лицензия: Apache 2, рейтинг — 2155.English

  3. Orientdb это первая база данных с множественной моделью и поддержкой и документного хранилища и графов. Лицензия: Apache 2/CDDL 1/Eclipse Distribution 1.0, рейтинг — 1880.English

  4. Neo4j — одна из самых популярных в мире графических баз данных. Лицензия: GNU 3/ GNU AGPLv3, рейтинг — 1787.English

  5. Mapdb содержит мультипоточные реализации Maps, Sets и Queues, которые могут сохраняться на жестком диске или в off-heap-memory. Это быстрый и простой способ создать embedded Java базу данных… Лицензия: Apache 2, рейтинг — 1484.English

  6. Voldemort свободный клон Amazon's Dynamo, распределенное key-value хранилище. Лицензия: Apache 2, рейтинг — 1480.English

  7. Amplab Tachyon это распределенное хранилище, ориентированное на работу с оперативной памятью и разделении данных между кластерами. Лицензия: Apache 2, рейтинг — 1459.English

  8. Opentsdb это распределенная и масштабируемая база данных, работающих с временными рядами (Time Series Database TSDB) работающая поверх Hbase. Лицензия: GNU 3, рейтинг — 1336.English

  9. Hazelcast Hazelcast свободное In-Memory хранилище. Лицензия: Apache 2, рейтинг — 1167.English

  10. Tinkerpop Blueprints Добавление Blueprint Property Graph Model Interface в различные графические базы данных. Лицензия: BSD 3, рейтинг — 1083.English

  11. Apache Lucene solr Зеркало Apache Lucene & Solr — тестового поисковой движка. Лицензия: Apache 2, рейтинг — 1069.English

  12. Java Chronicle Java Indexed Record Chronicle — библиотека, хранения данных, работы с сообщениями и событиями.. Лицензия: Apache 2, рейтинг — 970.English

  13. Torodb ToroDB база данных. Лицензия: GNU AGPLv3, рейтинг — 951.English

  14. Crate CRATE: Your Elastic Data Store — распределенная система, создающая бэкенд (или кластер) на основе nosql баз данных и свободных компонент (Presto, Elasticsearch, Lucene, Netty). Лицензия: Apache 2, рейтинг — 925.English

  15. Linkedin Pinot Linkedin pinot — Распределенный OLAP хранилище, работающее в режиме реального времени, которое используется Linkedin для получение аналитических данных в режиме реального времени… Лицензия: Apache 2, рейтинг — 854.English

  16. Solandra Solandra — распределенный real-time поисковый движок построенный на основе Apache Solr и Apache Cassandra… Лицензия: Apache 2, рейтинг — 808.English

  17. Voltdb VoltDB это горизонтально масштабируемая in-memory SQL RDBMS база данных, разработанная для приложений которым требует особенно высокая пропускная способность базы данных на чтение и запись. Лицензия: GNU AGPLv3, рейтинг — 586.English

  18. Leveldb Портирование LevelDB на Java. LevelDB это быстрое key-value хранилище, разработанное Google. Лицензия: Apache 2, рейтинг — 525.English

  19. Kairosdb KairosDB — быстрая распределенная расширяемая time series база данных, написанная поверх Cassandra.. Лицензия: Apache 2, рейтинг — 485.English

  20. Linkedin Sensei Распределенная поисковая база данных для работы в реальном времени. Лицензия: Apache 2, рейтинг — 464.English

  21. Elephantdb Распределенная база данных, специализирующая на экспорте key/value данных из Hadoop. Лицензия: BSD 3, рейтинг — 464.English

  22. Apache Drill Зеркало Apache Drill. Без схемовый движок обработки SQL запросов для Hadoop, NoSQL и облачных сервисов. Лицензия: Apache 2, рейтинг — 448.English

  23. Tinkerpop Rexster это сервер графических баз данных, который может передать любые данные графов через REST и бинарный протокол, называемый RexPro.. Лицензия: BSD 3, рейтинг — 402.English

  24. Tomcat redis session manager Основанное на Redis простое хранилище сессий для Apache Tomcat. Лицензия: MIT, рейтинг — 396.English

  25. Embulk это открытый пакетный (bulk) загрузчик данных, который помогает трансформировать данные между разными базами данных, хранилищ, файловых форматов и облачных сервисов. Лицензия: Apache 2, рейтинг — 394.English


2. Поисковые системы- 6 проектов

2. Поисковые системы

  1. Elasticsearch — одна из самых популярных систем распределенного облачного поиска.. Лицензия: Apache 2, рейтинг — 11833.English

  2. Linkedin Indextank Engine Проект IndexTank это поисковый движок, поддерживающий возможности вроде переменных (boosts), категорий (facets), предложения, автокомплит и т. п… Лицензия: Apache 2, рейтинг — 788.English

  3. Apache Solr Зеркало Apache Solr. Apache Solr это поисковый сервер, основанный на Apache Lucene поисковой библиотеке.. Лицензия: Apache 2, рейтинг — 486.English

  4. Linkedin Cleo Linkedin Cleo это гибкое библиотека для создания умных подсказок поиска… Лицензия: Apache 2, рейтинг — 478.English

  5. Elasticsearch cloud aws Плагин для работы ElasticSearch с Amazon Web Service (AWS) облаками. Лицензия: Apache 2, рейтинг — 435.English

  6. Elasticsearch analysis ik The IK Analysis плагин интеграции с Lucene IK анализаторов для elastic search, поддерживающий пользовательские словари. Лицензия: ?, рейтинг — 395.English


3. Клиенты и драйверы баз данных - 21 проектов

3. Клиенты и драйверы баз данных

  1. Facebook Presto Библиотека для работы с распределенными SQL запросами к big data источникам (Cassandra, Hive, Kafka, MySQL, PostgreSQL и т.п.). . Лицензия: Apache 2, рейтинг — 3603.English

  2. Jedis Невероятно маленький и эффективный Redis Java клиент. Лицензия: MIT, рейтинг — 2495.English

  3. Tinkerpop Gremlin это язык для работы с графами и разными графическими базами данных (обхода графов, запросы к графам, манипуляции и т. п.)… Лицензия: BSD 3, рейтинг — 1370.English

  4. Mongodb Java Driver Java клиент для MongoDB. Лицензия: Apache 2 / Creative Commons Attribution, рейтинг — 1276.English

  5. Yahoo Mysql_perf_analyzer Анализатор производительности MySQL. Лицензия: Apache 2, рейтинг — 1082.English

  6. Airbnb Airpal Веб UI для PrestoDB. Лицензия: Apache 2, рейтинг — 1074.English

  7. Mongodb hadoop MongoDB клиент для интеграции с Hadoop. Лицензия: ?, рейтинг — 937.English

  8. Elasticsearch jdbc JDBC поддержка для Elasticsearch. Лицензия: Apache 2, рейтинг — 867.English

  9. Flyway — инструмент по миграции баз данных. Лицензия: Apache 2, рейтинг — 851.English

  10. Elasticsearch river mongodb — MongoDB River Plugin для ElasticSearch, использует MongoDB как хранилище для ElasticSearch. Лицензия: Apache 2, рейтинг — 794.English

  11. Netflix Astyanax Cassandra Java клиент. Лицензия: Apache 2, рейтинг — 735.English

  12. Liquibase Liquibase — система, позволяющая проводить миграции и обновления баз данных, генерировать SQL скрипты, документацию изменений баз данных, проводить рефакторинг и т. д… Лицензия: Apache 2, рейтинг — 734.English

  13. Mongodb Morphia Библиотека для простой сериализации объектов Java в документы MongoDB. Лицензия: Apache 2, рейтинг — 725.English

  14. Couchdb lucene Полнотекстовый поиск CouchDB документов, используя Lucene. Лицензия: Apache 2, рейтинг — 639.English

  15. Forcedotcom Phoenix Phoenix это SQL оболочка поверх Hbase с JDBC драйвером. Phoenix обеспечивает очень быстрый отклик (в течении миллисекунд), в отличии от пакетных операций map/reduce. Лицензия: BSD 3, рейтинг — 507.English

  16. Variety Анализатор схемы MongoDB. Лицензия: MIT, рейтинг — 505.English

  17. Redisson Redisson — добавляет Java структуры данных (Set, SortedSet, Map, ConcurrentMap, List, Queue, BlockingQueue, Deque, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, HyperLogLog, Redis pipelining) в Redis сервер. И является высокопроизводительным и неблокирующим Java Redis клиентом. Лицензия: Apache 2, рейтинг — 483.English

  18. Netflix Priam Co-Process это набор инструментов для работы с Cassandra (архимирование и востановление, работа с токенами и т. д.). Лицензия: Apache 2, рейтинг — 481.English

  19. Datastax Java driver Java клиент для Apache Cassandra и DataStax. Лицензия: Apache 2, рейтинг — 480.English

  20. Memcached Java Client java клиент для memcached. Лицензия: BSD 4, рейтинг — 436.English

  21. Spring data mongodb Java клиент к MongoDB для фреймворка Spring. Лицензия: Apache 2, рейтинг — 394.English


4. Маппинг объектов в базы данных (ORM и т. п.)- 8 проектов

4. Маппинг объектов в базы данных (ORM и т. п.)

  1. HikariCP HikariCP — быстрая, надежная и легкая библиотека для создания JDBC connection pool с минимальными накладными расходами. Лицензия: Apache 2, рейтинг — 1542.English

  2. Mybatis 3 MyBatis это фреймворк маппинга Java объектов в базы данных. Лицензия: Apache 2, рейтинг — 1428.English

  3. Hibernate orm Hibernate's ORM фреймворк, один из самых популярных в Java. Лицензия: GNU Lesser 2.1, рейтинг — 1275.English

  4. JOOQ JOOQ — решение по простой интеграции и мапингу Java приложений с популярными базами данных, такими как Oracle, Microsoft SQL Server, IBM DB2, или SAP Sybase.. Лицензия: Apache 2, рейтинг — 830.English

  5. Querydsl
    Querydsl это Java фреймворк позволяющий конструировать типобезопасные SQL-подобные запросы для множества backends включая JPA, MongoDB и SQL. Лицензия: Apache 2, рейтинг — 570.English

  6. Kundera ORM поддерживающий спецификации JPA 2.1 для полиглот маппинга в различные NoSQL хранилища. Лицензия: Apache 2, рейтинг — 490.English

  7. Spring data jpa Spring Data Jpa — обертка Spring фреймворка над JPa провайдерами. Лицензия: Apache 2, рейтинг — 459.English

  8. Jdbi jDBI предлагает удобный интерфейс над SQL операциями в Java. Лицензия: Apache 2, рейтинг — 458.English

  9. ActiveJDBC (Update: предложено в комментариях к статье) ActiveJDBC это Java реализация Active Record шаблона проектирования. Вдохновлен ActiveRecord ORM в Ruby on Rails… Лицензия: Apache 2, рейтинг — 230.English


3. Работа с данными


1. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)- 9 проектов

1. Системы, для обработки данных (работа с грязными данными, анализ и т.п.)

  1. Storm — распределенная и устойчивая к ошибкам обработка данных в реальном времени: потоковая обработка, непрерывные вычисления, распределенный RPC и другое. Лицензия: Apache 2, рейтинг — 8636.English

  2. OpenRefine — инструменты для обработки «грязных» плохо структурированных данных и улучшения их.. Лицензия: BSD, рейтинг — 2939.English

  3. Addthis Stream lib — библиотека Java для групповых операций на потоковыми данными, таких как оценка мощности (подсчет количества элементов), определение членов множества, оценка частоты, получения первых N элементов и т.п… Лицензия: Apache 2, рейтинг — 1145.English

  4. HdrHistogram (A High Dynamic Range (HDR) Histogram ) — выполняет запись данных, их анализ и построение сложных графиков (Histogram). Лицензия: BSD 2, рейтинг — 672.English

  5. HazyResearch DeepDive это система выделения значений из темных данных. Темные данные, как темная материя, имеют большой вес из текста, таблиц, графиков и изображений и не имеют четкой структуры, что делает их почти не обрабатываемыми обычными способами. Лицензия: Apache 2, рейтинг — 531.English

  6. Apache Incubator Zeppelin это расположенный в веб notebook (записная книжка?), который позволяет проводить анализ данных, их визуализацию и создавать документы, содержащие SQL, Scala и т.п.
    . Лицензия: Apache 2, рейтинг — 463.English

  7. Seldon Server предоставляет реализацию REST API интерфейса для выдачи рекомендаций по контенту и аналитических предсказаний. Лицензия: Apache 2, рейтинг — 453.English

  8. Pulsar — открытая аналитическая платформа, работающая в реальном времени. Лицензия: GNU 2.0, рейтинг — 435.English

  9. Suro: Netflix's Data Pipeline — это сервис для сбора, агрегации и управления большим количеством разнообразных событий, включая данные логов.. Лицензия: Apache 2, рейтинг — 405.English


2. Большие данные (big data)- 19 проектов

2. Большие данные (big data)

  1. Apache Storm — зеркало для Apache Storm — свободную и распределенную систему обработки данных в реальном времени, аналог Hadoop, но для быстрой потоковой обработки данных, может использоваться с любым языком программирования… Лицензия: Apache 2, рейтинг — 2098.English

  2. Druid это column-oriented хранилище и система обработки в реальном времени для обработки потоковых и пакетной информации и интегрированная с Samza, Kafka, Storm, and Hadoop. Лицензия: Apache 2, рейтинг — 1846.English

  3. H2o = добавляет математические операции в Hadoop, h2o позволяет быстро вычислять статистику, машинное обучение и математические операции для bigdata. Лицензия: Apache 2, рейтинг — 1725.English

  4. Cloudera Oryx это простая инфраструктура, обеспечивающая высоко нагруженную систему машинного обучения, анализа и выдачи прогнозов в режиме реального времени, работающая с Apache Hadoop, HTTP REST API и реализующая lambda architecture.. Лицензия: Apache 2, рейтинг — 1142.English

  5. Twitter Ambrose это платформа для визуализации и мониторинга в реальном времени MapReduce data workflows.. Лицензия: Apache 2, рейтинг — 1024.English

  6. Twitter Elephant bird — набор коллекций и алгоритмов от Twitter'а, для работы с Hadoop lzo, Apache Thrift, Hadoop, Pig, Hive, и HBase… Лицензия: Apache 2, рейтинг — 861.English

  7. Apache Hadoop — зеркало Apache Hadoop. Систему для обработки Bigdata. Лицензия: Apache 2, рейтинг — 803.English

  8. Google Mr4c это фрейворк, который позволяет запускать нативный код в Hadoop. Лицензия: GNU Lesser 3, рейтинг — 702.English

  9. Alibaba Jstorm — распределенная и устойчивая к ошибкам система вычисления результатов в реальном времени, вдохновленная Apache Storm,… Лицензия: Apache 2, рейтинг — 654.English

  10. Apache Hive — зеркало Apache Hive. Фреймворк для созданий SQL подобного языка запросов для Hadoop. Лицензия: Apache 2, рейтинг — 619.English

  11. Etsy Oculus находит аномальную корреляцию компонент системы Kale system. После того, как вы ввыбрали интересную или аномальную метрику, Oculus найдете все другие метрики в вашей системе, которые выглядят похоже… Лицензия: MIT, рейтинг — 618.English

  12. Linkedin Datafu это Hadoop библиотека для крупномасштабных систем обработки данных, на данный момент это проект в Apache Incubator. Лицензия: Apache 2, рейтинг — 570.English

  13. Linkedin Gobblin это универсальный интеграционный фреймворк работающий на Hadoop для получения, трансформации и загрузки большого количества данных в различные источники данных, такие как базы данных, rest APIs, FTP/SFTP сервера и т.д.. Лицензия: Apache 2, рейтинг — 547.English

  14. Apache Kylin это открытая распределенная аналитическая система, которая обеспечивает SQL интерфейс и OLAP отчеты для Hadoop… Лицензия: Apache 2, рейтинг — 504.English

  15. Umongo — десктопное приложение для просмотра и управления вашим MongoDB кластером. Лицензия: Apache 2, рейтинг — 495.English

  16. Apache Flink — зеркало Apache Flink. Apache Flink это открытая платформа для обработки потоковых и пакетных данных. Лицензия: Apache 2, рейтинг — 475.English

  17. Elasticsearch hadoop — интеграция поиска и анализ ElasticSearch в Hadoop. Лицензия: Apache 2, рейтинг — 457.English

  18. Oryx 2 — реализация лямбда архитектуры для Apache Spark и Apache Kafka, но со специализацией на машинном обучении в реальном времени. Лицензия: Apache 2, рейтинг — 456.English

  19. Yahoo SAMOA (Scalable Advanced Massive Online Analysis) — открытая платформа для потоковой обработки больших данных (mining big data). Лицензия: Apache 2, рейтинг — 394.English


4. Машинное обучение, нейроные сети, естественный языки


1. Машинное обучение и нейроные сети- 8 проектов

1. Машинное обучение и нейроные сети

  1. Airbnb Aerosolve Библиотека для машинного обучения, дружелюбная к пользователям (простая в настройке и т. п.). Лицензия: Apache 2, рейтинг — 1672.English

  2. Smile SmileMiner (Statistical Machine Intelligence and Learning Engine) — набор Java библиотек различных алгоритмов машинного обучения. Лицензия: Apache 2, рейтинг — 1519.English

  3. Deeplearning4j Deep Learning нейронная сеть, написанная на Java и Scala, с интеграцией с Hadoop, Spark и другими backends, которые могут работать как с центральным, так и с графическим процессором. Лицензия: Apache 2, рейтинг — 1172.English

  4. 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, рейтинг — 812.English

  5. Neuralnetworks Алгоритмы машинного обучения и нейронных сетей с использованием GPU процессора. Лицензия: MIT, рейтинг — 583.English

  6. Datumbox framework Datumbox это фреймворк для быстрой разработки систем машинного обучения и анализа статистики. Лицензия: Apache 2, рейтинг — 525.English

  7. Apache Mahout Зеркало Apache Mahout. Задачей проекта Apache Mahout является создание окружения для быстрой разработки масштабируемых и производительных систем машинного обучения. Лицензия: Apache 2, рейтинг — 492.English

  8. Encog java core Encog это фреймворк для машинного обучения предоставляющий большое число алгоритмов и технологий машинного обучения (нейронные сети, генетические алгоритмы и т. д.). Лицензия: Apache 2, рейтинг — 394.English


2. Работа с естественными языками (NLP)- 1 проект

2. Работа с естественными языками (NLP)

  1. Stanfordnlp CoreNLP Stanford CoreNLP: Java библиотека для работы с Stanford NLP (инструментами для анализа и работы с текстом на естественных языках, например английским). Лицензия: GNU 2, рейтинг — 871.English


5. Интеграция


1. Интеграция- 2 проекта

1. Интеграция

  1. Jmxtrans Интеграция JVM с „внешним мира“ (программами логирования, мониторинга, графики и т. п.). Лицензия: ?, рейтинг — 708.English

  2. Apache Camel Зеркало Apache Camel. Apache Camel — мощный свободный интеграционных фреймворк, основанный на
    Enterprise Integration Patterns… Лицензия: Apache 2, рейтинг — 490.English


2. Парсеры (Parser)- 6 проектов

2. Парсеры (Parser)

  1. Sparklemotion Nokogiri Nokogiri это HTML, XML, SAX, и Reader парсер с подержкой XPath и CSS selector… Лицензия: Apache 2, рейтинг — 3323.English

  2. Jsoup jsoup это Java HTML парсер с использованием DOM, CSS, и jquery. Лицензия: MIT, рейтинг — 2006.English

  3. Webmagic Фреймворк для создания интернет ботов для индексирования (crawler), которые реализует все этапы жизненного цикла crawler: скачивание, управление url, выделение контент и сохранение… Лицензия: Apache 2, рейтинг — 1089.English

  4. Antlr4 ANTLR (ANother Tool для Language Recognition мощный генератор парсеров для чтения, обработки, использование или конвертирования структурированного текста или бинарных файлов. Лицензия: BSD 3, рейтинг — 836.English

  5. Parboiled Элегантный, легкий, простой в использовании и мощный парсер, написанный на Java и Scala. Лицензия: Apache 2, рейтинг — 775.English

  6. Pegdown Обработчик языка разметки Markdown, основанный на PEG парсере, поддерживающим большое количество расширений. Лицензия: Apache 2, рейтинг — 692.English


3. Работа с Json- 9 проектов

3. Работа с Json

  1. Alibaba Fastjson Быстрый JSON обработчик. Лицензия: Apache 2, рейтинг — 2605.English

  2. JSON java Набор классов для работы с JSON в Java, конвертации JSON в XML, CDL, cookie lists, HTTP headers и обратно… Лицензия: Своя open-source лицензия ?, рейтинг — 1561.English

  3. Jsonschema2pojo Генерация Java классов из JSON схемы (или примера JSON) с аннотациями для data-binding для Jackson 1.x or 2.x, Gson и т. п… Лицензия: Apache 2, рейтинг — 914.English

  4. Square Moshi JSON библиотека для Android и Java, служит для упрощения парсинга Json в объекты Java. Лицензия: Apache 2, рейтинг — 765.English

  5. Instagram Ig json parser Быстрый JSON парсер для java проектов. Лицензия: BSD 3, рейтинг — 730.English

  6. FasterXML Jackson core Основная часть Jackson библиотеки для реализации работы с низкоуровневым (»streaming") JSON парсера и генераторов JSON файлов. Лицензия: Apache 2, рейтинг — 682.English

  7. FasterXML Jackson databind Основной data-binding пакет для Jackson (2.x) основанный на потоковом API Jackson Сore. Лицензия: Apache 2, рейтинг — 640.English

  8. Jayway JsonPath Java JsonPath — реализация аналога XPATH только для Json, а не XML. Лицензия: Apache 2, рейтинг — 448.English

  9. Json schema validator Валидация JSON Schema, реализована на чистой Java, создана с целью проверки Json файлов, используя Json схемы. Лицензия: GNU Lesser 3/Apache 2, рейтинг — 411.English


4. Интеграция с Api разных систем (соц. сетей и т. п.)- 8 проектов

4. Интеграция с Api разных систем (соц. сетей и т. п.)

  1. Twitter Zipkin Zipkin это распределенная системы отслеживания, которая используется Twitter для сборк информации о работе всех его различных сервисов. Лицензия: Apache 2, рейтинг — 2442.English

  2. Wizcorp Phonegap facebook plugin Официальный плагин для Facebook в Apache Cordova/PhoneGap. Лицензия: Apache 2, рейтинг — 1587.English

  3. Twitter4j Twitter4J это библиотека для работы с Twitter API в Java (поддерживает работу с JSON, REST Search API, Apache HttpClient, Async API, Streaming API, Async API, Streaming API, HTTP/2). Лицензия: Apache 2, рейтинг — 1551.English

  4. Netflix Ice AWS Usage Tool — система работы с Amazon Web Services. Лицензия: Apache 2, рейтинг — 1358.English

  5. Twitter Commons Библиотека для работы с Twitter для python и JVM. Лицензия: Apache 2, рейтинг — 964.English

  6. Alibaba RocketMQ RocketMQ — это реализация системы обмена сообщениями MQ (Message queue) для взаимодействия с различными сервисами портала Alibaba. Лицензия: Apache 2, рейтинг — 627.English

  7. Twitter Hbc Java HTTP клиент для работы Twitter's Streaming API. Лицензия: Apache 2, рейтинг — 498.English

  8. Spring projects Spring social
    Spring Social это расширение Spring Framework, которые позволяет интегрировать ваши приложения с Software-as-a-Service (SaaS) провайдерами, такими как Facebook или Twitter. Лицензия: Apache 2, рейтинг — 409.English


5. Работа с биткойном - 3 проекта

5. Работа с биткойном

  1. XChange XChange это Java библиотека предоставляющая удобный API для взаимодействия с более чем 50+ Bitcoin и Altcoin обменными биржами. Лицензия: MIT, рейтинг — 455.English

  2. bitcoinj Библиотека для работы с Bitcoin. Лицензия: Apache 2, рейтинг — 453.English

  3. DiabloMiner OpenCL майнер для Bitcoin. Лицензия: GNU 3, рейтинг — 443.English


6. Работа с сетью


1. Веб сервера и сервера приложений (web server & application server)- 5 проектов

1. Веб сервера и сервера приложений (web server & application server)

  1. Wildfly — сервер приложений (Application Server). Лицензия: GNU Lesser 2.1, рейтинг — 1386.English

  2. Undertow io Undertow — высокопроизводительный неблокирующий вебсервер. Лицензия: Apache 2, рейтинг — 721.English

  3. Apache Tomcat — зеркало Apache Tomcat — открытый web сервер с поддержкой сервлетов, jsp и некоторых аспектов J2EE. Лицензия: Apache 2, рейтинг — 531.English

  4. Nginx clojure — Nginx модуль с использованием Clojure или Java или Groovy программ. Лицензия: BSD 3, рейтинг — 514.English

  5. Eclipse Jetty.project — Http сервер и контейнер сервлетов. Лицензия: Eclipse Public 1.0 / Apache 2.0, рейтинг — 512.English


2. Сеть и сокеты- 6 проектов

2. Сеть и сокеты

  1. Netty низкоуровневый асинхроно-событийный фреймворк для быстрого создания высокопроизводительных клиент-серверных соединений. Более удобный аналог ассинхронным сокетам из модуля java.nio из JDK. . Лицензия: Apache 2, рейтинг — 4847.English

  2. Netty socketio Реализация Socket.IO сервера на Java. Основан на Netty фреймворке, служит для обеспечение работы с сетевыми соединениями и сокетами. Лицензия: Apache 2, рейтинг — 754.English

  3. Grpc java gRPC-Java это реализация RPC библиотеки и фреймворка на Java. Лицензия: BSD 3, рейтинг — 753.English

  4. Socket.io java client Реализация Socket.IO клиента на Java. Лицензия: MIT, рейтинг — 688.English

  5. Socket.io client.java Полнофункциональная Socket.IO клиентская библиотека для Java, совместимая с Socket.IO v1.0 и выше… Лицензия: MIT, рейтинг — 603.English

  6. EsotericSoftware Kryonet TCP/UDP клиентская и серверная библиотека для Java, основанная на Kryo. Лицензия: BSD 3, рейтинг — 539.English


3. Работа с сообщениями (message), очереди сообщений и прием и отправка сообщений- 7 проектов

3. Работа с сообщениями (message), очереди сообщений и прием и отправка сообщений

  1. LMAX Exchange Disruptor Высокопроизводительная библиотека для поддержки межпоточных сообщений. Лицензия: Apache 2, рейтинг — 3137.English

  2. Gifsockets Коммуникационная библиотека, работающая в режиме реального времени и использующая Animated Gifs как транспорт. Лицензия: Eclipse Public 1.0, рейтинг — 1414.English

  3. Real logic Aeron Эффективная и надежная система отправки и получения одноадресных и многоадресных сообщения по сети (Publisher, Subscriber, Event, Monitoring и т.п.)… Лицензия: Apache 2, рейтинг — 1103.English

  4. Zeromq Jeromq ZeroMQ — система для работы с распределенными сообщениями, очередями, подписками и т.д… Лицензия: GNU 3, рейтинг — 834.English

  5. Metamorphosis Высокопроизводительная распределенная система обмена сообщениями. Лицензия: Apache 2, рейтинг — 580.English

  6. Igniterealtime Openfire Openfire это RTC (real time collaboration) сервер использующий широко распространенные протоколы обмена сообщениями, такие как XMPP (так же называемый Jabber). Лицензия: Apache 2, рейтинг — 470.English

  7. Zeromq Jzmq JZMQ это клиент для интеграции Java приложения с libzmq (например ZeroMQ, 0MQ). Лицензия: GNU 3, рейтинг — 415.English


4. Работа с http и ssh- 11 проектов

4. Работа с http и ssh

  1. Square Okhttp HTTP & SPDY (новый формат HTTP от гугла) клиент для Android и Java. . Лицензия: Apache 2, рейтинг — 5022.English

  2. AsyncHttpClient Асинхронная Http и WebSocket клиентская библиотека для Java. Лицензия: Apache 2, рейтинг — 2149.English

  3. Http request Java библиотека для отправки различных HTTP Request и получения response. Лицензия:  MIT., рейтинг — 1477.English

  4. Nanohttpd Крошечный и простой embeddable HTTP сервер для Java… Лицензия: BSD 3, рейтинг — 1184.English

  5. Http kit Http-kit это минималистский, событийный, высокопроизводительный Clojure HTTP сервер и клиентская библиотека с WebSocket и поддержкой асинхронности. Лицензия: Apache 2, рейтинг — 1172.English

  6. Apache Zookeeper Зеркало Apache Hadoop ZooKeeper — позволяет разрабатывать и поддерживать сервер, который позволяет очень надежную распределенную координации.. Лицензия: Apache 2, рейтинг — 987.English

  7. Moco Простой HTTP Stub сервер, для простого тестирования интеграции. Лицензия: MIT, рейтинг — 857.English

  8. Webbit Webbit — событийно-ориентированный вебсокет и HTTP сервер. Лицензия: BSD 3, рейтинг — 648.English

  9. Mashape Unirest java Unirest in Java: Упрощенная и легковесная HTTP клиент библиотека… Лицензия: MIT, рейтинг — 537.English

  10. Sshj Поддержка ssh, scp и sftp для java. Лицензия: Apache 2, рейтинг — 500.English

  11. Netflix Feign Feign позволяет создавать Java Http клиента проще и быстрее. Feign основан на Retrofit, JAXRS-2.0 и WebSocket. Лицензия: Apache 2, рейтинг — 485.English


5. Работа с rest- 7 проектов

5. Работа с rest

  1. Square Retrofit Типобезопасная библиотека для создания REST клиента для Android и Java. . Лицензия: Apache 2, рейтинг — 5945.English

  2. Dropwizard фреймворк для создания RESTful сервисов.. Лицензия: Apache 2, рейтинг — 3427.English

  3. Swagger core Примеры и сервер интеграция для генерации Swagger API спецификаий, которые позволяют создать легкий доступ к вашему REST API. Лицензия: Apache 2, рейтинг — 2657.English

  4. Generator jhipster Хипстер стек для Java разработчиков: Yeoman + Maven + Spring + AngularJS в одном генераторе. Лицензия: Apache 2, рейтинг — 2352.English

  5. Jersey Зеркало Jersey 2.x. Jersey это REST фреймворк реализующий JAX-RS спецификацию. Лицензия: CDDL 1.01, рейтинг — 864.English

  6. Linkedin Rest.li Rest.li это REST+JSON фреймворк для создания надежных, маштабируемых сервисов с использованием простого асинхронного API и dynamic discovery спецификацию… Лицензия: Apache 2, рейтинг — 825.English

  7. Spring projects Spring hateoas Spring HATEOAS — этот проект поддерживает APIs для легкого создания REST сервисов поддерживающих HATEOAS принципы для Spring и особенно Spring MVC… Лицензия: Apache 2, рейтинг — 456.English


7. Инструменты для упрощения разработки


1. IDE- 9 проектов

1. IDE

  1. JetBrains Intellij Сommunity IntelliJ IDEA Community Edition — одна из лучший IDE для Java. Лицензия: Apache 2, рейтинг — 2068.English

  2. JetBrains Ideavim Плагин, эмулирующий Vim для IDE, основанных на IntelliJ платформе. Лицензия: GNU 2, рейтинг — 1199.English

  3. Rstudio RStudio это IDE для языка R. Лицензия: GNU AGPLv3, рейтинг — 1048.English

  4. Vrapper Плагин по добавлению Vim-подобного редактора в Eclipse. Лицензия: GNU 3.0, рейтинг — 669.English

  5. Eclipse themes Jeeeyul's Eclipse Themes (прошлое имя Eclipse Chrome Theme) это возможность настроить каждую деталь Eclipse'а. Лицензия: Eclipse Public 1.0, рейтинг — 623.English

  6. Eclipse color theme Eclipse Color Theme позволяет легко импортировать и удобно менять цветовые темы без побочных эфектов. Лицензия: Eclipse Public 1.0, рейтинг — 614.English

  7. Eclim Добавление в редактор Vim возможностей Eclipse IDE. Лицензия: GNU 3, рейтинг — 590.English

  8. JetBrains MPS JetBrains MPS (Meta programming System) служит для быстрой разработки DSL (Domain Specific Language) для любого окружения и с возможностью скомпилировать DSL в множество языков, таких как Java, C, XML и другие. Лицензия: Apache 2, рейтинг — 525.English

  9. Idea markdown Поддержка языка разметки Markdown в IntelliJ IDEA… Лицензия: Apache 2, рейтинг — 405.English


2. Инструменты и библиотеки для сборки, конфигурирования и развертывания Java приложений- 8 проектов

2. Инструменты и библиотеки для сборки, конфигурирования и развертывания Java приложений

  1. Google Bazel — корректная, воспроизводимая и быстрая билд система для любых ситуаций. Лицензия: Apache 2, рейтинг — 2809.English

  2. Gradle это мощная система сборки для JVM. Лицензия: Apache 2, рейтинг — 2465.English

  3. Spring Boot — система быстрого развертывания и создания приложений, которых необходимо только запустить. Лицензия: Apache 2, рейтинг — 2386.English

  4. Reactor это полнофункциональная библиотека для разработки быстрых data-driven приложений на JVM. Она предоставляет абстракции для Java, Groovy, Clojure и других JVM языков для создания и обработки событий (event) и простой разработки data-driven приложений… Лицензия: Apache 2, рейтинг — 1569.English

  5. Facebook Buck — система сборки, упрощающая создание небольших, повторно используемых модулей. Лицензия: Apache 2, рейтинг — 1449.English

  6. Spotify Helios это Docker orchestration платформа для развертывания и управления контейнерами с помощью HTTP API или командной строки. Лицензия: Apache 2, рейтинг — 952.English

  7. Netflix Archaius — библиотека, реализующая API для управления конфигурациями, используется Netflix. Лицензия: Apache 2, рейтинг — 614.English

  8. Puniverse Capsule это система сборки приложения в один выполняемый JAR файл со всеми артефактами, ресурсами, нативными библиотеками и т.п… Лицензия: Eclipse Public 1.0, рейтинг — 576.English


3. Производительность- 5 проектов

3. Производительность

  1. Square Leakcanary утилита для поиска ошибок из-за которых происходит memory leak для Android и Java. . Лицензия: Apache 2, рейтинг — 4168.English

  2. Dropwizard Metrics — библиотека для замера различных метрик в Java приложении для простого понимания что и как код делает во время продакшена. . Лицензия: Apache 2, рейтинг — 3188.English

  3. GCViewer Форк Tagtraum GCViewer — небольшой инструмент для подробной визуализации GC (garbage collector) логов (включая G1 collector). Лицензия: GNU Lesser 2.1, рейтинг — 990.English

  4. AdoptOpenJDK Jitwatch Анализатор логов Java HotSpot JIT компилятора, показывающий результаты используя JavaFX интерфейс. Лицензия: BSD 2, рейтинг — 547.English

  5. Naver Pinpoint это APM (Application Performance Management) инструмент мониторинга производительности крупномасштабных распределенных систем, написанных на
    Java. Создан на основе Google's Dapper paper… Лицензия: Apache 2, рейтинг — 486.English


4. Генерация кода- 3 проекта

4. Генерация кода

  1. Google Auto — коллекция генераторов исходного кода в Java… Лицензия: Apache 2, рейтинг — 1442.English

  2. Square Javapoet — библиотека для генерации исходных кодов классов Java. Лицензия: Apache 2, рейтинг — 1057.English

  3. Byte buddy — динамическая генерация кода в Java платформе. Лицензия: Apache 2, рейтинг — 473.English


5. Анализ исходного кода- 3 проекта

5. Анализ исходного кода

  1. SonarQube это свободная платформа для управлением качеством кода. Лицензия: GNU Lesser 3, рейтинг — 655.English

  2. Google Error prone — обнаружение типовых ошибок в Java коде. Лицензия: Apache 2, рейтинг — 590.English

  3. OpenGrok
    Это быстрый и полезные поиск в исходном коде проекта, поиск кросс-ссылок в классах и навигации по дереву исходного кода, он поддерживает разные системы управления кодов, такие как SCCS, RCS, CVS, Subversion, Mercurial и т.п.c… Лицензия: CDDL 1.0, рейтинг — 570.English


6. Прочее- 4 проекта

6. Прочее

  1. Google J2ObjC: Java to Objective-C Translator and Runtime — конвертация языка Java (включая Android) в Objective-C… Лицензия: Apache 2, рейтинг — 2940.English

  2. Spring loaded — Java агент, которые позволяет перегружать Java классы прямо во время работы JVM
    . Лицензия: Apache 2, рейтинг — 807.English

  3. Bytecode viewer Система для реверс-инженеринга Java и Android (декомпилятор, редактор, отладчик и т. д.). Лицензия: GNU 3, рейтинг — 617.English

  4. Reflections сканирует ваш classpath, индексирует метаданные и позволяет строить запросы во время выполнения к метаданным, может сохранять информацию о метаданных вашего проекта. Лицензия: Своя open-source лицензия, рейтинг — 514.English


8. Облака


1. Системы на Java, работающие с облаками, - 5 проектов

1. Системы на Java, работающие с облаками,

  1. Netflix SimianArmy — инструменты для поддержки ваших облачных операций. Chaos Monkey это гибкий инструментарий для создания устойчивых к случайным ошибкам приложений… Лицензия: Apache 2, рейтинг — 2892.English

  2. Netflix Eureka это REST (Representational State Transfer) — сервис для управления AWS (Amazon Web Services ) облаками, обеспечение load balancing и отказоустойчивости. Лицензия: Apache 2, рейтинг — 1051.English

  3. Aws sdk java Официальное зеркало Java AWS SDK (Amazon Web Services). Лицензия: Apache 2, рейтинг — 1008.English

  4. Syncany это облачное хранилище и файл обменное приложение, которое фокусируется на безопансоти и абстрагирования от системы хранения. Лицензия: GNU 3, рейтинг — 772.English

  5. Legacy Jclouds это открытая библиотека, которая поможет начать работать с облаками используя ваши навыки разработки на Java. Поддерживает многие виды облаков включая Amazon, VMWare, Azure, и Rackspace… Лицензия: Apache 2, рейтинг — 507.English


9. Тестирование


1. Тестирование- 13 проектов

1. Тестирование

  1. Junit Простой и популярный фреймворк для unit тестирования. Лицензия:  Eclipse Public 1.0, рейтинг — 3662.English

  2. Mockito Mocking фреймворк для unit тестов, написанных на Java. Лицензия: MIT, рейтинг — 1307.English

  3. Selenium Фреймворк для автоматического тестирования в браузере. Лицензия: Apache 2, рейтинг — 1305.English

  4. Spock Spock это фреймворк тестирования и создания спецификаций для Java и Groovy приложений. Лицензия: Apache 2, рейтинг — 669.English

  5. Google Firing range Google Firing Range это тестовый вебсервер для приложений-сканеров уязвимостей вебсайтов. Firing Range создает широкий спектр синтетических уязвимостей. Лицензия: Apache 2, рейтинг — 650.English

  6. Fitnesse FitNesse это система тестирования, вебсервер и вики. Лицензия: CPL-1.0, рейтинг — 618.English

  7. Sikuli Sikuli служит для написания скриптов, служащих для автоматизации работы со всем что вы ведите на экране… Лицензия: MIT, рейтинг — 609.English

  8. JavaHamcrest Hamcrest это фреймворк для создания условий и правил в программных тестах, написанных на Java, он позволяет создать сложные выражения для этих условий (assertion matcher), которые потом могут использовать в системах unit тестирования, таких как JUnit или jMock.
    . Лицензия: BSD 3, рейтинг — 561.English

  9. Wiremock Инструментарий для создания mock'ов (заглушек для тестирования) HTTP сервисов. Лицензия: Apache 2, рейтинг — 508.English

  10. Testng TestNG фреймворк для тестирования. Лицензия: Apache 2, рейтинг — 477.English

  11. Galenframework Galen Galen Framework это мощный фреймворк для автоматического тестирования дизайна и функционала вебсайтов. Использует Selenium для работы с браузером и автоматического тестирования вебсайтов. Лицензия: Apache 2, рейтинг — 449.English

  12. Assertj core AssertJ это библиотека предоставляющая мощный механизм работы с условиями (assertion) для тестовых фреймворков. Лицензия: Apache 2, рейтинг — 423.English

  13. Google truth Фреймворк для задания ограничений и утверждений (Assertion/Proposition) в Unit тестах (версия ещё очень альфа, может быть полностью изменена ). Лицензия: Apache 2, рейтинг — 394.English


10. Другие языки программирования, написанные на Java


1. Языки программирования, написанные на Java- 7 проектов

1. Языки программирования, написанные на Java

  1. Clojure Язык программирования Clojure. . Лицензия: Apache 2, рейтинг — 4332.English

  2. JetBrains Kotlin Язык программирования Kotlin. Лицензия: Apache 2, рейтинг — 1621.English

  3. Gocd Основной репозиторий для сборки Go программ. Лицензия: Apache 2, рейтинг — 1602.English

  4. Groovy core Язык программирования Groovy. Лицензия: Apache 2, рейтинг — 1327.English

  5. Jphp compiler Jphp Альтернативный вариант Zend PHP для JVM, такой же как JRuby и Jython но только для PHP. Лицензия: Apache 2, рейтинг — 969.English

  6. Trifork Erjang Виртуальная JVM машина для языка Erlang. Лицензия: Apache 2, рейтинг — 484.English

  7. Apache Incubator groovy Зеркало для Apache Groovy — исходного кода языка программирования Groovy. Лицензия: Apache 2, рейтинг — 464.English


2. Утилиты для других языков программирования, написанные на Java- 3 проекта

2. Утилиты для других языков программирования, написанные на Java

  1. Go lang idea plugin IDE для языка программирования Goole Go, созданная на основе IntelliJ Platform. Лицензия: Apache 2, рейтинг — 1717.English

  2. Processing js Портирование Processing библиотеку для работы с видео и изображениями в JavaScript… Лицензия: MIT, рейтинг — 1696.English

  3. Pysonar2 PySonar2 это система индексирования и получения типов в Python, которая проводить сложный анализ с помощью Sourcegraph сотен тысяч открытых Python репозиториев. Лицензия: GNU GNU AGPLv3, рейтинг — 1654.English


3. javascript- 4 проекта

3. javascript

  1. Yuicompressor YUI Compressor — это система сжатия JavaScript и CSS файлов, которая удаляет лишние пробелы, безопасно обфуцирует локальные переменные до минимального возможного имени и т. д… Лицензия: BSD, рейтинг — 1840.English

  2. Google Closure compiler Библиотека проверки JavaScript кода и его оптимизации. Лицензия: Apache 2, рейтинг — 1442.English

  3. Frontend maven plugin Maven плагин который скачивает и устанавливает Node и NPM локально и запускает NPM install, Grunt, Gulp и/или Karma. Лицензия: Apache 2, рейтинг — 586.English

  4. Dynjs Среда выполнения ECMAScript для JVM. Лицензия: Apache 2, рейтинг — 533.English


11. Приложения на Java


1. Приложения и готовые продукты написанные на Java- 15 проектов

1. Приложения и готовые продукты написанные на Java

  1. Square Keywhiz — cистема для хранения и управления секретными данными (TLS сертификаты, GPG ключи, API токены, данные доступа к базам данным). Лицензия: Apache 2, рейтинг — 979.English

  2. Rundeck это автоматический сервис-планировщик по управлению заданиями, job'aми с вебконсолью, инструментами командной строки и WebAPI.. Лицензия: Apache 2, рейтинг — 853.English

  3. KeyBox это SSH вебконсоль, которая используется для административного доступа в систему. Лицензия: Apache 2, рейтинг — 792.English

  4. OpenTripPlanner это свободный планировщик поездок, поддерживает открытые стандартные форматы файлов (GTFS и OpenStreetMap), также включает REST API для планирования путишествий, как и Javascript клиент. Лицензия: Apache 2, рейтинг — 704.English

  5. Netflix Servo обеспечивает простой интерфейс для получения и публикации параметров приложений Netflix. Лицензия: Apache 2, рейтинг — 681.English

  6. Jitsi программа, обеспечивающее текстовую, голосовую и видеосвязь с разными протоколами SIP, XMPP/Jabber, AIM/ICQ, IRC, Yahoo! и много других возможностей. Лицензия: Apache 2, рейтинг — 676.English

  7. Netflix Exhibitor это система для ZooKeeper, обеспечивающая мониторинг, архивирование и восстановление, очистку и визуализацию. Лицензия: Apache 2, рейтинг — 610.English

  8. Glyptodon Guacamole client — клиент, который позволяет работать с удаленным рабочим столом через браузер без установки какого-либо программного обеспечение. Использует HTML5, JavaScript и Java. Лицензия: MIT, рейтинг — 556.English

  9. Bateman — простая система торговли акциями, которая оптимизирует свои параметры, используя particle swarm оптимизацию. Лицензия: MIT, рейтинг — 543.English

  10. Java repl — реализация Read Eval Print Loop (простой интерактивной среды программирования, которая сразу вычисляет введенные пользователем выражения) для Java. Лицензия: Apache 2, рейтинг — 536.English

  11. Seyren это оболочка для управления предупреждениями (alert) для Graphite, поддерживает много каналов нотификации: Email, Flowdock, HipChat, HTTP, Hubot, IRCcat, PagerDuty, Pushover, SLF4J, Slack, SNMP, Twilio. Лицензия: Apache 2, рейтинг — 527.English

  12. Graphhopper это быстрая и эффективно использующий память программа определения лучшего дорожного маршрута на Java. По умолчанию использует данный OpenStreetMap, но существует импорт и из других источников. Лицензия: Apache 2, рейтинг — 506.English

  13. Ttorrent это Java реализация BitTorrent протокола, BitTorrent tracker и BitTorrent клиента. Лицензия: Apache 2, рейтинг — 460.English

  14. Geoserver это приложение, написанное на Java, которое используется для обмена и редактирования geo данных. Лицензия: GNU 2.0, рейтинг — 435.English

  15. Languagetool — система стилистической и грамматической проверки текста более чем на 25 разных языках (английский, франц узкий, немецкий, русский, польский и т. д.). Лицензия: GNU Lesser 2.1, рейтинг — 416.English


2. Игры, написанные Java- 10 проектов

2. Игры, написанные Java

  1. Bukkit Мод для Minecraft API. Лицензия: GNU 2, рейтинг — 1600.English

  2. MovingBlocks Terasology Terasology это расширение для игры Minecraft. Лицензия: Apache 2, рейтинг — 1070.English

  3. MinecraftForge Модификации для Minecraft. Лицензия: GNU AGPLv2.1, рейтинг — 981.English

  4. SpongePowered Sponge Forge мод для Minecraft реализующий SpongeAPI. Лицензия: MIT, рейтинг — 803.English

  5. BuildCraft BuildCraft — расширение для Minecraft. Лицензия: Apache 2, рейтинг — 799.English

  6. Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Моды для Minecraft. Лицензия: Apache 2, рейтинг — 783.English

  7. SpongePowered SpongeAPI Minecraft плагин API. Лицензия: Apache 2, рейтинг — 775.English

  8. WorldEdit Редактор игровых карт для Minecraft. Лицензия: GNU Lesser 3, рейтинг — 715.English

  9. Essentials Essentials — Minecraft серверный командный мод — добавлени более 100 команд для использования в игре. Лицензия: GNU 3, рейтинг — 423.English

  10. GlowstoneMC Glowstone Сервер для Bukkit Minecraft. Лицензия: MIT, рейтинг — 421.English


12. Прочее


1. Примеры исходного кода на java- 12 проектов

1. Примеры исходного кода на java

  1. Java design patterns  Очень хорошие примеры и справочник по паттернам разработки. . Лицензия:  MIT, рейтинг — 6341.English

  2. Spring projects Spring mvc showcase Примеры, демонстрирующие возможности Spring MVC веб фреймворка. Лицензия: Apache 2, рейтинг — 1338.English

  3. Javaee7 samples Примеры для Java EE 7. Лицензия: MIT/CDDL/GPLv2, рейтинг — 989.English

  4. Algorithms Решение для некоторых общих алгоритмических проблем, написанное на Java… Лицензия: Apache 2, рейтинг — 983.English

  5. WikiSort Быстрее и стабильные алгоритмы сортировки использующие O(1) памяти. Лицензия: unlicense.org, рейтинг — 953.English

  6. Spring projects Spring petclinic Примеры Spring приложений. Лицензия: Apache 2, рейтинг — 532.English

  7. Spring projects Spring integration samples Примеры кода и приложений Spring Integration. Лицензия: Apache 2, рейтинг — 517.English

  8. Java algorithms implementation Коллекция алгоритмов и структур данных, написанных на Java. Лицензия: Apache 2, рейтинг — 437.English

  9. Jboss developer Jboss eap quickstarts Простые и рабочие примеры с простой демонстрацией JBoss EAP, Java EE 7 и других подобных технологий. Лицензия: Apache 2, рейтинг — 434.English

  10. Databricks Learning spark Примеры кода для книги Learning Spark. Лицензия: MIT, рейтинг — 412.English

  11. 7guis 7GUIs это проект который рассматривает простоту разработки и полученное юзабилити (usability benchmark) семи типичных GUI задач на разных фреймворках и языках программирования (Java7 +Swing, Clojure+Seesaw, Scala+ScalaFX, Android и т. п.). Задачей сравнить разные подходы к созданию удобного для пользователя GUI. Лицензия: ?, рейтинг — 404.English

  12. Spring projects Spring data jpa examples Примеры использования разных возможностей Spring Data JPA. Лицензия: Apache 2, рейтинг — 400.English


2. Результаты сравнения производительности кода на Java (benchmark)- 2 проекта

2. Результаты сравнения производительности кода на Java (benchmark)

  1. Jvm serializers — бенчмарки и сравнения производительности разных библиотек сериализации в JVM. Лицензия: ?, рейтинг — 970.English

  2. YCSB (Yahoo! Cloud Serving Benchmark) — бэнчмарки (тесты производительности) различных облачных сервисов. Лицензия: Apache 2, рейтинг — 869.English


3. Работа с git & github- 2 проекта

3. Работа с git & github

  1. Gitblit Gitblit это свободный Java Git клиент для управления, просмотр и обслуживания Git репозиторий. Лицензия: Apache 2, рейтинг — 787.English

  2. WhisperSystems BitHub BitHub — экспериментальный сервис по сбору Bitcoin пожертвований и распределении этих пожертвований каждому кто коммитит в GitHub репозитории. Лицензия: ?, рейтинг — 491.English



Немного статистики о лицензиях
Немного статистики: На этой выборке 73% проектов использует лицензию Apache 2, GNU (все версии, включая GNU AFFERO, GNU Lesser) — 10%, Mit — 9%, BSD (все версии) — 8%, Eclipse Public — 3%, у 2% проектов лицензию найти не смог. Да, получается 105%, так как некоторые проекты используют сразу набор лицензий (либо на выбор, либо отдельные классы под отдельными лицензиями).

Так же есть редкие почти единичные использования лицензий: Creative Commons Attribution, Perl, CDDL 1, CPL Common Public, Public Domain (CC0), Unlicense.org.

Есть две забавные собственные открытие «лицензии»: такая и такая: The license includes this restriction: «The software shall be used for good, not evil.» If your conscience cannot live with that, then choose a different package.

Немного о выборке проектов
1. Был написан специальный парсер, который выбирал все проекты, где языком программирования была Java и последнее обновление было в этом году, сгруппированные по количеству звезд (от большего к меньшим). Было выбрано чуть более тысячи проектов.

2. Полуавтоматически с помощью ключевых слов были удалены явные проекты для Android'a (это отдельный мир), проекты в которых сказано что они больше не поддерживаются, проекты, где описание полностью на китайском, японском и т.п. языках. Осталось около 500 проектов.

3. По ключевым словам сделано первое автоматическое разделение по категориям, автоматически найдены типы лицензий.

4. Вручную уточнил разделение по категориям, типы лицензий и перевел описание. Так же удалил ложные проекты (проекты Javascript'a в которым по ошибке поставили Java, хорошо замаскированные Android проекты и т.п.). Осталось 350 проектов, разделенных по категориям.

P.S. Буду рад любым дополнениям (в том числе ссылкам на новые интересные Java проекты на github), замечаниям и указанием на любые ошибки в личке или комментариях. Просьба не стесняться.

Комментарии (44)


  1. Borz
    14.09.2015 15:49
    -1

    в категорию вебфреймворков: ZK Framework


    1. aleksandy
      15.09.2015 07:05

      1. vedenin1980
        15.09.2015 13:36
        -1

        Туда же

        тоже добавил, спасибо


    1. vedenin1980
      15.09.2015 13:36

      добавил, спасибо


  1. BekoBou
    14.09.2015 16:23
    +1

    Язык роботов — «2 проектов, 3 проектов, 4 проектов».


    1. vedenin1980
      14.09.2015 16:32

      Да, спасибо, исправил. Забыл про это.

      P.S. Если бы роботов, последняя стадия делалась в таблице либроофиса (так показалось удобнее), а его мне было муторно учить русским падежам.


  1. Rafael
    14.09.2015 17:42
    +4

    Не совсем по теме статьи, но, думаю, будет интересно и полезно: github.com/cdefgah/awesome

    По java, под-список: github.com/akullpp/awesome-java


    1. vedenin1980
      14.09.2015 21:16

      О, очень интересно, спасибо.


  1. SirEdvin
    14.09.2015 18:58
    +1

    Печально, что в разделе игр был указан только Minecraft (ну и моды) :)


    1. vedenin1980
      14.09.2015 21:05

      Ну, тут выборка по кол-ву звезд github'a, так получилось что другие игры не набрали 390 оценок и выше.


  1. seregamorph
    14.09.2015 19:01
    +2

    Не нашел в разделе 10. Логирование (logging) slf4j.
    github.com/qos-ch/slf4j
    По результатам анализа 2013 года это либа номер 1 в java-проектах на github (информация из wiki).


    1. vedenin1980
      14.09.2015 21:03

      Да, но кол-во звезд 382, а в список из 350 проектов попали только проекты у которых от 390 звезд. Не знаю, почему тогда менее популярные проекты логирования оказались более оцененными.


      1. seregamorph
        15.09.2015 00:05
        +2

        У многих проектов, как slf4j, на гитхабе зеркало, которое могло появиться совсем недавно. То же самое насчет проектов, которые жили много лет на google code, которого не стало. Количество звезд это удобная, но не лучшая мерка.


        1. vedenin1980
          15.09.2015 10:06

          Да, не лучшая, но к сожалению другие методы оценки или слишком субъективны (вроде собственного мнения о полезности проекта) или слишком сложны для реализации (вроде построения аналога page rank'a для github'a).


    1. vedenin1980
      15.09.2015 13:37

      Не нашел в разделе 10. Логирование (logging) slf4j.

      Ок, добавлено


  1. seregamorph
    14.09.2015 19:10
    +1

    А есть то же самое, только отсортированное по количеству упоминаний в проектах?


    1. vedenin1980
      14.09.2015 21:07

      Пока нет, для этого требуется более сложный анализ, чтобы определить основные пакеты классов проекта, а потом найти из в других проектах github'a.


      1. seregamorph
        15.09.2015 00:06
        +1

        Зачем так сложно. Я говорю всего лишь про maven-dependency(gradle, etc.).


        1. leventov
          15.09.2015 01:10
          +1

          Это метрика мало о чем говорит. Если библиотека заточена на использование в других библиотеках — это одно, а если на конечные приложения — зависимостей будет 0


        1. vedenin1980
          15.09.2015 10:11

          Попробую во временем написать crawler для парсинга файлов maven и gradle и построения зависимостей в github'e, но это отдельная работа. Тем более что ряд Java проектов таким образом не найдешь (вроде примеров исходного кода, утилит для облегчения программирования на Java, IDE, реализаций ЯП на Java и т.п.)


  1. jreznot
    14.09.2015 20:17
    +3

    У вас что-то guava делает во фреймворках, а в «Добавление новых возможностей в язык Java» откуда-то взялся Guice.


    1. vedenin1980
      15.09.2015 10:17

      Поправлю, спасибо


    1. vedenin1980
      15.09.2015 13:37

      исправлено


  1. n0dwis
    14.09.2015 22:18
    +2

    Интересно — у меня сложилось впечатление, что на java практически не пишутся приложения для конечного пользователя. Intellij Idea — приятное исключение. А всё остальное на 90% это — фреймворки, веб приложения, библиотеки и узкоспециализированные утилиты. Неужели swing настолько плох?


    1. vedenin1980
      15.09.2015 11:08

      Ну, не совсем.
      Во-первых, даже в этом списке есть 15 приложений для конечного пользователя (а, естественно, фреймворки и библиотеки оцениваются на github'е выше готовых приложений).
      Во-вторых, на Java больше пишут приложений для бизнес пользователей.
      В-третьих, это не совсем верно, например и в OpenOffice и в LibreOffice часть функционала написана на Java. И это не единственные примеры.

      Неужели swing настолько плох?

      Насколько я знаю, в мире Java мода не делать десктопных приложений, а делать вебприложения (если это возможно, конечно), даже если они будут запускаться на localhost:port (что делается в java буквально одной строчкой), так как очень удобно потом перейти на клиент-серверную архитектуру, намного легче разрабатывать, унифицировать и больше возможностей для дизайна. Ну и мода на бизнес и корпоративные приложения, взамен приложений для частных клиентов.


      1. n0dwis
        15.09.2015 12:00
        +1

        Во-первых, даже в этом списке есть 15 приложений для конечного пользователя (а, естественно, фреймворки и библиотеки оцениваются на github'е выше готовых приложений).

        Да, насчёт площадки для исследования я не подумал. Всё-таки на github-е конечные пользователи вряд-ли массово голосуют.

        Насколько я знаю, в мире Java мода не делать десктопных приложений, а делать вебприложения (если это возможно, конечно), даже если они будут запускаться на localhost:port

        А можно пример? Я как-то с таким не сталкивался — обычно вебприложения сами по себе, десктоп — сам по себе.


        1. vedenin1980
          15.09.2015 12:17

          Ну, явный пример это Google Docs, где используется Java в бэке, насколько можно верить инету. Google Docs можно считать что «конкурирует» с дестктопными Офисами (правда там куда чаще симбиоз).

          В принципе, существуют веб-IDE, веб-офисы, веб-бух.программы, пожалуй в вебе сложно сделать только полноценный фаервол, антивирус или утилиты по работе с жестким диском и т.п. вещи.

          Так же в корпоративном секторе иногда видел реализации когда веб.приложение крутиться на каком-то порту локальной машины пользователя, а пользователь работает с ним просто в браузере. Но чаще, конечно, используются серверные веб.приложения на Java, которые закрывают почти любые задачи бизнес пользователей (финансовая деятельность, работа с ордерами и заказами, тикет-система, работа с инвентори фирмы, отчеты и графики и т.п. и т.д.).


  1. leventov
    15.09.2015 01:15
    +2

    Очень полезный труд, спасибо.

    Кстати, меня давно интересует вопрос, откуда в Андроид-проектах эти дикие тыщи звездочек на каждый проект? У меня нет впечатления, что Андроид-разработчики это такие Гитхаб-опенсорс-хипстеры, скорее что заядлые велосипедисты. Или это не так? Откуда Андроид-разработчики узнают про новые проекты, прибегают туда и ставят звездочки? :)


    1. Bringoff
      15.09.2015 06:01
      +2

      Откуда Андроид-разработчики узнают про новые проекты, прибегают туда и ставят звездочки?

      Ну, к примеру, android weekly. Но вообще, пожалуй, android-разработчики больше з опен-сорсом дружат, как по мне.


      1. vedenin1980
        15.09.2015 10:16

        Возможно, хотя может быть дело в том что команды android-разработчиков как правило небольшие и все имеют право добавлять новые открытые библиотеки, поэтому большинство старается быть в курсе новых open-source проектов. А в Java команды могут состоять из сотен (и даже тысяч) разработчиков, в которых лишь десяток самых опытных принимают решения о использовании новых open-source библиотек и фреймворков, соответственно, все остальные менее мотивированы изучать новые open-source библиотек, раз ими все равно нельзя будет пользоваться.


  1. Spin7ion
    15.09.2015 02:23
    +1

    не увидел orm activejdbc, github.com/javalite/activejdbc правда у него только 230 звезд


    1. vedenin1980
      15.09.2015 13:37

      добавил, спасибо


  1. dot
    15.09.2015 13:42
    +2

    Огромное спасибо за такую работу, неплохой способ расширить кругозор в современных направлениях.

    А вы не хотели бы выложить результаты\парсер на тот же гитхаб? Было бы удобнее поддерживать и развивать, если потом возникнет такое желание.


    1. vedenin1980
      15.09.2015 13:46

      Планирую выложить, но пока код парсера сырой, только для «внутреннего» использования. Выложу как только код можно будет показывать так чтобы за него не было мучительно стыдно. И результаты тоже.


  1. burjui
    15.09.2015 18:26
    +2

    Дополняю: totallylazy. Библиотека для работы с ленивыми структурами данных, в частности с последовательностями (map, filter, fold/reduce...), есть Option, Either и т.д.
    Пример кода генерации тестовых данных для ListAdapter на Android:

    final Iterable<ListItem> itemSource =
        iterate(increment, 1)
        .map(i -> (ListItem) new TestListItem()
                .withTitle(format("item %s", i))
                .withTags("item", valueOf(i), "test")
                .withSectionHeader(random.nextBoolean() ? some(format("section %s", i)) : none()))
        .take(20)
        .toList();
    


    1. vedenin1980
      16.09.2015 14:19

      Добавлено, спасибо


  1. jreznot
    16.09.2015 20:47
    +2

    >> Vaadin это Java фреймворк для создания современных высокопроизводительных веб приложений
    Это совсем плохое описание Vaadin, высокопроизводительные это не про них, больше подошло бы:

    Vaadin — фреймворк для разработки веб-приложений с server-side моделью программирования и состоянием UI на сервере.


    1. vedenin1980
      16.09.2015 21:11

      Ок, поправлю. Спасибо большое.


    1. vedenin1980
      16.09.2015 22:18

      Поправил


  1. DKey
    17.09.2015 22:52
    +1

    Привет, спасибо за классный сборник. Хочется порекламировать популярный тулбокс для удобного анализа и работы с индексами lucene / solr / elasticsearch: luke. github.com/DmitryKey/luke Проект уже используется в таких проектах, как Hibernate, Jackrabbit Oak.


  1. Avers
    18.09.2015 14:21
    +1

    Спасибо. Полезный набор.
    Я бы в работу с сетью добавил: mina.apache.org


    1. solver
      18.09.2015 14:26
      +2

      А какой смысл добавлять древнюю, неподдерживаемую библиотеку, автор которой давно пилит netty.io?
      Которая кстати, и быстрее и удобнее и больше функционала умеет.


      1. Avers
        18.09.2015 19:54
        +1

        На счет «неподдерживаемую» — не соглашусь, предлагаю перейти по указанной ссылке и убедиться в этом.
        А на счет функциональности, скорости и удобства — стоит посмотреть/сравнить/попробовать.


        1. solver
          18.09.2015 22:21
          +2

          Ваше право с чем-то не соглашаться, но есть факты.
          Автор мина забил на нее и стал развивать свои идеи в проекте netty, после этого в mina только изредка правят баги. Никаких серьезных изменений в ней нет уже несколько лет. Достаточно перейти по указанному вами адресу и посмотреть на эту «поддержку», редкие багфиксы, минорные релизы раз в пару лет и никаких новых фишек.