2015-02-24 11 views
5

Ho una grande applicazione che utilizza Java sul backend e strut, libreria di tag Jsp e JSTL sul front-end. Il database è DB2 e facciamo molto affidamento sulle procedure memorizzate.Applicazione web Java Front-end

Si prevede di aggiornare l'applicazione a una nuova architettura/framework.

Il quadro principale che stiamo considerando è Spring, anche se i nostri lead stanno cercando di spingerci ad adottare Java EE, sostenendo invece che è il framework migliore.

Qualche consiglio su quale strada utilizzare con Spring o Java EE? Qualunque motivo principale per preferire uno rispetto all'altro (vantaggio/svantaggio)?

Per ognuno di questi, qual è la migliore alternativa per JSP taglib? Usiamo dover scrivere manualmente tutti i tag html per visualizzare i dati dinamici con JSTL. Sto leggendo su nuovi framework come componenti Angular e JSF. Non sono sicuro anche di ciò che è ampiamente usato in questi giorni. Ho letto che sempre più programmatori stanno passando i dati dai servizi REST come JSON al front-end. Cosa usano per rendere i dati, è JSF, Angolare?

Faccio programmazione .NET, e in ASP.NET abbiamo l'associazione dati e componenti come ListView, ecc. JSF e Angular sono gli stessi?

Qualsiasi sito web con buoni esempi, documentazione (in particolare architettura) che si consiglia?

+0

Quindi, dove è possibile che qualcuno chieda agli sviluppatori esperti di dare suggerimenti quando si tratta di tecnologie specifiche? Sto aggiornando un'applicazione obsoleta e avevo bisogno di qualche consiglio. Credo di aver bisogno di trovare un altro sito tecnico online. – daoud175

risposta

7

Java EE e Spring sono entrambi framework molto validi e completi per la scrittura di backend. Entrambi dovrebbero essere in grado di fare esattamente quello che vuoi. Consiglierei l'utilizzo del vostro team, ma rimarrò fuori dai dettagli in quanto sarete in grado di realizzare un'applicazione di alta qualità con uno qualsiasi.

Per quanto riguarda il front-end, ho ottenuto personalmente i migliori risultati dalla creazione di un'API RESTful e l'ho utilizzato per inviare dati a un framework Javascript front-end. Angular è davvero buono per questo. Una ragione per questo è che i framework Javascript tendono a fornire molta potenza quando si tratta di scrivere buoni front-end web. JSF è un framework MVC basato su server e basato su componenti e, in genere, offre meno controllo sul codice HTML + JavaScript che viene creato e rende molto più difficile scrivere test per.

Ho anche scoperto che nei grandi negozi, non è sempre possibile fidarsi delle persone a fare le cose subito. La separazione delle preoccupazioni è importante, e mi piace usare un framework JavaScript come Angular per il front-end perché fa molto per mantenere il codice front-end fuori dal back-end. Le applicazioni JSF che abbiamo sul mio posto di lavoro sono piuttosto terribili, perché gli sviluppatori hanno abusato di cose come le sessioni. Il codice JSF viveva anche nella stessa implementazione del backend. Invece di usare i servizi web e adottare un approccio orientato al servizio e mantenere tutto accoppiato in modo approssimativo, abbiamo finito con giganteschi "blob" di codice che "fanno tutto".

+0

Grazie mille per il feedback – daoud175

1

Molto dipende dal vostro team con cui si trovano a proprio agio.Both Spring e Java EE possono fare tutto per voi, ma personalmente suggerirò i moduli molla jdbc + spring mvc per il backend. La funzionalità di iniezione a molla è molto utile per l'applicazione web. Anche primavera jdbc modulo creare ambiente e creare sessionFactory per le chiamate jdbc.

Crea il resto del tuo controller che ti semplificherà la vita. Spring offre anche molti modelli che fungono da classi base per rendere l'uso delle tecnologie standard Java EE un gioco da ragazzi con cui lavorare. Ad esempio, JdbcTemplate funziona bene con JDBC, JpaTemplate fa buoni affari con JPA, JmsTemplate rende JMS piuttosto semplice.

anche per il punto di vista maintence primavera è migliore perché è popolare e per lo più sviluppatori sono familier con molla.

Per il front-end angolare è eccellente perché AngularJS ha un sottosistema di integrazione delle dipendenze incorporato che aiuta lo sviluppatore rendendo l'applicazione più facile da sviluppare, comprendere e testare.

L'associazione dati è probabilmente la funzione più interessante e più utile in AngularJS. Ti eviterà di scrivere una quantità considerevole di codice boilerplate.

+0

Grazie mille per il feedback – daoud175

+0

> 'JpaTemplate fa cose buone con JPA' - Questo è un po 'discutibile ed è stato un argomento controverso. In realtà questa era la causa di una certa tensione tra i gruppi Hibernate (Gavin King) e Spring: JPA era un'API nuova e pulita ed è discutibile se avesse bisogno di un involucro o di un miglioramento da parte di Spring. –

+0

> 'JmsTemplate rende il JMS piuttosto semplice '- Si noti che in Java EE 7 l'API JMS è stata radicalmente semplificata. Probabilmente JmsTemplate non ha più senso per JMS 2.0. –