JAST Egg it

Scaricalo subito!

Jast Core v0.9.0 - 2008-06-18

Implementare un Plugin per JAST

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.

Metodo 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', { } );

Classificare l'Uovo

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'
	}
} );

Come dovrà schiudersi il nostro Uovo?

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.

Il metodo 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

Il metodo custom 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!

Top news