Software

Tutti i principali software Web-based di mia creazione presi in analisi.
top moo.rd - A lightweight Mootools extension
moo.rd č una libreria Javascript nata per estendere le funzionalitą del framework MooTools. Rilasciata sotto licenza GNU GPL per la prima volta nel 2007, moo.rd si č enormemente evoluta ad ogni release, fino ad ottenere una totale stabilitą con la versione 1.3.2.
Le caratteristiche principali che ne hanno scolpito il successo internazionale sono l'estrema modularitą del codice (condita con la presenza del Download Builder, che permette di creare script personalizzati contenenti solo i file desiderati), la leggerezza, la facilitą d'uso e la completezza del sito Web ufficiale: documentazione e demos complete di ogni feature.
Tramite moo.rd è possibile creare UI di nuova generazione, tra cui Tabs, Lightboxes, Modal Windows, animazioni grafiche e cosi via, il tutto senza l'occorrenza per l'utilizzatore di avere competenze elevate sia del linguaggio Javascript che del framework MooTools.
Tecnologie/tecniche utilizzate: linguaggio Javascript, framework MooTools, OOP
top GX - Full-featured Javascript animations framework
GX è un framework Javascript che consente di creare animazioni grafiche di ultima generazione scrivendo meno codice di qualsiasi altro software presente in circolazione.
GX è un engine composto da Javascript puro al 100%, ovvero senza alcuna dipendenza esterna. Attualmente è volutamente integrato con il poplare framework jQuery ed è rilasciato sotto licenza MIT.
Utilizzando GX è possibile creare qualsiasi tipo di animazione possibile agendo su qualsiasi proprietà CSS (interi, colori, opacity, proprietà complesse, ...), il tutto al peso di 10kb nella versione sourcecode completa di commenti e poco meno di 2kb nella versione compressa (YUI/DE Packer + GZip).
E' inoltre possibile ampliare il parco di strumenti ufficiali di GX tramite i file GX.Transitions.js e GX.Extras.js. Il primo permette di utilizzare tutte le equazioni Easing offerte dagli algoritmi di Robert Penner (e riadattate per essere completamente compatibili con l'engine offerto da GX) direttamente con GX, al posto della solita animazione lineare. Avremo dunque a disposizione una vasta gamma di equazioni, tra cui Elastic, Bounce, Back, Quad e cosi via, all'incredibile peso di 2kb nella versione sourcecode.
Il secondo invece rappresenta un'ulteriore estensione per il Core Engine che consente di creare tutte quelle animazioni comuni (fade, slide, show, hide, gradient, move, scale, ...) sfruttando tutte le potenzialità di GX in aggiunta ad alcune particolarità davvero interssanti, tra cui la libertà di decidere la sequenza e la tipologia dei parametri, le multi funzionalità dei metodi e cosi via.
Tecnologie/tecniche utilizzate: linguaggio Javascript, framework jQuery, OOP, Easing Equations
top map It!
map It! è un software freeware che ho realizzato con l’ausilio della tecnologia AIR di Adobe unita alle Google Maps API ed ai principali linguaggi di programmazione Web. Grazie a map It! è possibile realizzare una “cartina geografica” virtuale sulla quale salvare le località preferite, direttamente tramite il proprio desktop.
Le motivazioni che mi hanno spinto alla creazione di map It! sono molteplici: prima su tutte la volontà di mettere in pratica le potenzialità offerte dalla tecnologia AIR di Adobe.
Inoltre, era un mio desiderio testare il comportamento della libreria moo.rd in collaborazione con l’ambiente desktop offerto da AIR. L’esperimento si può considerare riuscito al 100%: all’interno di map It! troveremo molti moduli di moo.rd in azione, come i Custom Box (Custom.Alert, Custom.Confirm e Custom.Prompt), ma anche Virtual Boxes, effetti Fx e componenti nativi. L’ultima versione stabile di moo.rd dunque, è perfettamente compatibile con l’ambiente AIR.
In questo articolo si trovano tutte le informazioni necessarie sul prodotto.
Tecnologie/tecniche utilizzate: Adobe AIR ©, Google Maps ©, linguaggio Javascript, framework MooTools, libreria moo.rd, OOP
top PHP Tools/ MVCRD
La libreria di Tools realizzata in PHP (5.x) è un progetto privato che ho realizzato per migliorare la parte server side nello sviluppo delle applicazioni di nuova generazione.
Gli obiettivi principali che si prefissa questo progetto sono la riduzione della quantità di codice da scrivere necessaria agli sviluppatori, un aumento delle performances considerevole ed una notevole pulizia e stabilità della qualità del codice prodotto. Il tutto condito da gerarchie OOP complete e dettagliatamente documentate.
MVCRD è invece un'astrazione del pattern MVC, con varie modifiche nella gestione delle strutture interne. A caratterizzare MVCRD oltre a PHP troviamo diversi moduli Apache, tecniche di URL Rewriting ed una gestione della struttura fisica del sito centralizzata.
Questo sito è un esempio tipico della fusione tra la libreria PHP Tools e MVCRD.
Tecnologie/tecniche utilizzate: PHP, estensioni PHP, MVC Pattern, OOP, Apache, moduli Apache
top Make Docs
Make Docs è un CMS che ho realizzato con PHP che permette di generare contenuto HTML leggendo in input un file Javascript.
Analizzando i commenti a notazione estesa (quelli racchiusi tra i caratteri /* e */) presenti nel file, Make Docs genera un output formattato in HTML. La sintassi che è possibile utilizzare nei commenti è molto semplice e flessibile, permettendo una facile lettura sia tramite il normale file Javascript che tramite la documentazione generata.
Tra le keywords di base troviamo ‘Filename’, ‘Requires’, ‘Extends’, ‘Implements’, ‘Class’, ‘Methods’, ‘Method’, ‘Function’, ‘Options’ e molte altre. Ma questo CMS è caratterizzato da una struttura molto flessibile: tramite semplici aggiunte di codice PHP è possibile infatti impostare keywords personalizzate e relativi output HTML. Un esempio di utilizzo di Make Docs è la documentazione ufficiale di moo.rd.
Make Docs è attualmente in versione privata e è non disponibile gratuitamente per il download.
Tecnologie/tecniche utilizzate: PHP, CSS
top Download Builder
Download Builder è un’applicazione realizzata sia con tecnlogie client-side (HTML e Javascript) che server-side (PHP).
Viene utilizzata per generare versioni personalizzate di moo.rd, consentendo all’utente di scegliere i componenti da includere nel file finale e le sue diverse caratteristiche.
Sulla parte client lo script permette di selezionare i componenti desiderati, includendo automaticamente tutti i file necessari ad un determinato file scelto. Sempre tramite client è possibile decidere se includere anche il framework MooTools (in questo caso è possibile scegliere tra due versioni: ‘full’ rappresenta il file MooTools completo, ‘needed’ rappresenta il file MooTools necessario al corretto funzionamento di moo.rd) o meno. Infine, una volta completata la selezione dei file desiderati e l’inclusione di MooTools, è possibile scegliere la tipologia di compressione del file finale tra ben 4 differenti: Compressed, Sourcecode, No Documentation ed Only Documentation.
Sul server, gli script PHP si occupano di comporre la corretta versione, dell’inclusione del file MooTools (a seconda che venga inserito o meno, il nome del file finale e la rispettiva header cambiano) e della compressione.
Ho realizzato due versioni di questa applicazione: Download Builder e SVN Download Builder. Il primo consente di scaricare l’ultima versione stabile di moo.rd (le major releases), mentre il secondo permette di scaricare tutti i changesets delle Development Versions, direttamente dai rispettivi trunk.
Tecnologie/tecniche utilizzate: PHP, CSS, HTML, Javascript





