2010-03-02 15 views
7

Para mi nueva aplicación pesada de lectura de base de datos, necesito usar GWT y mysql. Pero al elegir entre Java y PHP, tengo algunas confusiones, 1) JDBC con mysql es más lento que PHP con mysql (PHP ganó) 2) si voy a usar PHP, tengo que usar JSON para transferir datos entre el servidor y cliente 3) Esta operación de análisis y manejo json puede reemplazarse fácilmente por llamadas RPC rápidas si estoy usando JAVA. (JAVA) 4) GWT tiene mucho soporte y estructuras pequeñas para llamadas JAVA/RPC, por lo que la productividad es mayor.Elegir entre java o php para GWT!

Por favor, ayúdenme a elegir una buena.

+0

No estoy familiarizado con GWT o JSON, pero puedo decirles que, según mi experiencia, el 90-99% del tiempo de ejecución de mis scripts PHP está a la espera de las consultas de MySQL, así que dudo que haga mucho diferencia. –

+0

Revisaría la afirmación inicial: "JDBC con mysql es más lento que PHP con mysql". Simplemente no puedo ver cómo podría ser ese el caso ... –

Respuesta

8

Creo que ambos son muy adecuados. Si bien entiendo que su necesidad de rendimiento es un tema importante, personalmente creo que ni el controlador SQL ni el análisis JSON serán su problema de rendimiento más adelante.

Con la mayoría de las llamadas AJAX, la sobrecarga de red (protocolo de enlace TCP, etc.) ocupa la mayor parte del tiempo a menos que tenga archivos grandes para transferir. Y luego no importa qué es el back-end.

Si utiliza Java y un servidor de aplicaciones, las conexiones de la base de datos se deben agrupar y agilizar. Si usa GWT RCP, puede refactorizar fácilmente su aplicación si necesita realizar cambios más adelante, una gran ventaja. Si descubres que algunas de tus actualizaciones son dos lentas, el mayor aumento en el rendimiento podría provenir del almacenamiento en caché de datos en el cliente y/o la combinación de llamadas AJAX. Esta refactorización es mucho más fácil si utiliza Java en ambos, cliente y servidor.

0

Creo que realmente depende de lo que quieras escribir y de lo que quieras mantener. Personalmente, usaría PHP porque personalmente estoy más familiarizado con PHP.

7

GWT es un marco para crear aplicaciones web utilizando código Java. Puede conectarlo a un backend de PHP (y hay documentación sobre cómo hacerlo). Pero, desde mi punto de vista, está perdiendo el punto principal de GWT, un solo idioma para toda su aplicación.

Si realmente necesita usar GWT para su interfaz, también haga su backend en Java. Si toma un enfoque diferente, entonces use PHP + HTML + JavaScript.

Mis 2 centavos.

0

Me quedaría con Java, ya que es el idioma oficial de GWT. Si usa PHP, pierde los beneficios de utilizar poderosos IDE de Java como Eclipse e IntelliJ Idea para el desarrollo y la depuración.

+0

Eso ya no es verdad. Netbeans (http://netbeans.org/downloads/index.html) tiene soporte para PHP, incluida la depuración. – ssakl

+0

@ssakl Creo que Pierre se refirió a usar pruebas y depuración globales usando solo Java. Con Netbeans necesitarás depuración por separado –

4

Un punto importante que creo que se ha perdido aquí es el costo. Si usa PHP, sus costos de hosting serán considerablemente menores. Agregar Java a la ecuación generalmente significa comenzar con un servidor dedicado o máquina virtual, (recuerde que el front-end desarrollado por Java GWT está compilado para Javascript). Ignorando el costo, Java parecería ser la opción obvia de las dos, por razones mencionadas anteriormente principalmente, un lenguaje y RPC más fácil.

0

si utiliza PHP para back-end, no se puede utilizar "GWT RPC", sólo se puede usar petición HTTP asíncrona (utilizando RequestBuilder), pero sus costos de hosting disminución. Creo que es mejor que implemente su back-end usando servicios REST (por PHP) y luego llame a esos servicios con su aplicación GWT en la interfaz (por ejemplo, usando la biblioteca restygwt). Con este enfoque, puede cambiar su tecnología de back-end (o tecnología frontend) fácilmente en el futuro.

Que pasen un buen rato.