Programmare in Javascript 1

JavaScript è il linguaggio di programmazione più incompreso del mondo, tanto che neanche chi ci programma, spesso, ha la consapevolezza di quali siano i suoi limiti. Con limiti non intendo indicare le limitazioni, che pure sono presenti, ma i suoi confini.

Non è un linguaggio semplice da utilizzare, da un lato perché è un linguaggio potente ed espressivo, dall’altro perché i tentativi dei progettisti di renderlo amichevole hanno, a mio parere, reso più difficile per chi si occupa di programmazione gestirlo al meglio.

Breve escursus storico

In principio era il Browser. Il più vecchio che ricordi di aver mai usato è Mosaic, un programma molto semplice che non prevedeva il supporto a JavaScript ma mostrava già tutte le potenzialità del web a chi era abituato a dividersi tra gopher, ftp e fidonet.

In seguito venne Netscape e, con esso, la prima incarnazione di JavaScript. Si trattava di una rivoluzione nella rivoluzione di cui non avevo ben compreso in mezzo alla confusione che regnava sovrana negli anni ’90 del secolo scorso. Tra Applet Java e pessime implementazioni degli interpreti associati ai browser JavaScript si costruì la pessima, e non del tutto immeritata, fama che lo accompagna ancora oggi.

Continua a leggere “Programmare in Javascript 1”

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)”

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.

Mootools Plugin: Form Wizard

Questo fine settimana l’ho passato a creare un plugin per MooTools.
Non sono riuscito a trovare un componente che permettesse di trasformare una form in un wizard e quindi ne ho creato uno da solo.

Potete trovare FormWizard, l’ho chiamato così in un accesso di creatività, su MooTools Forge.

Ogni suggerimento, a partire dallo stile di scrittura a suggerimenti su come aumentarne le funzionalità sono, al solito bene accetti. Resta inteso che non è detto che poi ne faccia effettivamente uso o tesoro, potrei non condividerli 😉

Troverete allegati al codice degli esempi di utilizzo.

Aspetto commenti?

Extjs: Action

Prima di dedicarci ai pannelli penso sia il caso di scaldarci parlando di uno dei più piccoli componenti di extjs. Si tratta di action che non è altro, a mio parere, che la trasposizione in chiave extjs del pattern command.

Tralasciamo la teoria e passiamo alla pratica. Questo componente non fa altro che racchiudere in un oggetto un’azione – lo avreste immaginato? – che può essere associata a diversi tipi di controlli: un pulsante, una voce di menù o una delle icone in una toolbar o, più in generale qualunque controllo che supporti l’interfaccia di Action.
Continua a leggere “Extjs: Action”