2010-03-02 1 views
7

Per il mio nuovo database pesante leggere applicazione, ho bisogno di usare GWT e mysql. Ma nella scelta tra java e PHP, ho alcune confusioni, 1) JDBC con mysql è più lento di PHP con mysql (PHP vinto) 2) se ho intenzione di usare PHP, devo usare JSON per trasferire i dati tra server e cliente. 3) Questo overhead di gestione e analisi di json può essere facilmente sostituito da chiamate RPC veloci se sto usando JAVA. (JAVA) 4) GWT ha un sacco di supporto e framework per chiamate JAVA/RPC, quindi la produttività è più alta.Scegliere tra java o php per GWT!

Ti prego, aiutami a scegliere un buon compromesso.

+0

Non ho familiarità con GWT o JSON, ma posso dirvi che, secondo la mia esperienza, il 90-99% del tempo di esecuzione per i miei script PHP è in attesa di query MySQL, quindi dubito che sarà molto differenza. –

+0

Esaminerò l'asserzione iniziale: "JDBC con mysql è più lento di PHP con mysql". Semplicemente non riesco a vedere come potrebbe essere il caso ... –

risposta

8

Penso entrambi sono molto adatti. Pur comprendendo che il tuo bisogno di prestazioni è un problema importante, personalmente penso, né il driver SQL né l'analisi JSON saranno il problema delle prestazioni in seguito.

Con la maggior parte delle chiamate AJAX, l'overhead di rete (handshake TCP, ecc.) Occupa la maggior parte del tempo, a meno che non si disponga di file di grandi dimensioni da trasferire. E poi non importa quale sia il back-end.

Se si utilizza Java e un server applicazioni, le connessioni del database devono essere raggruppate e veloci. Se si utilizza GCP RCP, è possibile rifattorizzare facilmente l'applicazione se è necessario apportare modifiche in seguito, un grande vantaggio. Se scopri che alcuni dei tuoi aggiornamenti sono lenti, il maggiore incremento delle prestazioni potrebbe provenire dalla memorizzazione nella cache dei dati sul client e/o dalla combinazione delle chiamate AJAX. Questo refactoring è molto più semplice se si utilizza Java su entrambi, lato client e server.

0

Penso che dipenda davvero da cosa vuoi scriverlo e da cosa vuoi mantenerlo. Personalmente userò PHP perché personalmente ho più familiarità con PHP.

7

GWT è un framework per creare applicazioni Web utilizzando il codice Java. È possibile collegarlo a un backend PHP (e non c'è documentazione su come farlo) Ma, dal mio punto di vista, allora si sta perdendo il principale punto di GWT, una lingua unica per tutta l'app.

Se hai davvero bisogno di usare GWT per il tuo frontend, esegui anche il tuo back-end in Java. Se segui un approccio diverso, utilizza PHP + HTML + JavaScript.

I miei 2 centesimi.

0

vorrei bastone a Java come quella è la lingua ufficiale GWT. Se usi PHP perdi i vantaggi dell'utilizzo di potenti IDE Java come Eclipse e IntelliJ Idea per lo sviluppo e il debug.

+0

Questo non è più vero. Netbeans (http://netbeans.org/downloads/index.html) ha il supporto per PHP, incluso il debug. – ssakl

+0

@ssakl Penso che Pierre abbia fatto riferimento a un test globale e al debug usando solo java. Con Netbeans avrai bisogno di debug separati –

4

Un punto importante che penso sia mancato qui è il costo. Se usi PHP i costi di hosting saranno potenzialmente molto inferiori. Aggiungere Java all'equazione di solito significa iniziare con un server dedicato o una VM, (ricorda che il front-end GWT sviluppato da Java è compilato in Javascript). Ignorare i costi Java sembrerebbe la scelta ovvia dei due, per le ragioni sopra menzionate principalmente, una lingua e una RPC più semplice.

0

se si utilizza PHP per backend, non è possibile utilizzare "GWT rpc", è possibile utilizzare solo richiesta HTTP asincrone (utilizzando RequestBuilder), ma i costi di hosting diminuire. Penso che sia meglio implementare il backend utilizzando i servizi REST (da PHP) e quindi chiamare tali servizi dall'applicazione GWT al frontend (ad esempio utilizzando la libreria restygwt). Con questo approccio puoi cambiare facilmente la tua tecnologia back-end (o la tecnologia front-end) in futuro.

Buon divertimento.