¿Qué tecnologías debo aprender para comenzar a programar una aplicación web en Java?

La razón principal por la que no puedes navegar bien en Java Land es porque no sabes cómo categorizar lo que estás viendo. Por ejemplo, sé muy poco acerca de JSP, JSF, Swing o J2ME, pero sé exactamente cómo usarlos.

En resumen, aprenda los patrones de diseño básicos que describen todos esos marcos. Un recurso decente es “Patterns of Enterprise Architecture” de Martin Fowler, aunque nunca lo leí. Me pasó a aprender en el trabajo. En general, aprender patrones de diseño. Le ayudarán más que cualquier conocimiento específico sobre cualquier tecnología. Dependiendo del tipo de trabajo al que apunta, comprender lo siguiente también será útil: SOA, ESB, servicios web, AJAX y back-end / front-end. Hay un par más, pero no puedo pensar en ellos en este momento.

Sin embargo, su pregunta no se trata solo de comprender los conceptos básicos de esas tecnologías (y los patrones de diseño), usted pregunta específicamente cómo aprendería sobre las prácticas actuales en la industria del software.

Mi respuesta es: no . No intente ponerse al día con las prácticas actuales de la industria del software porque simplemente desea actualizarse con las prácticas actuales de la industria del software.

Hay un par de razones para esto:

  1. La cantidad de conocimiento de la que estás hablando es enorme. Estoy hablando de pasar al menos un mes o dos de 60 horas a la semana investigando todos los temas posibles.
  2. Cuando llegue el momento de ponerse al día, por ejemplo, después de 3 meses, es posible que parte del conocimiento que aprendió en los últimos dos meses ya haya cambiado.
  3. El conocimiento y la experiencia son un arma de doble filo en la profesión del software: es peligroso saber demasiado sobre una tecnología o área que no te gusta. Podría terminar teniendo que trabajar con él, lo que significa que aprenderá aún más sobre él, lo que significa que terminará trabajando con él durante el resto de su carrera. Está bien, no es totalmente cierto, pero entiendes mi esencia.

En resumen, aprenda sobre las cosas con las que le gusta trabajar. ¿Te gusta el front-end o back-end? ¿Te gustan las aplicaciones de escritorio o web? ¿Le gustan los sistemas empresariales grandes, sitios web pequeños, aplicaciones de una página, sitios web de varias páginas o aplicaciones móviles? Piensa primero en lo que te gusta hacer y luego aprende sobre eso. Y “Aplicaciones web de Java” no es una respuesta aceptable a eso, porque es como preguntar qué tipo de leguminosa te gusta y decir “verduras”.

Spring Core y Spring MVC, JSP / JSTL y JPA 2.0 sobre Hibernate. Utilizará Maven 2 con mayor probabilidad para la gestión de dependencias, así que comience a usar eso desde el principio. Honestamente, si comienzas solo con esos y esparces algo de JQuery, puedes crear una aplicación bastante buena. Consígete algunos de los … Libros de acción de Manning. Estos son generalmente muy buenos.

Olvídese de los servidores de aplicaciones Java como Glassfish y JBoss AS a menos que esté usando uno en su trabajo diario o le gustaría ser un administrador de sistemas asesino algún día. Esos son excesivos para el desarrollo en el hogar y no son muy utilizados en la industria. Todas las campanas y silbidos son irrelevantes en esta etapa (incluidas las transacciones administradas en contenedores … Spring maneja las transacciones muy bien). Enciende Tomcat o Jetty y comienza a programar.

Desafortunadamente, no hay una lista de puntos de paso para convertirse en un buen desarrollador de aplicaciones web Java. Solo tienes que gastar una gran cantidad de tiempo en resolver esto y / o encontrarte como un gran mentor que puede mostrarte cómo cortar esquinas. Un mentor es crucial, independientemente de la tecnología con la que trabaje en imho, así que, entre los libros, intente encontrar uno. Buena suerte 🙂

Recuerdo la sensación. La forma más sencilla es escribir una aplicación web de tamaño medio en el primer método accesible. Sus opciones
1. Tutorial oficial de Sun \ Oracle J2EE. Sus tutoriales son en general muy buenos. Serán sencillos servlets, pero no te preocupes por ahora.
2. Elige un libro J2EE y síguelo.

Después de hacer esto, puede seleccionar más marcos según sea necesario, Hibernate o Spring DAO para el acceso a la base de datos, servidores de aplicaciones, etc.