Profilo

Mi presento:

mi chiamo Riccardo (credo che già l’abbiate capito) e mi sono diplomato nel luglio 2006 in inidirizzo Informatico.

Sono un Web Designer specializzato nello sviluppo di applicazioni CLIENT SIDE e SERVER SIDE. Mi piace definirmi uno sviluppatore “full-featured”, nel senso che sono affascinato dalla maggior parte delle tecnlogie Web Based, ma soprattutto dalle tecnologie di nuova generazione e dalle tecniche migliori per metterle in pratica.

Nel 2009 ho conseguito il titolo di Zend Certified Engineer for PHP 5. Oltre che dei più remoti meandri del linguaggio PHP, il prestigioso titolo asserisce le conoscenze di molte altre tecniche e tecnologie, tra cui XML, i Web Services e derivati (SOAP, REST, …), le teorie OOP, i Design Patterns, le Regular Expressions, le varie estensioni, i linguaggi Database-oriented ed ovviamente le più recenti tecniche di sicurezza.

Conoscenze tecniche

  • Linguaggio HTML
  • Linguaggio XHTML
  • CSS 2 e 3, CSS hacks
  • Standard w3c
  • Linguaggio Javascript (core e avanzato)
  • Principali framework Javascript (jQuery, MooTools, Prototype, Ext, …)
  • Linguaggio PHP (core e avanzato)
  • Linguaggio SQL
  • Linguaggio XML
  • Tecnologie Adobe AIR
  • Teorie OOP
  • Design Patterns
  • Web Services
  • Tecniche di sicurezza Web
  • Browsers’ quirks
  • Google APIs
  • Yahoo! APIs
  • General Web APIs (Delicious, Twitter, YouTube, Digg, …)
  • Apache’s quirks
  • SEO
  • Adobe Photoshop

Da questa lista sono volutamente esclusi i Web Softwares generali, quali DW, Aptana, TextMate, PHP Studio, Zend Studio e cosi via, dato che più che “conoscenze tecniche” preferirei chiamarli “strumenti conosciuti”. Per questa lista non basterebbero 10 pagine, dato che ogni giorno vengono continuamente prodotti ed aggiornati nuovi softwares che è importante sapere padroneggiare.

Un’eccezione è rappresentata da Adobe Photoshop, dove le teniche e le capacità individuali contano alla pari di ogni elemento presente nella lista delle conoscenze tecniche, primi tra tutti i linguaggi veri e propri.

Collaborazioni

Attualmente collaboro con HTML.it per la scrittura di tutorial, guide ed articoli, principalmente riguardanti il framework MooTools, per costituire una guida destinata a tutti coloro che vogliono avvicinarsi alle potenzialità offerte da questa libreria.

Tra i diversi progetti personali realizzati troviamo inoltre l’intervista a Valerio Proietti (Team Leader del framework MooTools) e l’intervista a John Resig (Team Leader del framework jQuery).

Per ulteriori informazioni sui tutorial e sulle guide da me realizzate, visita la pagina Creazioni - Tutorial.

Con HTML.it è inoltre in corso una collaborazione riguardante Edit , il blog principale che tratta tematiche globali su scripting, web design, web development, sicurezza e molto altro ancora. Ogni settimana trovate articoli e recensioni da me curate sul mondo delle tecnologie Web: le novità rilevanti, gli script più interessanti, le segnalazioni più utili.

Ecco Il primo articolo, L’overloading di metodi di John Resig.

Un’altra collaborazione in corso è quella con il blog americano Six Revisions, a cura di Jacob Gube, che tratta tematiche inerenti a tutto ciò che ruota attorno al Web Design, tra cui software, tecnologie, frameworks e molto altro ancora.

L’articolo Using moo.rd to create image galleries da me redatto per questo famosissimo blog, tratta appunto la mia libreria Javascript moo.rd e spiega come usare gli effetti Fx.Cycle, Fx.Cycles e Virtual.Box.

Ed ora un pò di considerazioni sull’arte del Web Design.

Code is poetry

Chiunque abbia formulato questa frase ha perfettamente ragione.

L’arte di scrivere codice è simile e paragonabile all’arte di fare poesia. Soprattutto in un ambiente vasto e variopinto come il Web, che presenta innumerevoli fattori da tenere in considerazione.

Le seguenti sono a mio avviso le caratteristiche fondamentali da adottare per la realizzazione di una corretta applicazione caratterizzata da un codice robusto, flessibile e mantenibile:

  • il codice di un pagina Web deve essere il più possibile conforme agli standard w3c. Questo garantisce logica, organizzazione semantica e leggerezza, senza contare il fatto che un codice validato è un codice migliore.
  • la buona mantenibilità del codice, oltre che dalla presenza di commenti è data dalla corretta organizzazione logica, semantica ed espositiva. Seguire le stesse regole semantiche nel corso di tutta l’applicazione è un punto fondamentale che garantisce la qualità del codice. Inoltre, un codice ben commentato è molto più leggibile ed interpretabile da altre persone.
  • separare il contenuto dalla presentazione. Anche se è una frase ormai diventata ridondante, è sempre e comunque esatta. Evitare gli stili e gli script inline è una buona norma che rende le pagine più leggere e mantenibili.
  • un’altra regola molto importante da seguire, quando si scrive codice Javascript di ultima generazione, è la “non intrusività”. Scrivere codice Javascript non intrusivo rende le pagine più leggere, mantenibili e le rende molto meno affollate favorendone la leggibilità.
  • il codice di una pagina Web deve essere necessariamente cross-browser (ovvero girare pressochè allo stesso modo sui maggiori browser in circolazione), sia che si tratti di Javascript, css o quant’altro. Questo è uno dei punti più difficili, date la differenza degli engine dei vari browser e le loro varie interpretazioni di DOM e stili.
  • un buon codice, soprattuttto se generato tramite un linguaggio server side, dovrebbe essere il più modulare possibile. L’effettuazione di modifiche ad una parte di una pagina Web non dovrebbe incidere sulle restanti sezioni.

Pagine Web: un lungo cammino

Quando si realizza una pagina Web, bisogna tenere in considerazione innumerevoli fattori, oltre a quelli riguardanti il codice elencati precedentemente.

Sicuramente l’aspetto grafico è molto importante al pari dei contenuti, perchè permette di colpire ed intrattenere la maggior parte dei visitatori. Loghi, bottoni, colori e sfondi sono quindi una parte fondamentale. La scelta di una scala di colori piuttosto che un’altra può condizionare e variare di molto la presentazione della pagina.

L’aspetto dell’url è anch’esso un fattore molto importante. Una pagina che presenta un url legginbile verrà indicizzata positivamente dai motori di ricerca e ricordata più facilmente dai visitatori.

Inoltre, l’integrazione con le altre pagine, la facilità di navigazione, la presenza di contenuti interessanti la presenza di meta-tag e cosi via.

Passioni

Oltre alla programmazione ed allo scripting , le mie passioni nell’ambito dell’informatica riguardano la grafica digitale (oltre che alla grafica in generale), i software e le tecnlogie di ultima generazione, i software open source ed infine i server Apache con tutti i tool che mette a disposizione (mod_rewrite in primis).

Per quanto riguarda il mio profilo e le mie considerazioni è tutto.