Attualmente sto lavorando con un'azienda che utilizza Java / Tomcat / Spring per il back-end delle nostre applicazioni web. Come sviluppatore front-end, sento sempre più strong che il back-end dovrebbe essere un progetto separato dal front-end, per alcuni motivi:
1) Creazione del progetto - molti progetti moderni creati con grunt e altri strumenti front-end. Gli obiettivi di build front-end (concatenazione, minification, test front-end, CSS di pre-elaborazione) sono completamente diversi dagli obiettivi back-end (compilazione del codice java, superamento dei back end test, implementazione su un server di integrazione continua)
2) Distribuzione: quando si esegue il commit di un file javascript o html nel repository git, non ha senso che il nostro strumento di distribuzione continui ricostruisca e ridistribuisca l'intero progetto, ma non ha modo di distinguere tra un commit front-end e un commit back-end.
Quindi, come ristruttureresti un progetto precedentemente distribuito automaticamente da un singolo file di guerra, vivendo in un singolo repository git, per creare un back-end e un front-end separati? Posso farlo davvero, dato che usiamo il framework Spring?
In questo momento, i miei file vivono in una miscela della directory /webapp/WEB-INF
(per i modelli html pages / velocity) e la directory /webapp/resources
per tutto il resto (js, css, images). Sono un po 'confuso su come dovrei fare questo quando tomcat distribuisce una grande mole di file nella directory /target
, pure? Se tengo un repository git separato per i file front-end, non verrà cancellato se re-distribuisco il progetto back-end?
(Originariamente provengo da uno sfondo Apache, dove sembrava così bello e semplice ...)