Supporto di più framework javascript in una singola applicazione

0

Stiamo costruendo diverse applicazioni che alla fine saranno un'applicazione front-end. È suddiviso in diversi progetti nel momento in cui ogni progetto è gestito dal proprio team di scrum.

Le vecchie applicazioni erano basate su Angular 1, mentre le più recenti erano basate su React. Il risultato è incoerenza nel look and feel, nella diversità tra gli sviluppatori che utilizzano Angular e React e nella mancanza di componenti riutilizzabili tra diversi framework (la tabella incorporata in React non può essere utilizzata in Angular e viceversa).

La decisione dei superiori era di portare le applicazioni React in Angular 1, cosa che ha reso furiosi molti sviluppatori di React e persino alcuni sviluppatori Angular, sapendo che React ci aiuta a produrre codice migliore ed è più facile ragionare di Angular 1 È anche più recente, mentre Angular 1 avrebbe bisogno di una completa riscrittura comunque ad Angular 2. Tuttavia, React potrebbe essere sostituito da qualcosa di più nuovo in futuro e alla fine sarà anche vecchio.

In che modo questa situazione può essere gestita in generale - dove due o più framework javascript diventano obsoleti e alla fine sostituiti da qualcosa di nuovo pur mantenendo un aspetto coerente e, se possibile, componenti riutilizzabili tra diversi framework? È possibile eseguire, ad esempio, Angular 1 e React su una singola applicazione?

    
posta ailveen 02.06.2016 - 07:53
fonte

2 risposte

1

Non esiste una risposta chiara, solo un numero di opzioni:

  1. Scegli una particolare versione di framework / framework e continua a svilupparla per tutta la vita del progetto.

In questo caso, ciò significa rimanere attaccati all'angolare 1 per sempre. Non è necessariamente una brutta cosa. È open source, basato su standard, affidabile e ben documentato, quindi in pratica è possibile continuare a utilizzarlo per decenni anche se si finisce per fare la propria manutenzione sul codice del framework. I due aspetti negativi sono che i nuovi framework possono essere più produttivi / più potenti e che alla fine diventa difficile attrarre e trattenere gli sviluppatori perché stai usando una tecnologia datata.

  1. Consenti più framework, ma hanno convenzioni comuni per la progettazione dell'interfaccia utente e la comunicazione tra framework.

Potresti ad esempio standardizzare su una tabella di reazione e usarla dalla base di codice angolare avvolgendola in un componente angolare. Puoi anche unificare lo stile attraverso le soluzioni. Il vantaggio è che puoi integrare nuove tecnologie, il lato negativo è che hai un po 'di overhead nel garantire che tutto sia uguale e riutilizzi gli stessi componenti.

  1. Esegui una transizione legacy / moderna ogni X anni

Conserva i tuoi servizi di back-end, ma ricostruisci il front-end ogni pochi anni con una tecnologia più recente. Consenti al cliente di passare al "nuovo layout" all'accesso, e all'inizio avrà le funzionalità mancanti, ma quello che ha potrebbe fare meglio della vecchia interfaccia utente. Il lato positivo è che ogni pochi anni si inizia a ricominciare da capo, costruirlo secondo standard moderni e sbarazzarsi di funzionalità mal progettate. Il rovescio della medaglia è che questo progetto di ricostruzione è costoso e anche se incompleto significa costruire ogni nuova funzione due volte (a meno che non si possa chiedere ai propri utenti di ping-pong tra legacy e nuovi front-end).

In tutti questi casi, un fattore critico è che le scelte tecniche devono essere fatte dalle persone tecniche per raggiungere gli obiettivi aziendali stabiliti dai più alti. Un manager non dovrebbe fare la chiamata se standardizzare su 1 angolare o reagire, basta fare la chiamata che desiderano avere un'interfaccia utente unificata e un insieme di capacità di sviluppo, e incitare i lead tecnici a prendere decisioni tecniche che lo raggiungano, il che può includere la standardizzazione su angolare 1. La decisione deve essere indirizzata alla direzione solo se il team tecnico non riesce a prendere una decisione.

    
risposta data 02.06.2016 - 09:47
fonte
1

So che questo è un vecchio post ma voglio condividere le mie conclusioni nel caso qualcuno stia cercando le stesse informazioni.

Come puoi leggere in questo articolo:

link

la strada per integrare più framework js in un'applicazione a singola pagina si chiama micro frontend.

Il metaframework suggerito nell'articolo è single-spa ( link ).

Dovresti anche dare un'occhiata agli elementi personalizzati html (in angolare sono chiamati "elementi angolari"). Sono tags html personalizzati che consentono di caricare una micro applicazione all'interno (angolare, reagire e vue supportarli).

    
risposta data 23.10.2018 - 09:04
fonte

Leggi altre domande sui tag