Quali sono gli approcci architettonici per la conversione di app a più pagine di grandi dimensioni per utilizzare nuovi framework JavaScript?

0

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.

    
posta berlinbrown2 01.04.2017 - 02:50
fonte

1 risposta

2

I was looking to redesign

La prima domanda che mi viene in mente è: perché?

Qual è il dolore concreto, stai soffrendo?

Finché non è possibile rispondere chiaramente a questa domanda, non vedo alcun motivo per il refactoring - o nella tua situazione nemmeno ricostruisci il tuo frontend. Se funziona e genera denaro, perché cambiarlo?

Quando offri una prospettiva / una serie di obiettivi, puoi pensare alle strade da percorrere per raggiungere il tuo obiettivo.

  • Se le tue pagine sono un disastro a causa di jQuery-Spaghetti, potresti semplicemente riscriverlo pagina per pagina senza considerare un framework JS.

  • Potresti prendere in considerazione qualcosa come StimulusJS ( manuale ) che è uscito da Basecamp, che è più adatto per le applicazioni web" tradizionali ", che trarrebbero vantaggio da un piccolo miglioramento.

  • Successivamente, è possibile utilizzare vue o reagire senza effettuare acquisti nell'intero ecosistema. Supponiamo che tu decida di provare Vue, potresti semplicemente aggiungerlo a una pagina e progettarne solo una piccola parte per avere un'idea, sia che si adatti alle tue esigenze.

Non c'è bisogno di andare completamente in SPA a meno che non sia richiesto dalla tua attività.

Introduci un nuovo "framework" con una nuova piccola funzionalità e guarda come si presenta.

    
risposta data 25.04.2018 - 17:08
fonte

Leggi altre domande sui tag