snipershady wrote:Partendo da una ipotetica situazione in cui uno sviluppatore ha uguali conoscenze di entrambi i linguaggi, quali sono i vantaggi e svantaggi di sviluppare un sito in PHP piuttosto che in JAVA?
I due linguaggi sono interfacciabili? Possono collaborare tra di loro?
Infine domanda per Samenta86 e Gennuzz
lato server come ci si comporta? Come si configura apache per far girare Java Web? Librerie etc, come vanno centralizzate?
Innanzitutto specificami cosa intendi per "java web" .
JSP? Servlet Java? JS?
Sono facce diverse della stessa tecnologia ed ognuna di esse (non per forza esclusive tra loro) si porta appresso una serie di presupposti e hanno differenti potenzialità.
Php ha dei moduli nativi che permettono di interagire con java, per quanto non penso che esista qualcosa che java può fare e php no in ambito web.
Comunque a mio modo di vedere tra i due linguaggi non c'è paragaone.
Un'applicazione (qualunque essa sia) programmata in java è NATIVAMENTE multipiattaforma, di conseguenza è enormemente scalabile (Non a caso è la scelta prediletta per le soluzioni enterpise).
Inoltre il fatto che java si un linguaggio object oriented semplifica tutte le dinamiche connesse alla riusabilità del codice.
Lato Server, nel caso di java generalmente bisogna inserire un layer in più sul piano architetturale.
Le pagine jsp necessitano di una fase di compilazione da eseguire almeno una volta; e le servlet devono essere quanto meno eseguite.
Queste funzioni vengono tipicamente svolte da un application server (vedasi Weblogic, Tomcat, Jboss).
Apache svolge unicamente il ruolo di WebServer di per se non può fornire servizi per pagine web dinamiche (lo stesso php è modulo aggiuntivo di apache).
In definitiva quello che tipicamente si fa è
implementare un layer di front-end che esponga le eventuali pagine statiche di un applicazione web (Web Server)
implementare un layer di back-end che funga da infrastruttura di run-time per i moduli dinamici (Application Server)
i due strati tipicamente comunicano con dei moduli aggiuntivi (plugin) del secondo verso il primo.
Es.: plugin BeaWeblogic per apache, modjk per apache e tomcat etc. etc.