Framework plugin per software estensibile

4

Devo creare un'app Web che fornisca la funzionalità da installare / disinstallare plugins. Pensa a qualcosa come il software IDE di Eclipse. L'unica differenza è impossibile riavviarlo come Eclipse per applicare le modifiche. Immagino di poterlo dire, sarebbe simile a Wordpress.

I pensato am implementato questo utilizzando OSGi come segue: Ogni volta che viene installato un nuovo plug-in, verrà registrato un nuovo servlet HTTP su Lavagna Http . Questi endpoint servlet esposti verranno utilizzati da altri bundle e app di terze parti che sono presenti all'esterno. Ogni plugin sarà sviluppato separatamente come pacchetto OSGi. Posso usare la console web di Apache Felix per consentire all'utente di installare / disinstallare un pacchetto di sua scelta.

Il problema con OSGi è che c'è poco supporto disponibile.

  1. C'è qualche migliore architettura e struttura per fare questo?
  2. Qualcuno sa dell'architettura ecosistema dei plugin di Wordpress?

Nota: ho già consultato il collegamento . È stato chiesto 10 anni fa. La mia domanda è più specifica e spero che debba essere successo molto in quest'area negli ultimi 10 anni.

    
posta Nikhil Chilwant 17.02.2018 - 05:12
fonte

1 risposta

3

Personalmente, implementerei il lato client di questo utilizzando WebComponents e il concetto di "micro-front-end". Anche se la tua domanda è piuttosto ampia, sembra che tu abbia già la parte back-end per la maggior parte, ma dato che questa è una pesante app lato client (partendo dal presupposto che non puoi permetterti nemmeno di aggiornare la pagina), per me ha senso utilizzare le API del browser nativo per registrare i plug-in come componenti Web. Anche il tuo "main" dovrebbe essere compatibile con questa architettura di plugin, essendo in grado di fornire lo stato ad altri plugin senza problemi e gestire cose come layout / selezione del tuo plugin. Avete altre domande riguardo questo tipo di architettura? Oltre ai "tempi di attesa" quali requisiti aggiuntivi e casi d'uso devono essere pesanti? Quale stato è necessario? Cosa fanno questi ?

di plugin     
risposta data 24.02.2018 - 04:59
fonte

Leggi altre domande sui tag