Ho diversi anni di esperienza nello sviluppo di applicazioni Web con PHP e ho anche lavorato con Java in modo estensivo (ma mai per lo sviluppo di applicazioni web). Sto completando un grande progetto su cui ho lavorato negli ultimi sei mesi, costruito in PHP/CodeIgniter e ospitato con CloudControl (fornisce provisioning e scalabilità automatica del server).Domande su Java per lo sviluppo Web da uno sviluppatore PHP
Il progetto è andato bene e PHP ha soddisfatto le mie esigenze, ma ora sono nella fase iniziale dello sviluppo di un'applicazione Web destinata agli utenti aziendali e sto prendendo in considerazione l'utilizzo di Java (probabilmente "Grails") in collaborazione con AWS Elastic Beanstalk.
La mia prima domanda è: multi-threading, quanto spesso viene utilizzato nello sviluppo di applicazioni Web per Java? Con la mia app PHP, il mio server avrebbe potuto essere chiamato a fare una chiamata API a Facebook in risposta alla richiesta di un utente (ad esempio post al muro di un utente). Per evitare che il mio processo PHP aspetti che la chiamata API sia completata prima di tornare all'utente, ho usato i server di job queer di Gearman con i lavoratori per scaricare il lavoro dal mio server di applicazioni primario a un worker in background.
Uno sviluppatore Java potrebbe semplicemente far ruotare un thread solo per gestire la chiamata API e restituire all'utente il processo principale? È questo il più grande punto di forza dello sviluppo Java su PHP? Grazie!
Mi sono nutrito con entrambe le lingue per un po 'di tempo. La mia opinione molto umile è: la forza di Java è la disponibilità di API e librerie. Per PHP è la velocità per costruire un prototipo o una versione funzionale. Guardami proprio ora, ho scelto ancora java per un nuovo progetto perché sapevo che avrei potuto usare Apache POI invece di PHPExcel ... una sorta di pigrizia. :) – Alfabravo
So che la possibilità di generare nuovi thread è una novità per uno sviluppatore PHP (come me) e avere il potere di usare questa bella funzionalità che PHP manca così disperatamente da origine a tutta una serie di "ooh, potrei fare questo, e questo, e queste cose "tipo di pensieri - ma essere parsimonioso. Ho sentito troppe storie di sviluppatori provenienti da PHP in un linguaggio che consente il multi-threading e di entrare in una situazione in cui hanno avviato 100 thread per eseguire il lavoro di qualcosa che potrebbe essere ragionevolmente fatto in 3, e quindi chiedersi perché il server funziona come un cane. – DaveRandom
Ho usato i thread quando gli utenti richiedono che i dati siano disponibili (le prestazioni sono una caratteristica!) E la raccolta di tutto richiederebbe tempi di attesa lunghi in un singolo thread. Sono sicuro che ci sono molti altri casi in cui si dimostra utile, ma non è un proiettile d'argento o un primo pensiero quando si costruisce qualcosa. – Alfabravo