Architettando una soluzione multi-tecnologia

0

Sto cercando di risolvere un problema con il riutilizzo di componenti. Ho alcuni componenti dell'interfaccia utente (un mix di JS, CSS e HTML) che non sono specifici per nessuna applicazione. Questi componenti dell'interfaccia utente devono poter essere utilizzati in più applicazioni. Uno è un'applicazione RoR, l'altro è un'applicazione ASP.NET MVC. Come posso mantenere questi componenti (ad esempio con controllo della versione, distribuzione) e renderli ancora accessibili alle diverse piattaforme che devono consumarli?

Ad esempio, ApplicationA e ApplicationB utilizzano UIComponentA, che non è parte nativa dei loro progetti o repository, perché UIComponentA vive nel proprio repository. In che modo questi progetti ottengono le dipendenze di cui hanno bisogno mantenendo i componenti riutilizzabili e ospitati nella loro posizione? Qualcuno ha esperienza con una situazione simile, e se sì, come l'hai affrontata?

Se hai bisogno di ulteriori informazioni, non esitare a chiedere, aggiornerò questa domanda.

    
posta Eli 16.12.2011 - 20:41
fonte

3 risposte

3

Penso che tu possa guardare qualsiasi numero di framework lato client disponibili pubblicamente come jQuery e YUI e vedere come vengono distribuiti. Qualsiasi progetto particolare può dipendere da una versione specifica della lib dell'interfaccia utente. Può copiare la versione pertinente al proprio repository o afferrare come parte del processo di distribuzione. Un'altra opzione è l'approccio CDN in cui i componenti dell'interfaccia utente sono effettivamente ospitati in modo indipendente e vengono semplicemente inseriti nel lato client.

    
risposta data 16.12.2011 - 21:04
fonte
0

Un'opzione sarebbe quella di ospitare i pacchetti (JS, CSS, immagini statiche, ecc.) su un URL accessibile pubblicamente e basta indicarli dove necessario dall'URL. Ecco come lo fanno jQuery e tutte le grandi librerie.

    
risposta data 16.12.2011 - 21:11
fonte
0

Dalla lettura della tua domanda, il problema più significativo sembra essere quello di "abbattere le dipendenze in un modo agnostico della tecnologia". Per essere in grado di risolvere questo problema, è possibile creare una facciata di servizio che fornisca gli elementi riutilizzabili menzionati da @ Mike Brown e fornire anche dati e funzionalità esponendo alcune implementazioni dei servizi RestFull. Questo introduce un ulteriore livello nel sistema con il quale si isolano i componenti di primo livello (UI) dall'implementazione dei componenti da cui dipende.

    
risposta data 16.12.2011 - 22:13
fonte

Leggi altre domande sui tag