Portarsi mootools dapertutto

Scrolliamoci un po’ di ruggine di dosso dopo più di un mese di fermo con un post piccolo piccolo ma utile a rimettermi in carreggiata.

In questi giorni sto leggiucchiando tonnellate di documentazione su HTML5 e spesso mi trovo a voler fare esperimenti sulle strutture mostrate.

Finora la procedura consisteva nel copiare la pagina, inserire il tag per l’inclusione di mootools e richiamarla in locale per le sperimentazioni del caso. finora.

La soluzione a questa impasse l’ho trovata utilizzando un semplice script javascript da utilizzare come bookmarklet.

Continua a leggere “Portarsi mootools dapertutto”

Rilasciato FormWizard 0.4 (released)

English Readers, Please jump to the appropriate section.

E’ da un po’ che non vi aggiorno degli sviluppi di FormWizard. Nonostante il relativo silenzio ho rilasciato due versioni e limato alcune imperfezioni della documentazione.
Continua a leggere “Rilasciato FormWizard 0.4 (released)”

Mootools: Selezionare un elemento

Tra i compiti più comuni che un programmatore javascript si trova ad assolvere c’è sicuramente la selezione di uno o più elementi all’interno del DOM.

Javascript propone diversi metodi: getElementById e getElementByTagName sono i più conosciuti e supportati. Mootools estende queste funzionalità fornendo dei propri metodi “wrapper” che permettono di operare selezioni più complesse con semplicità. Non mi stancherò mai di ripetere, inoltre, che i framework come Mootools hanno il metodo fondamentale di uniformare il supporto a javascript dei diversi browser (nei limiti del possibile). Ad esempio, nel caso della selezione permettendo di utilizzare una funzionalità simile a getElementByClassName anche per quei browser che non ne sono provvisti.

Darò per scontato che sappiate cosa siano xpath ed i suoi assi di selezione; chi non sapesse di cosa sto parlando può colmare la propria lacuna facilmente e rapidamente utilizzando, per esempio, la pagina della w3c school che parla degli assi.
Continua a leggere “Mootools: Selezionare un elemento”

FormWizard 0.2.1

Come avrete già dedotto dal titolo, ho rilasciato una nuova versione di FormWizard. Non ci sono novità eclatanti, giusto un paio di migliorie implementate seguendo i suggerimenti di alcuni utenti:

  • A partire da questa versione, il plugin codifica la pagina correntemente visualizzata in una classe che viene applicata al container del wizard. Questo premetterà agli sviluppatori di sviluppare regole css specifiche per le diverse pagine che compongono il wizard.
    Il primo utilizzo di questa caratteristica è quello di nascondere alla vista (o rendere semitrasparenti piuttosto che spostare o magari una qualche combinazione di effetti) i pulsanti di controllo a seconda della pagina visualizzata. L’ho implementata per questo ma la vostra creatività potrà trovarne molte altre applicazioni.
  • Da adesso il plugin passa due parametri alle funzioni che sono chiamate prima di cambiare pagina (onEnterPage e onExitPage). Il primo è l’indice della pagina da mostrare, il secondo è l’indice di quella visualizzata.  Penso che questa aggiunta possa essere utile per personalizzare meglio le funzioni in questione. Oltretutto, grazie e javascript, il codice preesistente non dovrebbe essere influenzato perché una funzione che non ha dichiarato parametri formali ignora eventuali parametri attuali che le vengano eventualmente passati. Prima che me lo scriviate: si, conosco l’esistenza dell’array arguments, e se voi non lo conosceste fareste meglio ad informarvi a riguardo.

E questo è tutto.

NOTE for not italian speakers: This post has a english version also available

Formwizard version 0.2.1 – english

This is the first of a series of post written in english as I got that the FormWizard plugin is more useful of what I initially thought. Since there are people that cannot read Italian I resort to write communication on the plugin releases in english too. Obviously what I pretend to call english is just the best approximation I can write.

As I stated in the title, I’ve got a new version of FormWizard. There are not exciting news. I just implemented a couple of hint I’ve got from users:

  • The current displayed page of the wizard is recorded into a class applied to the wizard container in order to let developer to apply specific css rules to the different pages.
    It is useful to hide and show (or fade, or displace or any combination of css effects) the control buttons. Use your creativity to leverage this features.
  • Now the plugin will pass two parameters to the functions that are called before a page flip.
    The first one is the page to show, the second one is the page actually displayed. I think it can be useful and, thanks javascript, it doesn’t break existing code as a function without formal parameter declaration ignore them. Yes I know of the arguments array, and you should too.

That’s All Folks.

Campi privati in Javascript

