Plug-in

Introduzione

Un plug-in è una porzione di codice indipendente che aggiunge funzionalità a Blockly. I plug-in possono aggiungere campi, definire temi, creare renderer e molto altro ancora.

L'utente di destinazione di un plug-in è uno sviluppatore che trova e utilizza il plug-in tramite npm. Per ulteriori informazioni sulla creazione di un plug-in, puoi anche guardare la conferenza 2021 su come creare un plug-in e la conferenza sulla panoramica dei plug-in del 2021.

Proprietario e di terze parti

I plug-in definiti nel repository blockly-samples sono plug-in proprietari, vale a dire che sono supportati dal team Blockly e sono pubblicati nell'ambito @blockly su npm.

Plug-in proprietari efficaci:

  • hanno casi d'uso evidenti
  • sono per uso generico
  • sono stabili
  • sono facili da usare

I plug-in di terze parti vengono gestiti e pubblicati in modo indipendente. I plug-in di terze parti possono essere più complessi, più sperimentali o più mirati.

Ad esempio, in molti progetti di robotica si potrebbe utilizzare un campo per impostare la velocità del motore. D'altra parte, un campo per la modifica di un oggetto specifico definito dallo schema del database è preferibile come plug-in di terze parti.

Criteri proprietari

I plug-in proprietari devono soddisfare i seguenti requisiti:

  • Funziona su tutte le principali piattaforme, a meno che non venga concessa un'esenzione dal team di Blockly.
    • Chrome, Firefox, Safari, Edge
  • Ha un autore disposto a gestire i bug per il primo anno.
  • Non monkeypatch Blockly.
  • Ha un'API chiaramente definita e documentata.
  • Non chiama funzioni private o di pacchetto dal core Blockly, a meno che non venga concessa un'esenzione dal team Blockly.
    • È consentito eseguire l'override delle funzioni dei pacchetti in una sottoclasse definita da te.
    • Se vuoi ottenere un'esenzione, chiedici in merito a un problema relativo agli esempi a blocchi.
  • Ha test.

Ricerca dei plug-in

  • Nelle pagine GitHub Esplora le demo live dei plug-in proprietari.
  • On npm Cerca @blockly per visualizzare un elenco dei plug-in pubblicati dal team di Blockly.
  • In GitHub, consulta la directory dei plug-in nel repository blockly-samples. Ogni plug-in dispone di un file README che descrive il suo comportamento e l'utilizzo previsto.

Installazione dei plug-in

  1. Trova il plug-in che vuoi installare utilizzando una delle risorse riportate sopra e individua il file README.
  2. Segui le istruzioni di installazione nel file README. In genere, è necessario installare il plug-in da npm, ad esempio

    npm install @blockly/block-plus-minus --save
    

    e importalo nel tuo codice, ad esempio

    import Blockly from 'blockly';
    import '@blockly/block-plus-minus';
    
  3. Alcuni plug-in potrebbero richiedere passaggi aggiuntivi, come l'inizializzazione o la registrazione del plug-in. Questi passaggi saranno elencati nel file README.

Versioni plug-in

I plug-in negli esempi a blocchi seguono il controllo delle versioni semantico, pertanto eventuali modifiche che provocano un errore verranno applicate a una nuova versione principale. Tutti i nuovi plug-in che si basano sul core di applicazione delle patch delle scimmie avranno una versione principale pari a 0 per indicare lo sviluppo iniziale, come indicato nella specifica del server.

La maggior parte dei plug-in include il pacchetto blockly principale come peerDependency anziché come dipendenza. Il motivo è che ci aspettiamo che tu abbia già installato Blockly nella tua applicazione (non avrebbe senso utilizzare un plug-in senza usare Blockly) e che tu possa gestire la versione di Blockly autonomamente. Tuttavia, molti plug-in sono stati sviluppati per utilizzare le nuove API presenti nella versione più recente di Blockly, quindi devi conoscere i requisiti della versione. L'package.json del plug-in ti indicherà qual è la versione minima di Blockly compatibile con il plug-in. Se un plug-in viene aggiornato per avere bisogno di una versione più recente di Blockly, ad esempio per sfruttare un'API completamente nuova, viene incrementata la versione principale del plug-in, che consideriamo una modifica che provoca un errore.

Quando aggiungi il plug-in al tuo package.json, per impostazione predefinita viene incluso un accento circonflesso prima della versione, ad esempio

"@blockly/block-plus-minus": "^2.0.15"

In questo modo npm potrà installare qualsiasi versione secondaria uguale o superiore a quella elencata, pertanto la versione 2.0.20 o 2.1.0 potrebbe funzionare, ma non una nuova versione principale come 3.0.1. Quando esegui l'aggiornamento a una nuova versione di Blockly, ti consigliamo di verificare se è stato possibile aggiornare anche i plug-in a una nuova versione principale.

Installazione di plug-in senza npm

In genere consigliamo di utilizzare npm per ricevere facilmente gli aggiornamenti, tuttavia è possibile usare plug-in senza npm.

Puoi utilizzare unpkg per includere i file dei plug-in senza clonarli, ad esempio

<script src="https://unpkg.com/@blockly/block-plus-minus"></script>

In alternativa, puoi clonare il repository blockly-samples e includere i file in modo simile a come faresti se avessi clonato Blockly. Tuttavia, se possibile, ti consigliamo di utilizzare un gestore di pacchetti, che ti aiuterà a rimanere aggiornato con le funzionalità e le correzioni di bug più recenti nel plug-in.

Con questo metodo, devi comunque eseguire gli eventuali passaggi di inizializzazione o registrazione elencati nel file README del plug-in.