¿Es Java un buen lenguaje para el desarrollo web? ¿Por qué o por qué no?

Advertencia: soy un desarrollador de rieles convertido en .net, así que voy a hablar con Java basándose en la experiencia .net que tengo. Aplicar sal en consecuencia.

1. Usa lo que sabes. Si tienes desarrolladores Java altamente experimentados, ve con eso. Tomará un tiempo hacerlos tan capaces en otro idioma. A la larga, será mejor que aprendan otro idioma, porque siempre es bueno aprender múltiples formas de abordar un problema, pero su pregunta era para el sitio web, no para los empleados.

2. Si la experiencia no es un problema, ¡VAYA CON ALGO DINÁMICO! También fui un defensor del lenguaje estático durante los 10 años que trabajé en .net. Es decir, hasta que usé el rubí lo suficiente como para “conseguirlo”. ¡Se tarda un poco! Pero ahora, la programación en .net parece que estoy tratando de correr bajo el agua, con sus largos pasos de compilación, su increíble verbosidad y la necesidad de escribir toneladas de configuración y ‘pegamento de arquitectura’ que simplemente no es necesario en un mundo dinámico.

Advertencias:
1) Cosas de empresa. No estoy seguro de si podría faltar gemas de rubí en este campo. Tendrías que comprobarlo. Si ese fuera el caso, probablemente iría con JRuby, para poder mezclar y combinar cuando sea apropiado.

2) Velocidad: a menos que esté creando algo REALMENTE enorme (twitter), esto realmente no es un problema. Si diseñas las cosas correctamente, puedes escalar. Necesitará más hardware, pero puede escalar absolutamente con un lenguaje dinámico. (Si diseñas las cosas mal, de todos modos no tendrás más suerte en el mundo de Java)

Sí. Las ventajas son la compatibilidad con una gran cantidad de bibliotecas, marcos y herramientas (hibernación, lucene, tomcat, eclipse, etc.), una máquina virtual sólida y una gran comunidad.

Si desea comenzar un proyecto web en Java, le recomendaría usar Spring MVC framework o Grails (basado en groovy, un lenguaje de tipo dinámico que es totalmente interoperable con Java y le brinda la misma productividad que un desarrollador de rails)

Java es un gran lenguaje para el desarrollo de aplicaciones web en el año 2012.

Por qué ?

  1. ¡La comunidad Java está adoptando ideas validadas para el desarrollo web de sus contrapartes de lenguajes dinámicos!
  2. Marcos crecidos en la comunidad como Play! y Stripes está ganando terreno entre los desarrolladores de Java que fueron masacrados por estándares dolorosos establecidos en la última década por un ecosistema orientado a procesos y dominado por grandes jugadores.
  3. Los estándares de Java también han mejorado mucho en los últimos años con la inclusión de JAX-RS (servicios web tranquilos en Java) y JEE 6, las cosas se están moviendo hacia un desarrollo de aplicaciones web más liviano que nunca.
  4. Tecnologías como GWT y SmartGWT (y marcos de interfaz de usuario pesados ​​similares de JavaScript) lo ayudan a crear front-end independientes de su servidor, lo que le ayuda a crear aplicaciones empresariales robustas con servidor con tecnología Java.
  5. La mentalidad general de la comunidad Java ha cambiado para el desarrollo de aplicaciones web, que tendrá un efecto dominó, dado el tamaño del ecosistema Java.