Tag: javascript

  • Javascript Scope Quiz

    Se vi state cimentando nell’apprendimento di Javascript, vi segnalo l’interessante Javascript Scope Quiz, che vi metterà alla prova sugli scope delle variabili. Il quiz non è difficile, ma vi aiuta a capire le particolarità di Javascript per quanto riguarda gli scope, come questa domanda:

  • Validazione dei form: jQuery o HTML5?

    Quando si realizza una form in HTML, è d’obbligo implementare una validazione dei dati inseriti (sia per verificare l’effettiva correttezza dei dati inseriti, sia per una questione di sicurezza). La validazione può essere realizzata lato client (tipicamente via JavaScript) o lato server. Nella mia esperienza, la soluzione migliore è quella di utilizzare un approccio ibrido: validazione lato client (via jQuery) e validazione lato server (tramite un linguaggio dipendente dall’applicazione realizzata); questo approccio garantisce una migliore distribuzione dell’onere di validazione, sia una maggiore robustezza del controllo (cosa succede se un browser non supporta/disabilita JavaScript?).

    Attualmente, la migliore soluzione per la validazione lato client è quella di usare jQuery in combinazione con un plugin di validazione (io ho sempre utilizzato Validation). L’utilizzo del plugin è veramente semplice: basta dichiarare le regole di validazione (eventualmente usando una regexp) e chiamare il metodo validate() sulla form che vogliamo validare. Il plugin si preoccuperà di evidenziare con un bordo rosso i campi non correttamente validati, è offrirà la possibilità di inserire un messaggio custom per guidare l’utente nella corretta compilazione del campo.

    Un approccio molto più recente, e adatto ai browser che già supportano HTML5, è quello di utilizzare la validazione nativa offerta dai componenti, ad esempio: il tag input, specificando il type implementa una validazione nativa in base al tipo passato come argomento, come ad esempio l’email.

    <input type="email" name="email" size="20" maxlength="28">
    

    In particolare segnalo l’attributo pattern che permette di specificare una regexp per la validazione (proprio come nel plugin per jQuery).
    Per l’inserimento di eventuali messaggi di errore, si sfruttano le proprietà CSS3, vi rimando a questo interessante post per l’approfondimento.
    La soluzione via HTML5 è senz’altro preferibile ma apre un problema di compatibilità: cosa succede con i browser più datati? Ancora una volta, un approccio ibrido sembra essere la soluzione ideale: jQuery per la validazione sui browser più datati e HTML5 per i browser più evoluti.

  • AJAX per applicazioni web: la mia recensione

    ajax_applicazioni_web

    Nell’epoca del Web 3.0 ho letto questo libro che tratta (a grandi linee, come vi spiegherò tra poco) di AJAX, la enabling technology del Web 2.0.

    Ma cos’è AJAX? È un insieme di tecnologie (tra cui Javascript e XML) che permettono lo scambio di dati tra client e server in modo asincrono, permettendo di realizzare le cosiddette RIA (Rich Internet Applications, come Gmail).

    Il libro è molto compatto (342 pagine) ed è composto da 12 capitoli. A mio avviso il libro è fin troppo generico e discorsivo; si dilunga infatti un po’ troppo sulla teoria tralasciando la parte pratica, a volte presentando listati di codice senza nemmeno spiegarli. Inoltre, ci sono alcuni capitoli in cui si assiste ad alcune divagazioni discorsive che non portano da nessuna parte (si introducono Python, Django, Ruby, Rails e PHP ma non vengono poi utilizzati). Solo nel capitolo introduttivo viene spiegato il funzionamento di xmlHttpRequest e come utilizzarlo: dopodiché, nel libro, non verrà quasi più menzionato.

    Il libro è utile a chi vuole ottenere una panoramica teorica delle tecnologie utilizzate per lo sviluppo web, ma non di più.

  • Online JavaScript Deminifier

    Se vi trovate a dover debuggare del codice JavaScript che è minified (per ottimizzare il trasferimento viene applicato il minifying, ovvero vengono tolti tutti gli spazi inutili nel codice), dovete passare per un deminifier/unminified (o beautifier). In ogni caso, un tool che vi permetta di leggere il codice JavaScript senza “incrociare gli occhi“.

    A tal proposito ho provato JSBeautifier e ne sono rimasto soddisfatto. Segnalo anche Javascript Deminifier (per Firefox).