10 Mejores Repositorios de GitHub para Desarrolladores Java

Blog

Aquí hay una lista de calidad de los repositorios de GitHub para los desarrolladores de Java. Aquí encontrarás varias bibliotecas útiles para tus futuros proyectos.

Java es el líder indiscutible en el desarrollo de aplicaciones empresariales y uno de los lenguajes más demandados. Java ha celebrado recientemente su +25º aniversario, y seguirá siendo un lenguaje de programación importante en los próximos años.

Concepto de repositorio GitHub en app
Concepto de repositorio GitHub en app

En GitHub se han creado más de 100 millones de repositorios, lo que convierte a la plataforma en una auténtica “Biblioteca de Alejandría” en el desarrollo de aplicaciones. Aquí puedes encontrar frameworks, bibliotecas, tutoriales, libros e incluso nuevos lenguajes de programación.

GitHub es una auténtica mina de oro para los desarrolladores y programadores de Java que quieran perfeccionar sus habilidades. Sin embargo, encontrar el repositorio “adecuado” en GitHub es tan difícil como encontrar una aguja en un pajar.

Después de leer este artículo, conocerás 10 grandes repositorios de GitHub para Java:

  • tutoriales;
  • materiales didácticos;
  • diseño de aplicaciones;
  • aplicaciones de demostración.

1. Java Design Patterns

Los patrones de diseño de software son plantillas genéricas y reutilizables para resolver problemas comunes en el diseño de aplicaciones. Además, el repositorio incluye un vocabulario específico para que te comuniques con los desarrolladores y arquitectos de aplicaciones en el mismo idioma (español aquí). Con paradigmas de desarrollo probados y eficaces, los patrones de diseño mejoran la calidad y la velocidad de escritura del código. Pero la mejor manera de aprender patrones de diseño es verlos en acción (es decir, a través de ejemplos de código).

Repositorio de Java Design Patterns
Repositorio de Java Design Patterns

Enlace: iluwatar/java-design-patterns

2. Interviews

Una entrevista de trabajo para desarrolladores nunca es fácil. Muchas personas acuden a la entrevista insuficientemente preparadas y luego, tras no conseguir el trabajo que desean, culpan a su mala suerte. Una cuidadosa preparación de las entrevistas te garantiza mejorar tus posibilidades de conseguir el trabajo de sus sueños. En este repositorio de GitHub, encontrarás todo lo que necesitas para prepararte: vídeos de YouTube, artículos, ejemplos prácticos de código, estructuras de datos, algoritmos, libros, videoconferencias. También puedes consultar Leetcode para resolver problemas populares en el desarrollo de Java. Como un adicional puedes repasar nuestra recopilación de Preguntas para Entrevistas a Profesionales de Java.

Enlace: kdn251/interviews

3. The Algorithms

Si estás creando aplicaciones, entonces los algoritmos lo son todo. Los algoritmos correctos te permiten mejorar el rendimiento de la aplicación. En la mayoría de los casos, la capacidad de elegir un algoritmo adecuado bajo las limitaciones existentes (complejidad de la CPU, consumo de memoria) habla de la profesionalidad del desarrollador. Por lo tanto, no es de extrañar que los algoritmos sean utilizados activamente en las entrevistas por diversas empresas, ya sean gigantes tecnológicos como Google y Microsoft o pequeñas empresas de nueva creación.

Si está dando sus primeros pasos en el desarrollo de Java o programando en el nivel medio, entonces eche un vistazo más a menudo. Bueno, los desarrolladores avanzados de Java con muchos años de experiencia detrás de ellos también encontrarán muchas cosas útiles aquí.

Enlace: TheAlgorithms/Java

4. Realworld

Si desarrollas aplicaciones modernas Full-stack en Java, probablemente utilices el último JavaScript SPA en el frontend y escribas el backend en Java. Realworld sugiere el desarrollo de una aplicación Conduit (clon de Medium) utilizando todo tipo de -¡y prácticamente cualquier! – combinaciones de frontend y backend. Los creadores la llaman la “Madre de todas las aplicaciones de demostración“, porque aquí se puede escribir una aplicación real y funcional. Además, la gran variedad de tecnologías frontend y backend compatibles ha hecho que Realworld ocupe un lugar en nuestra lista.

Interfaz de conduit
Interfaz de conduit

Actualmente es compatible con todos los frameworks frontend de JavaScript existentes (es decir, React, Angular, Vue, Svelte, AngularJS, Ember.js, Aurelia, Vanilla JS, etc.) y todos los frameworks backend existentes en todos los lenguajes de programación populares. Por ejemplo, para Java son Quarkus y Vert.x.

Realworld es el repositorio de GitHub adecuado para todos los desarrolladores, especialmente los Full-stack.

Enlace: gothinkster/realworld

5. Awesome Java

A menudo necesitamos resolver algún problema en Java, y nos pasamos horas intentando encontrar respuestas en Google. Afortunadamente para los desarrolladores de Java, este repositorio de GitHub siempre está ahí para ayudarnos. Awesome Java tiene casi todo sobre Java, y el material en sí se presenta en forma de libro de referencia.

