2012-02-28 8 views
21

Necesito valorar qué uso de tecnología para un proyecto web, el equipo está compuesto por 4 desarrolladores y el tiempo del proyecto es de 1 año.JavaEE vs PHP: ¿por qué tanta gente cree que Java es mejor?

Estoy más familiarizado con php pero el cliente me está pidiendo que lo haga con JAVA EE.

siempre tienen la misma percepción con Java y sus marcos:

  • Tanto XML y la clase con el fin de hacer las cosas simples. En codeigniter tengo que usar 3 archivos (modelo, vista y controlador) con hibernate + spring + JSF ¡Necesito más de 10 archivos!
  • Un uso abusivo del servidor. El código javascript pierde importancia y no es bueno hoy en día. Por supuesto, podemos agregar código JavaScript pero parece que los "chicos de la web java" prefieren hacer las cosas en el servidor en lugar del cliente.
  • No es una aplicación atractiva. Richfaces parece una red de hace varios años.
  • Cuando veo una aplicación java como liferay, al aire libre, lucen pesadas y muy lentamente.

Creo que puedo estar un poco confundido porque mucha gente y grandes compañías continúan usando JAVA para la web. ¿Por qué? se trata de integración?

Por otro lado, Java es más rápido que PHP, pero los servidores de JAVA necesitan mucha memoria (más caros). En un servidor con muchas solicitudes podemos mejorar con un lenguaje como php con mayor tiempo por proceso y menos memoria por proceso porque el servidor nunca se colapsa debido a la memoria. A veces, un servidor JAVA podría colapsar debido a la memoria y el promedio del tiempo de respuesta en un entorno de producción real sería mayor que php.

Estoy realmente satisfecho con Codeigniter, ¿por qué tanta gente piensa que Java es mejor?

Gracias de antemano,

Alberto

+1

pertenece en http://programmers.stackexchange.com Q y A para los programadores profesionales interesados ​​en cuestiones conceptuales sobre el desarrollo de software – Mchl

+0

probablemente esta pregunta se cerrará. .. de todos modos me parece que estás mezclando tus ideas, java y javascript son dos cosas diferentes, puedes hacer un sitio web usando javaEE y sin javascript ... javascript no tiene nada que ver en esta pregunta – pleasedontbelong

+0

Sé que java y javascript son diferentes cosas, estoy hablando de la integración JAVA EE con javascript. Sé que se podría agregar javascript en las vistas, pero las técnicas estándar de Ajax faltan en todos los tutoriales de JAVA EE, parece que los "chicos de la web java" prefieren hacer cosas en el servidor. Por supuesto, puede agregar el código de JavaScript como desee, estamos hablando de render html al final – alasarr

Respuesta

27

así que no estoy usando CodeIgniter así que mi comparación ya está incompleta.

La pregunta uno sería: ¿por qué preguntan por Java? A menudo, las grandes empresas solo ofrecen entornos Java o .Net para sistemas productivos, por lo que es posible que no tengan a las personas para ejecutar de forma productiva las aplicaciones PHP. Sé que no es complicado, pero la gente de mantenimiento define lo que están ejecutando.

Las personas hablan sobre los idiomas y sus características, pero cuando se debata el primer caso de uso comercial, ningún marco le ahorrará esa cantidad de tiempo para hacerlo contar. La mayoría del lenguaje de programación de alguna manera resolverá el problema.

Java no solo es RichFaces o JSF. Hay mucho para elegir. MUCHO. No es una ventaja.

Lo que a menudo se olvida es el soporte de la herramienta. Java viene junto con una JVM que se puede analizar en detalle lo que hace con su memoria, recolector de basura, hilos, etc. Los perfiladores en Java le permiten identificar casi cualquier pérdida de memoria en unas pocas horas. La mayor parte de la supervisión de JVM funciona en tiempo real (con un 5% de sobrecarga). Hablando de herramienta: el soporte de refactorización va más allá de lo que ofrecen los IDEs de PHP.

Está en lo cierto si la primera mirada a Java en comparación con PHP parece elefantes y caballos.(ok, el logo de php es un elefante, una comparación perfecta ...). Los caballos son más flexibles para dar vuelta en las esquinas, pero es posible que no lleven tanto. Creo que, desde una perspectiva de lenguaje, Java es aún más avanzado que PHP. Espacios de nombres, clases, seguridad de tipo. Estos están algo disponibles en PHP, pero aún son bastante nuevos.

Los marcos como Spring le permiten aprovechar su aplicación en un nivel arquitectónico y son mucho más que bibliotecas.

No soy el mayor fan de Java EE, así que no me quejaré de eso.

Un enfoque simple para usted podría ser Tomcat + Spring + SpringMVC y un motor de plantillas para las GUI. También hay GWT (Vaadin) si te enfocas en el comportamiento del cliente a mayor velocidad (aún hay mucho más por ahí).

Existen enfoques ligeros en Java también. Estoy de acuerdo en que los estándares en Java tienen una tendencia más grasa.

En mi experiencia, Java no tiene inconvenientes importantes en comparación con PHP. La elección del idioma solo afectará el éxito del proyecto si las personas tienen menos conocimientos de los necesarios y pasan demasiado tiempo aprendiendo cosas. Y tratar de encontrar el libro correcto sobre Java podría ser un proyecto propio :) (contando como una ventaja)

Pero no tengo dudas de que PHP le permitiría terminar el proyecto.

Prefiero analizar los objetivos y requisitos antes de elegir la tecnología. Esto a menudo implica o simplifica una decisión.

Espero no contesto al menos una pregunta aquí :)

+0

Muchas gracias, ya estaba leyendo sobre spring mvc, http://blog.springsource.com/2011/01/04/green-beans-getting-started-with-spring-mvc/ – alasarr

+2

Con Vaadin puedes construir fantásticas GUI con Java y sin JavaScript, todas listas para usar. Eche un vistazo a los ejemplos: http://demo.vaadin.com/sampler – Twistleton

+0

@wemu gran respuesta pero quiero agregar una cosa más con respecto a la interfaz enriquecida y el uso del lenguaje de scripting del lado del servidor v/s del lado del cliente. Hoy en día puedes usar js angulares con resorte, que es más útil. En segundo lugar, la mayor parte del sitio web de Java tiene una interfaz rica, todo depende del diseñador y desarrollador que tenga, pero si usted está pensando en utilizar Tomcat, entonces puede echarle un vistazo al servidor pivotal oficialmente compatible con Spring. – Luffy

Cuestiones relacionadas