Abbiamo molte applicazioni multipage legacy. Ad esempio, un'applicazione di raccolta di informazioni personali può contenere quattro o cinque applicazioni basate su modulo HTML4. Il back-end è basato su Spring MVC e non c'è javascript nella parte anteriore. Ad esempio, un utente può inserire le informazioni del nome su una schermata e fare clic su Avanti nella sua formazione, ecc. Ogni pagina HTML conterrà un modulo HTML e i dati verranno reindirizzati al server sul pulsante successivo.
In definitiva il portale è una raccolta di queste applicazioni a silos. Inoltre, potrebbero esserci solo alcune webapps basate sulla primavera che ospitano più di questi tipi di applicazioni. Ad esempio, potresti avere un set di informazioni personali dei controller Spring in un pacchetto Java e contenuto html in portal-web-app e quindi l'applicazione di aiuto e feedback è nell'app web del portale, ecc.
Stavo cercando di riprogettare usando angularjs, reactjs, vuejs, o solo jquery per front-end ma non vedo dove potrebbe essere di aiuto in un'applicazione che supporta app di più pagine o un'applicazione che potrebbe ancora richiedere Spring MVC per il rendering parte del contenuto sul lato server.
Perché usare un framework JavaScript? Io principalmente voglio fare più lavoro sul lato client. Vedo problemi con l'utilizzo di AngularJS perché sembra che avrei dovuto convertire l'intero sito del portale per utilizzare AngularJS e utilizzare un index.html con tutte le app sotto tale index.html. Stavo pensando di dividere ogni parte di 4-5 pagine dell'app per utilizzare angularjs e quindi index.html conterrebbe solo le visualizzazioni per quella parte di 4-5 pagine dell'app. Vedo un problema in cui dovrei eseguire lo streaming di angular.js per ogni app "secondaria". Immagino che questo sia OK se angularjs è memorizzato nella cache. Ma c'è anche il problema in cui la parte della pagina 4-5 della app dovrebbe spostarsi su un'applicazione java web separata.
Potremmo usare solo jQuery e connetterci ai servizi REST basati su Spring MVC e ricevere i benefici dell'applicazione basata su Ajax. Questo approccio ci consente anche di supportare applicazioni multipagina in cui alcuni contenuti HTML potrebbero essere completamente resi da Spring MVC. C'è una maggiore flessibilità con questo approccio, ma jQuery sembra troppo leggero. Ad esempio, sembra più facile e meno bug creare una singola vista in AngularJS rispetto a jQuery. Sarebbe bello se potessi ottenere le direttive da AngularJS senza l'obbligo di creare un'app Single Page.