¿Cuándo es Java una buena opción para el desarrollo web?
No diga "Cuando tiene un equipo de desarrollo que solo conoce Java".
java
web-development
language-choice
Gulshan
fuente
fuente
Respuestas:
Dados los muchos marcos disponibles, la madurez de la plataforma, etc., me siento tentado a decir "casi siempre". Aquí hay algunas razones por las que no debe usar Java:
fuente
Java se usa en sitios web pequeños y medianos. El punto crucial es que hay mucho menos alojamiento web gratuito para sitios web Java que para, por ejemplo, PHP, lo que significa que, a menos que tenga suficientes recursos para alojar su propio servidor web, probablemente no elija Java.
Tenga en cuenta que con Java EE 6, especialmente el perfil web, hay muchas tecnologías estándar incluidas que pueden crear aplicaciones web muy potentes sin tener que codificar mucho. Desafortunadamente, todavía no es una corriente principal.
Tenga en cuenta que esto ha cambiado algo recientemente con Google Application Engine, que le permite implementar aplicaciones web Java estándar (con algunas restricciones) en la nube de forma gratuita para sitios de tráfico bajo a medio.
fuente
Cuando su plataforma es UNIX / Linux y necesita un amplio conjunto de herramientas, tales como mapeo de objetos / relacionales, seguridad, orquestación compleja de servicios web, etc.
(No estamos hablando de sitios web simples, ¿verdad?)
fuente
Cada vez que otro equipo de Java me molesta, me desahogo al buscar preguntas como esta. Déjame reiterar. Soy un desarrollador del lado del cliente y lo he sido por casi 5 años. He trabajado en sitios que van desde micrositios únicos de contenido en su mayoría, a sitios tan masivos como Sears, a sitios de tipo de aplicación más sofisticados donde se necesita una experiencia de IU realmente profunda. He tratado con Rails, PHP, formularios web .net (ew), .net MVC (mucho mejor) y un arreglo de soluciones Java para el desarrollo web acompañado por desarrolladores y equipos que han sido un completo desastre para tratar. También escribo un poco de Python y estoy empezando a cavar Django.
Mi experiencia con los equipos de Java ha sido universalmente horrible. Las herramientas son siempre una PITA. Los desarrolladores nunca quieren creer que hicieron algo mal y lograr que reinvestiguen su propio territorio una vez que hayas descartado un problema de tu parte es como tirar los dientes. La primera víctima de tratar con equipos Java en mi experiencia es el tiempo de desarrollo convertido en tiempo de correo electrónico escribiendo múltiples explicaciones largas de por qué el problema definitivamente está de su lado. El HTML generalmente no es su problema a menos que realmente desee algún control sobre él. Entonces es probable que todo se vaya al infierno porque realmente quieres mover algunas divisiones de nivel superior.
Hay cosas sobre el idioma que no me gustan, pero creo que el verdadero problema es la cultura y el hecho de que la aceptación es tan generalizada que tienes un montón de mediocridad en el medio. La cultura que sospecho surge de la forma en que se comercializa Java. Escriba una vez, despliegue en todas partes. Traducción: "¡Solo necesitas aprender una cosa!" Las personas que encuentran eso atractivo básicamente quieren usar Java como un martillo gigantesco para cada clavo con un mínimo de perfeccionamiento de su oficio en lo que respecta al desarrollo web.
Entonces, si tiene desarrolladores que conocen Java y otros lenguajes pero aún así prefieren Java, diría que sí, continúe si parece la solución correcta. Pero si tiene desarrolladores de Java que conocen Java y todo lo demás apenas cumple con los criterios para convertirlo en una viñeta en su currículum, pídales que construyan una aplicación simple con una variedad de páginas semi complejas en el extremo HTML e intenten esto prueba simple Romper un poco de HTML. Intenta hacer que descubran lo que está mal. Si el problema inmediato que comienzan a resolver es desviar la culpa de ellos mismos, manténgalos alejados del desarrollo web. Web dev es multidisciplinario y requiere un interés activo en el campo para tener éxito. No es un lugar para personas que solo quieren mantener el conocimiento de un idioma y están más horrorizados por los problemas que interesados en resolverlos.
No estoy afirmando que Java sea la raíz de la incompetencia y he oído que Spring es buena. Estoy seguro de que hay equipos competentes de Java por ahí. Simplemente no me he encontrado con uno todavía y no creo que sea una coincidencia. Creo que Sun tiene mucho que ver con eso. También creo que dirigir equipos web como o bajo departamentos de TI tiene mucho que ver con eso.
fuente
Java está perfectamente bien para sitios web pequeños. Puede hacer que las páginas JSP funcionen muy rápidamente con un servidor web Java como Tomcat , por ejemplo.
Aunque, en mi experiencia, Java es más común para sitios web grandes donde existe una mayor necesidad de procesamiento complejo del lado del servidor; en este caso, encontrará marcos Java más sofisticados, como JavaServer Faces (JSF).
Es importante tener en cuenta que una instalación completa de Java históricamente no estaba disponible en muchas configuraciones de alojamiento web baratas, por lo que puede explicar la prevalencia de otros lenguajes como PHP en estos entornos.
fuente
Las razones principales para usar Java en el desarrollo web se reducen a lo siguiente:
fuente
Tecnicamente hablando:
Si estuviera iniciando una aplicación web, usaría Ruby on Rails y diseñaría de tal manera que los puntos de acceso pudieran cambiarse cuando RoR alcance su límite de escala de rendimiento.
Java tiene un olor definido a COBOL y "los codificadores de gama baja usan Java", y los fiascos de Oracle no están ayudando a la reputación. Si tiene la opción , elija un idioma que atraiga a los mejores desarrolladores.
fuente
Es simple: usar Java cuando el rendimiento del back-end es una preocupación importante. Hay más sobrecarga al codificar, pero el código se ejecutará en 1 / 200th a 1 / 500th del tiempo, literalmente. Php, Ruby y otros lenguajes de tipo dinámico siempre serán mucho más lentos que los servidores java o .net.
La mayoría de las soluciones para la web no necesitarán esto. Twitter no abandonó a Rails hasta que comenzaron a alcanzar su popularidad, por ejemplo.
fuente
No es la única razón, pero con la creciente popularidad de la creación de sitios web con aplicaciones sofisticadas como front-end y al mismo tiempo tener lógica haciendo 'cosas' en el servidor, no debería ser necesario explicar por qué Java es al menos igual a cualquier otro opción en el servidor final. Pero en el extremo del cliente, si cualquier javascript se convertirá rápidamente en una pesadilla de mantenimiento de código y al usar GWT para mantener esas cosas al alcance de la mano para que pueda codificar en Java, puede tener lo mejor de ambos mundos con su servidor haciendo el trabajo pesado y el procesador de un cliente dándoles la 'experiencia'. Aprende a integrarlo con algo como jQuery y también puedes tener todos los dulces que quieras.
No hay ningún tipo de experto en las alternativas, pero si alguien más puede presentar una con el mismo tipo de flexibilidad y amplitud, me alegra saberlo.
fuente
La razón principal por la que elegiría Java es si necesita utilizar transacciones distribuidas, lo que puede ser una gran preocupación para muchas corporaciones. Sin embargo, aún puede usar su lenguaje de secuencias de comandos favorito para el desarrollo web, y solo delegar el trabajo a Java cuando necesite transacciones rápidas / distribuidas.
fuente
Creo que sería cuando su aplicación va a ser muy compleja, con muchas personas desarrollándola, con muchos módulos complejos, lógica empresarial compleja y tiene que comunicarse con muchas otras aplicaciones empresariales.
De todos modos, también podría desarrollarse en Grails, que proporciona muchas características agradables, facilita mucho el desarrollo y está madurando muy rápido.
fuente
Java está bien, pero si el rendimiento no es crucialmente importante, puede obtener los mismos resultados con menos esfuerzo en otros idiomas.
fuente
Java es un lenguaje de tipo estático y es más barato que los otros lenguajes de tipo estático utilizados para el desarrollo web, a saber, C # y VB.net, si su empresa no tiene una suscripción a MSDN. Los lenguajes de tipo estático son buenos para proyectos medianos a grandes, reglas de dominio complejas y una gran cantidad de código de fondo, ya que puede organizar mejor sus clases y los IDE lo ayudarán a encontrar errores en su código.
Con lenguajes de tipo dinámico, como PHP, Python, Ruby, su desarrollo será mucho más rápido, pero tendrá que probar su código mucho mejor. Si no tiene mucho tiempo y dinero y sus requisitos cambian muy rápidamente y no tiene que hacer cálculos muy complejos, los lenguajes dinámicos son mucho mejores.
fuente
Seguridad
La razón principal para que las grandes empresas elijan Java en lugar de otras soluciones es porque se considera que es mucho más seguro.
Esto se debe principalmente a que es compatible con una empresa tan grande (ahora Oracle).
Debe tenerse en cuenta que Java ofrece un nivel muy alto de seguridad y un excelente soporte y análisis (aunque tiene un precio).
fuente