Esplorando MDC: notificationbox

Alle volte basta scavare dentro MDC o dentro qualche estensione maggiore per scoprire che grazie ad una feature nativa ci si può risparmiare di reinventare la ruota.

Quindi... per la serie "Esplorando MDC" ecco a voi la notificationbox:

https://developer.mozilla.org/En/XUL/Method/GetNotificationBox
https://developer.mozilla.org/en/XUL%3anotificationbox
https://developer.mozilla.org/en/XUL%3anotificationbox#m-appendNotificat...

MozRepl Custom Commands

Durante lo sviluppo di applicazioni o estensioni XUL è molto comune l'esigenza di ricaricare tutto l'ambiente chrome di XULRunner o abilitare/disabilitare alcune preferenze di debug.

Il buon vecchio "Extension Developer Extension" è una estensione per Firefox che può già svolgere queste due funzioni, purtroppo supporta nativamente solo Firefox, Thunderbird e Flock, ma soprattutto risulta più complesso di quello di cui di solito abbiamo bisogno.

Un url blocker in trenta linee di codice

La settimana scorsa mi hanno chiesto quanto potesse essere complesso scrivere, utilizzando XUL, del codice che inibisse la navigazione su certi indirizzi web, dato che non era la prima volta che mi veniva chiesto ho deciso di buttare giu' una proof of concept.

Inibire totalmente la navigazione su una pagina e' cosa ben diversa dal bloccare selettivamente alcuni elementi presenti sulla pagina cosi' come fa Adblock Plus e per certi versi e' perfino piu' semplice.

JS-CTypes - Test Drive

XPCOM è la gioia e dolore di tutti gli sviluppatori della piattaforma Mozilla XULRunner: la porta d'accesso a tutta una serie di servizi privilegiati che il WebContent si sogna :-) ma al tempo stesso è la porta d'accesso ad un inferno in terra :-(

Accedere alle interfacce XPCOM fa molto CORBA, anche nei linguaggi ad alto livello come Javascript, Python o Java... realizzare nuove interfacce XPCOM fa ancora più CORBA... anche realizzandole in Javascript...

Per non parlare poi dei componenti binari... effettuare il binding di una libreria nativa in una (o più) interfacce XPCOM richiederà la scrittura di un buon numero di linee di codice in C++, composto da una quantità abnorme di macro "semplificative" e stub generati dall'IDL :-(

JS-CTypes nasce da una iniziativa di Mark Finkle ed ha lo scopo di fornire al linguaggio di scripting principe della piattaforma Mozilla XULRunner (Javascript) un modo più naturale per effettuare il binding di libreria native attraverso libffi e un API simile a CTypes (che troviamo di serie in Python).

MozRepl for non-emacs users

Come sviluppatore XUL, se c'è un AddOn di Firefox a cui non posso assolutamente rinunciare è MozRepl, una porta aperta dal mio emacs al mio profilo di sviluppo di Firefox.

Usare MozRepl da Emacs è semplice e agile grazie all'Emacs minor-mode incluso nell'estensione, il quale connette un buffer emacs ad una sessione MozRepl, attraverso una connessione tcp telnet-like... ma come facilitarne l'accesso a sviluppatori che non usano emacs?

Sperimentare con i plugin di Bespin

Questa e' la riedizione italiana del post originariamente pubblicato sul mio blog personale.

Ho cominciato ad usare Bespin in maniera intensiva, lunghe sessioni di editing utili a testare quanto esso sia confacente alle mie necessità.

Il Mozilla Add-Ons Workshop 2009 di Firenze

Immaginatevi un geek mozilliano arrampicarsi sulle spalle di un altro per arrivare a una presa elettrica sul soffitto, che si aspetta di essere restituito alla terraferma e invece essere scarrozzato altrove alla ragione di "prossima presaaaa!".


(Photo credits: William Tutte le foto qui.)

Immaginatevi la signora chiacchierona al bar che serve bevande e panini, vedersi chiedere prima decine di sedie, poi un coltello vecchio da usare come cacciavite per montare ventilatori freschi di acquisto, poi stracci per permettere ai suddetti geek di ripulire le suddette sedie ripescate dalla cantina. Immaginatevela reagire con altra e vivace chiacchiera (invece di minacce di cacciarci).

Immaginatevi due che non hanno mai dato una presentazione insieme, negoziare dal vivo, con buon divertimento del pubblico, quali slide saltare per far spazio a una presentazione fuori in programma ma estremamente cool. (Naturalmente io avevo quasi sempre ragione ma Luca è un osso duro. :P)

A questo punto penserete che il Mozilla Add-On Workshop di Firenze arrivava con più che un pizzico di avventura, ma i nostri fiorentini Giacomo e Iacopo (di Mozilla Italia) nonché gli agenti del quartier generale Paul e William (da Mozilla Europe), superando un ostacolo dopo l'altro ci hanno portato al cuore del workshop: un discorso introduttivo sullo sviluppo di estensioni per Firefox, un tutorial pratico, e un finale sui trucchi del mestiere.

Nonostante gli spigoli vivi e l'abbondanza di materiale non banale da coprire (da zero a un'estensione per la ricerca su Twitter allo sviluppo interattivo in meno di tre ore), quasi cinquanta persone ci hanno dato piena attenzione e supporto, cosa che testimonia il crescente interesse sull'argomento in questo paese (o la raramente lodata qualità della pazienza italica (o entrambe le cose)).

Il materiale è disponibile: slide, esempi incrementali sulla creazione dell'estensione, esempi di JavaScript “insolito” (se vi siete occupati principalmente di sviluppo web finora).

Se eravate lì e le vostre domande non sono state poste o risposte per mancanza di tempo o perché non vi siete potuti trattenere; o se volete essere tenuti aggiornati sulle iniziative del prossimo autunno; o se volete semplicemente affacciarvi per un saluto, contattateci o lasciate un commento qui sotto.

Buon hacking!

Utilizzare la cache per memorizzate oggetti definiti dall'utente

Non è raro che un'estensione necessiti di memorizzare informazioni sul proprio stato, generalmente queste informazioni contengono le impostazioni come la dimensione dei caratteri utilizzati, colori ed altro.

Ci sono casi però che richiedono la memorizzazione di informazioni temporanee, informazioni che alla chiusura dell'applicazione possono tranquillamente andare perdute, i cosiddetti dati di sessione.

Localize your XUL

I programmatori su certe cose sono proprio fissati… o meglio “i programmatori sono proprio fissati e basta” :-D

Una delle nostre fisse e’ che il codice, le variabili, le costanti, i commenti etc. devono essere sempre in inglese.

Event listener monouso (e amenità correlate)

Capita che si voglia rispondere a un evento ricorrente una sola volta e ignorarlo le successive, per esempio fare qualcosa solo per la prossima pagina caricata o per il prossimo pacchetto proveniente da una connessione di rete.

La prima strada presa in genere è quella del flag esterno...

Syndicate content Syndicate content