Struttura di frontend che supporta un'architettura Plugin

-1

Alcuni amici e io voglio sviluppare un editor di codice basato sul web. Un po 'come Visual Studio Code ma come una web-app e più basata su plugin. Al momento non siamo sicuri della nostra architettura front-end. Vorremmo utilizzare un framework come Angular e non dover sviluppare in html e js perché pensiamo che un framework professionale risulterebbe più efficiente.

Ora, perché vogliamo che il nostro editor sia basato su plug-in, abbiamo bisogno che il nostro frontend sia piuttosto dinamico e consenta al client di estendere l'applicazione in fase di runtime.

Abbiamo paura di scegliere l'architettura sbagliata e quindi dover ricominciare da capo, quindi volevamo chiederti ragazzi se hai suggerimenti o suggerimenti.

Se hai altre domande riguardo al progetto, non esitare a chiedermelo.

    
posta atalantus 01.09.2018 - 19:08
fonte

3 risposte

1

Che cosa possono fare i tuoi plug-in? Interagisci con la GUI o aggiungi alcune funzionalità non visive? Paragonatamente, i secondi sono (relativamente) più facili da gestire, ma tenete presente che l'infrastruttura plug-in richiede una progettazione molto complessa.

Quindi, i tuoi clienti hanno le conoscenze per scrivere plug-in? Ti aspetti che scrivano in Angular, ecc. O devi fornire la possibilità di scrivere in pseudo-codice?

Come verrà caricato il plug-in? In formato semplice o in una forma intermedia (ad esempio una libreria binaria)?

Alla fine dovrai prendere delle decisioni in merito ai requisiti e ai vincoli del tuo sistema plug-in --- quindi è molto probabile che tu faccia alcuni "errori", specialmente se non hai mai progettato qualcosa di simile prima.

In termini di design, direi che è necessario decidere le specifiche, il formato, il caricamento / scaricamento, come i parametri verranno passati avanti e indietro, ecc.

In termini di programmazione, mi aspetto di vedere un uso estensivo delle interfacce.

In ogni caso, inizia ... non perderti nella voglia di progettare ogni piccolo dettaglio su carta

    
risposta data 02.09.2018 - 10:54
fonte
1

Hai mai sentito parlare di script utente ? I plug-in del browser come Grease Monkey consentono agli utenti di eseguire il proprio javascript sui siti Web visitati i propri computer. Accompagna brillantemente il problema del "codice non affidabile" consentendo alle persone di eseguire il proprio codice sul proprio computer.

Quello che dovresti fare è progettare la tua web-app per fornire le funzionalità di base e renderla facilmente estendibile in modo che altri possano sostituire le tue funzioni con la loro.

Puoi ottenere il successo scrivendo e pubblicando i tuoi script utente per integrare la tua app web di base.

    
risposta data 02.09.2018 - 15:55
fonte
0

Ho fatto esattamente questo per il prodotto della mia azienda. L'app Web è .NET Core Web API e Angular. Il punto di estensione back-end è un servizio che implementa un contratto, con alcuni metodi in grado di restituire l'HTML che viene reso in un IFRAME. All'interno dei metodi di servizio, il plug-in writer può fare qualsiasi cosa vogliano interagire con l'app o altri servizi, e possono creare HTML usando qualsiasi motore di template adatto a loro. La comunicazione cross-window avviene tramite l'API postMessage. Non sto dicendo che sia il miglior design di sempre, ma funziona per noi. Devo ancora vedere un'architettura plug-in per Angular a causa del suo processo di compilazione, e dubito che ne esisterà mai.

    
risposta data 03.09.2018 - 00:34
fonte

Leggi altre domande sui tag