Tanto si buscas un manipulador de ByteCode, bibliotecas de aprendizaje automático o kits de utilidades, Awesome Java tiene la referencia adecuada.

Enlace: akullpp/awesome-java

6. Baeldung Tutorials

Tarde o temprano, casi todos los desarrolladores de Java han encontrado lecciones y ejemplos de Baeldung. Ahora es la principal fuente en línea de lecciones sobre Java, Spring y desarrollo web. ¿Qué hace que Baeldung se distinga del resto? Aquí puedes encontrar información que va desde los fundamentos rudimentarios hasta los temas más avanzados de desarrollo de Java/Spring. Además de las lecciones, se ofrecen cursos, tutoriales, libros electrónicos, etc. Otra característica clave de Baeldung es que todos los ejemplos y lecciones se complementan con código real.

Promoción de aprender Spring 5 y Spring Boot 2
Promoción de aprender Spring 5 y Spring Boot 2

Este repositorio de GitHub está dividido en pequeños tutoriales temáticos sobre el desarrollo de Java y Spring. Cada artículo tiene un enlace especial que explica todo el código con más detalle. Baeldung es un repositorio imprescindible no sólo para los desarrolladores de Spring, sino también para los de Vanilla Java.

Enlace: eugenp/tutorials

7. JHipster

Si trabajas en Enterprise Java, probablemente ya hayas oído hablar de JHipster. JHipster ofrece una plataforma de desarrollo para crear, desarrollar y desplegar aplicaciones web monolíticas/microservicios de nivel industrial. Para el frontend, ofrece los tres principales frameworks SPA (Angular, React, Vue) y el backend se realiza sobre Spring Boot. Además, JHipster es compatible con las principales base de datos (Oracle, PostgreSQL, MySQL, MS-SQL, MongoDB, Cassandra, ELK, Kafka) y ofrece funciones de seguridad avanzadas, como OAuth2+OpenID Connect. También hay muchas extensiones disponibles para ayudarte con el desarrollo virtual de aplicaciones industriales en Spring Boot en cualquier entorno, incluida la nube.

Este proyecto es tan potente y maduro que puedes desarrollar tu propio POC e incluso aplicaciones industriales con él.

Enlace: jhipster/generator-jhipster

8. RxJava Android Samples

La programación reactiva ha ido ganando popularidad rápidamente en los últimos años, ofreciendo una excelente abstracción cuando se trata de programación asíncrona y dirigida por eventos. RxJava es una implementación de Java ReactiveX en la que la programación reactiva se ofrece a través de Observables.

El aprendizaje de la programación reactiva es un poco complicado, porque inicialmente Java es inherentemente sincrónico. Este proyecto de GitHub ofrece ejemplos reales de RxJava. Y aunque los ejemplos están hechos para el desarrollo de Android, los programadores de Java pueden replicarlos fácilmente en otros proyectos.

Enlace: kaushikgopal/RxJava-Android-Samples

9. Java8 Tutorial

Java8 es una de las versiones más innovadoras y radicalmente nuevas de Java. Introdujo la “programación funcional” por primera vez. Con conceptos como las expresiones lambda y los Streams, Java ha alcanzado por fin el nicho de la programación funcional, conservando su legendaria y total compatibilidad con el pasado.

Por desgracia, no todos los desarrolladores de Java aprovechan al máximo estas características. He conocido a muchos colegas desarrolladores experimentados que siguen escribiendo en Java a la antigua usanza. Una de las razones es que los desarrolladores no quieren salir de su zona de confort, mientras que la programación funcional es, al fin y al cabo, un cambio de paradigma y una especie de alejamiento de la orientación a objetos a la que estamos acostumbrados.

En este repositorio de GitHub, puedes encontrar muchos pequeños y útiles ejemplos de programación funcional (expresiones lambda, Streams, interfaz funcional, hilos paralelos, etc.). Todos están muy bien escritos y son fáciles de leer. Si eres nuevo en la programación funcional en Java, este repositorio te ayudará a dar tus primeros pasos en la dirección correcta.

Enlace: winterbe/java8-tutorial

10. Cracking the Coding Interview in Java

Tanto si acudes a una entrevista de trabajo en una empresa de la lista Fortune 500 como en una pequeña empresa emergente, normalmente te enfrentarás a una entrevista técnica con tareas. El conocido libro Cracking the Coding Interview te ayudará a prepararte para las tareas más complicadas. Aquí encontrarás todos los tipos y variantes de tareas prácticas, incluyendo complejidad algorítmica, programación dinámica, ordenación y búsqueda, multihilo, etc.

Una característica distintiva de este libro es que los ejemplos se explican en un lenguaje sencillo y accesible. En este repositorio de GitHub puedes encontrar todas las tareas de la sexta edició del libro. Incluso si no estás preparado para comprar el libro, los ejemplos del repositorio son definitivamente útiles para la preparación de la entrevista.

Enlace: careercup/CtCI-6th-Edition

Sobre el Autor:

Hey hola! Yo soy Alex Walton y tengo el placer de compartir conocimientos hacía ti sobre el tema de Programación en Java, desde cero, Online y Gratis.

Deja una Respuesta

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.