Migrazione dell'app Web da php a Java [chiuso]

0

Ciao, ho avuto oggi la mia prima intervista per una posizione di sviluppatore Android. Nel mio portafoglio ho avuto un'applicazione di e-commerce php che ha un catalogo, un carrello degli acquisti alimentato ajax e funzionalità di amministrazione.

Poiché le mie conoscenze su Android sono limitate, ho iniziato a studiare solo 3 settimane fa, mi è stato chiesto di migrare la mia attuale applicazione web PHP in Java Web fino al 19 aprile, quando si svolgerà la seconda fase dell'intervista, in modo che possano Valuta quanto velocemente posso imparare una nuova tecnologia.

Non ho esperienza con Java che lavora sul web, quindi non so da dove cominciare.

Dopo un po 'di ricerche ho scoperto che per lo sviluppo di siti Web con Java in genere si utilizza JSP, Spring o Struts.

Desidero una raccomandazione su streghe dovrei imparare a iniziare rapidamente a migrare l'applicazione web in Java e alcune risorse che non entrano nei dettagli di un frantage quanto basta per iniziare.

    
posta aleczandru 25.03.2013 - 19:22
fonte

2 risposte

2

Ho dovuto migrare una grande applicazione PHP in Java alcuni anni fa. Ho scelto di migrare a Java + JSP normale piuttosto che usare un framework, e ha funzionato abbastanza bene per me; Trovo che serlvets + JSP + JSTL sia estremamente potente e flessibile e non ti deprima troppo.

Consigliamo vivamente Servlets + JSP per il tuo caso se per nessun altro motivo ti mostrerò le fondamenta fondamentali dello sviluppo web Java, senza passare troppo tempo ad apprendere un framework che non sai di essere effettivamente utilizzando. Se sai che stanno usando Spring o Struts o qualsiasi altra cosa, con tutti i mezzi, impara quello specificamente; altrimenti, impara le basi e fatti strada verso l'esterno da lì.

    
risposta data 25.03.2013 - 20:19
fonte
1

Non penso che lo sviluppo web di Java avrà alcun impatto diretto sullo sviluppo di Android oltre a servire da indicatore generico della tua capacità di acquisire nuovi argomenti da solo. Potrebbero esserci alcune logiche a questo, anche se ottenere il tuo primo programma Android "Hello world" attivo e funzionante implica una notevole quantità di lavoro di installazione. Nel caso dello sviluppo web, c'è molto meno setup (ma ancora una piccola quantità, più su questo sotto)

Come sviluppatore PHP, i vecchi servlet + JSP saranno probabilmente i più vicini al tuo modello mentale (come ha sottolineato Adrian). Una delle grandi differenze è che si avrà accesso al contesto dell'applicazione in cui è possibile memorizzare oggetti globali e il contesto di sessione in cui è possibile memorizzare oggetti specifici dell'utente / sessione. Questo ti dà la possibilità di avere lo stato nella tua applicazione web senza colpire costantemente un database o ruotandolo manualmente con memcached o simili. Un'altra differenza è che Java ha il concetto di un'applicazione web. Un'applicazione web è un singolo file con estensione .war. se sei curioso, puoi decomprimere il file .war e vedrai all'interno di un albero vari file e cartelle, inclusi i tuoi JSP così come vari file di configurazione, classi compilate, altri file jar ecc.

Struttura dell'applicazione

Usando semplici vecchi servlet e JSP, puoi implementare il concetto di MVC strutturando il tuo codice come segue:

  1. Crea un servlet chiamato controller. Il compito del controllore sarà di eseguire qualsiasi azione richiesta. Il controller non avrà alcuna logica di presentazione. In un'ipotetica applicazione del carrello degli acquisti, il controllore saprebbe come aggiornare il carrello, inviare l'ordine, registrare l'utente in ecc.

  2. Crea vari JSP per ogni vista. Ad esempio, potresti avere un cart.jsp per visualizzare il carrello.

I tuoi JSP devono essere usati solo per la presentazione, non per la logica (che appartiene al controller)

Questo dovrebbe essere sufficiente per ottenere l'idea di base. Cordiali saluti, la struttura JSF riprende l'idea di cui sopra e la formalizza. Cioè, tu crei un file che dichiara tutte le azioni che possono essere intraprese e quale vista dovrebbe essere mostrata dopo l'azione. Il controller è stato creato in modo implicito. Consiglierei di stare lontano da JSF a meno che non si abbia familiarità con JSP / Servlet.

Esistono altri framework come Struts e Shale che svolgono un ruolo simile e, allo stesso modo, ritengo che possano essere affrontati al meglio solo quando conosci JSP / Servlet. Ci sono molte analogie con questo mondo PHP come CodeIgnitor, Yii ecc.

La primavera è sostanzialmente più grande di JSF / Struts, ecc. Potrebbe valere la pena imparare a lungo termine, ma diventare produttivi in primavera sarebbe probabilmente un impegno sostanziale per gli sviluppatori Java più esperti.

Come configurare lo sviluppo web

La mia opinione personale è che è difficile battere Netbeans per facilità d'uso quando si inizia. Netbeans viene fornito in diversi pacchetti; se si scarica il pacchetto JavaEE, verrà fornito con Glassfish e Tomcat in bundle. Glassfish fornisce un superset della funzionalità fornita da Tomcat, ma per semplici vecchie applicazioni servlet / JSP, è possibile utilizzare entrambi.

Raccomando il glassfish che è leggermente meglio integrato con Netbeans. In questo caso, integrato significa che è possibile fare clic sull'icona "Esegui" in Netbeans e ciò comporterà Netbeans facendo quanto segue:

  1. Avvia il tuo server se non è in esecuzione
  2. Crea e distribuisci la tua applicazione web
  3. Avvia un browser che punta all'URL appropriato

Tomcat funzionerà altrettanto bene, ma penso che il supporto per il debug di Netbeans sia migliore in Glassfish.

    
risposta data 29.03.2013 - 18:46
fonte

Leggi altre domande sui tag