Sei interessato a questo spazio?
Vuoi pubblicizzare la tua azienda su questo sito?
Sei interessato ad avere un link su questa pagina?
Scrivi a about@jastegg.it
per maggiori informazioni.
Sviluppare un plugin per Jast è davvero un gioco da ragazzi. In questo brevissimo tutorial impareremo a sviluppare un plugin che all'avvio cambierà il titolo della finestra.
extend( ) del Core
La prima operazione da fare è richiamare la funzione del Core extend( ) che richiede due
parametri:
JastEggIt.extend( <nome-egg>, <egg> );
Oppure nella forma abbreviata
_.extend( <nome-egg>, <egg> );
Questa funzione consente di aggiungere un nuovo plugin alla lista degli Eggs.
Il primo parametro ( <nome-egg> ) si aspetta una stringa contenente il nome del plugin.
Questo nome potrà essere poi utilizzato per fare riferimento all'Egg successivamente.
Il nostro egg lo chiameremo WinTitle. per cui, dopo aver richiamato il metodo _.extend( )
potremmo far riferimento a questo nuovo oggetto utilizzando una sintassi del tipo: _.WinTitle.
Il secondo parametro <egg> è un oggetto di tipo
JSON.
quindi scrivere un codice del genere corrisponde all'aver creato un Egg per Jast:
_.extend( 'WinTitle', { } );
Per rendere l'Egg visibile all'utente (requisito necessario per rendere un Egg
ufficiale), è necessario esporre una proprietà che corrisponde ad un altro oggetto in notazione
JSON.
L'oggetto si chiama info e prevede all'interno alcune informazioni sul plugin:
_.extend( 'WinTitle', {
info: {
title: 'Win Title',
version: '1.0',
eggUrl: 'http://jastegg.it/eggs/WinTitle',
// Solo nel caso l'egg è un plugin
// certificato (Altrimeti non impostare).
author: 'Nome dell\'autore',
url: 'url al sito dell\'autore'
}
} );
Organizzate le informazioni di base, dobbiamo decidere se il nostro Egg deve vivere di vita propria, se deve richiedere l'intervento dell'utente per avviarsi, oppure se bisogna prevedere entrambe le opzioni.
startup( )
Il metodo startup( ) (rigorosamente senza parametri) se esiste nell'Egg sarà richiamato appena
il Core di Jast si renderà conto che il DOM
della pagina è disponibile, purchè il metodo sia presente nel Plugin.
Quindi se volessimo programmare che il plugin all'avvio debba cambiare il titolo della finestra, potremmo adottare una soluzione del genere:
_.extend( 'WinTitle', {
info: {
title: 'Win Title',
version: '1.0',
eggUrl: 'http://jastegg.it/eggs/WinTitle',
// Solo nel caso l'egg è un plugin
// certificato (Altrimeti non impostare).
author: 'Nome dell\'autore',
url: 'url al sito dell\'autore'
},
startup: function(){
document.title = 'Il mio primo plugin con JastEgg It!';
}
} );
Occhio al titolo di questa finetra, e prova ad eseguire il plugin
setup( )
Un altro modo di richiamare un plugin è tramite il metodo: setup( ).
Questo metodo non esiste nel plugin e dovrà essere compito dello sviluppatore implementarne uno. Solitamente
si espone un metodo così denominato quando si vuole lasciare all'utente decidere quando eseguire il plugin.
Un esempio potrebbe essere quello che segue:
_.extend( 'WinTitle', {
info: {
title: 'Win Title',
version: '1.0',
eggUrl: 'http://jastegg.it/eggs/WinTitle',
// Solo nel caso l'egg è un plugin
// certificato (Altrimeti non impostare).
author: 'Nome dell\'autore',
url: 'url al sito dell\'autore'
},
setup: function(titolo){
document.title = titolo;
}
} );
Inizializza il plugin con il codice sopra riportato e poi prova a cambiare il titolo
Abbiamo creato quindi un nostro plugin!