Con la traduzione di quest’ultimo pezzo penso di concludere la serie di traduzioni dei testi presenti sul sito di Douglas Crockford. Si è trattato di pezzi interessanti che hanno coperto aspetti del linguaggio Javascript che solitamente misconosciuti. Almeno per me lo erano, e non potrò mai ringraziare abbastanza l’autore per averli scritti ed avermi concesso di pubblicarne la traduzione.

In questo post Crockford illustra la possibilità di utilizzare le chiusure per dotare gli oggetti Javascript di membri privati. Al solito non si limita a riportare un pattern di programmazione ma si sofferma sulla sua implementazione e sui meccanismi che gli stanno dietro.

Buona lettura.

Continua a leggere “Campi privati in Javascript”

Riviste: Dev – Non fraintendere Javascript

Dev Anno 15 numero 4

E’ uscita da qualche giorno DEV, di Infomedia. Chi ha qualche anno sulle spalle ne ricorderà la presenza in edicola fin dalla notte dei tempi, non penso che in Italia ci sia stata una rivista informatica più vecchia, a parte Computer Programming, sempre di Infomedia, e qualche rivista degli albori,metà anni ottanta, specializzata in cassette per l’Atari, il Commodore 64 e lo Spectrum. Ah, quanti ricordi.

Questo numero ha la copertina, e diversi articoli all’interno, dedicati a Javascript, quello di Douglas Crockford, un interessante articolo sulla progettazione di un algoritmo per la soluzione di sudoku, soluzioni per migliorare la programmazione in openoffice ed altro ancora. Quanto meno val la pena dare un’occhiata, almeno al sommario.

Ed il contenuto della rivista non è l’unico motivo per farlo.

Questo scampolo di 2009 dovrebbe essere il momento in cui Infomedia, dopo aver abbandonato la scena editoriale per qualche tempo, e dopo essere stata rifondata, cerca di recuperare anni di esperienza nel campo che rischia di andare perduta per sempre (aggiungerei — come lacrime nella pioggia — se non fosse una citazione troppo ovvia).

Continua a leggere “Riviste: Dev – Non fraintendere Javascript”

Javascript: Ereditarietà basata su delega (Eredità prototipale)

Dopo la traduzione dell’illuminante divertissement sull’ereditarietà classica in Javascript. Douglas Crockford arriva a commentare il suo stesso articolo (a distanza di qualche anno) affermando che l’ereditarietà prototipale è di gran lunga più potente ed espressiva di quella basata su classi e che più si conosce Javascript e meno si utilizza ed apprezza quest’ultima. Ragione per cui ho deciso di tradurre anche il pezzo di Crockford che tratta l’ereditarietà prototipale. Ho invertito la posizione delle date rispetto alla versione originale mettendole all’inizio del parte di testo a loro associato, piuttosto che alla fine, perché la cosa mi lasciava un pò perplesso. Si tratta solamente di gusti personali, però.

Buona Lettura

Continua a leggere “Javascript: Ereditarietà basata su delega (Eredità prototipale)”

Ereditarietà classica in Javascript

E’ arrivato il momento di tradurre inheritance di Douglas Crockford. Si tratta del testo che più mi ha affascinato tra quelli che sono presenti sul suo sito. Mostra con semplicità le potenzialità del paradigma prototipale che sta alla base di Javascript. Se polimorfismo non fosse un termine troppo carico di significati in questo ambito lo userei.

Un appunto alla nota conclusiva aggiunta al pezzo da Crockford stesso, la trovate in fondo alla traduzione nel riquadro dal bordo nero. Sono daccordo solo parzialmente con l’autore quando scrive che i suoi tentativi di introdurre i pattern propri dei paradigmi dell’ereditarietà classica possono essere stati un errore. A parte la dimostrazione che Javascript può supportarli, non dobbiamo dimenticare che la stragrande maggioranza parte dei programmatori che si accingono ad utilizzare Javascript non lo acquisiscono come primo linguaggio e quindi hanno un’eredità di conoscenze che è una bella zavorra da portarsi dietro. Avere qualcosa di familiare a cui aggrapparsi mentre si svecchiano le proprie tecniche e si comincia a pensare in a Javascript way non può essere che un aiuto.

Ed ora non mi resta che augurarvi buona lettura

Continua a leggere “Ereditarietà classica in Javascript”

Javascript: Il piccolo programmatore Javascript

Una traduzione “di servizio” che completa, nel senso che traduce uno dei link che si incontrano, il primo a voler essere pignoli, nella traduzione precedente.

Il tutto in attesa di arrivare alla traduzione di un pezzo sull’ereditarietà in javascript che è una piccola perla di rara concisione e chiarezza (ovviamente a mio parere).

Al solito i commenti sono aperti d in attesa di suggerimenti e correzioni.

Buona lettura

Continua a leggere “Javascript: Il piccolo programmatore Javascript”