martedì 13 luglio 2010

Raphaël: grafica vettoriale sul web

La grafica sul web diventa sempre più complessa. Molti si appoggiano a tecnologie come Flash e Silverlight per ottenere effetti grafici sofisticati o anche più semplicemente per fare grafica vettoriale sul web. Eppure è possibile fare grafica vettoriale sul web utilizzando solamente le capacità del browser. Le tecnologie da utilizzare sono VML (Vector Markup Language) su Internet Explorer fino alla versione 8 e SVG (Scalable Vector Graphics) su tutti gli altri browsers. L'esistenza di due tecnologie, equivalenti, ma diverse, complica la vita per chi deve sviluppare grafica vettoriale per tutti i browsers :(

Ma non tutto è perduto!
Dmitry Baranovskiy è arrivato in aiuto e ha creato una fantastica libreria JavaScript che fa da ponte tra le due tecnologie. Questa libreria si chiama Raphaël.
Si tratta di un adapter che con una semplice API dona all'arte del disegno vettoriale la compatibilità cross-browser, poiché questa libreria renderizzerà il nostro disegno vettoriale in VML o SVG a seconda del browser.

Ma perché utilizzare una libreria che usa SVG/VML quando invece per il disegno si fa sempre più diffusa la tecnologia <canvas> dell'HTML 5?

Il motivo sta nel fatto che tutti gli oggetti SVG/VML fanno parte del DOM della pagina web e questo significa che possono essere modificati via script, ovvero è possibile aggangiare a tali oggetti degli event handler come il click, il drag, ecc...

Infine, un altro aspetto interessante di questa libreria è che è stata sviluppata sullo stesso principio di jQuery sia per il modo di accesso all'API che per l'estendibilità tramite plug-ins. Questo rende la libreria immediatamente familiare agli sviluppatori jQuery. Le due librerie possono ovviamente convivere.

giovedì 28 gennaio 2010

Software multilingua

Dato che ho intenzione di rendere un mio software multilingua, è oramai un bel po' di tempo che inciampo nella sigla "i18n" come parola magica da prendere in considerazione per rendere il software internazionale.
Stavo cercando di capire di che cosa si trattasse: protocollo? pattern? libreria?

Nulla di tutto ciò, non ho trovato nulla. Ognuno implementa i18n sempre in modi diversi a loro modo creativi. Quindi???

Grazie a Wikipedia finalmente ho trovato! La soluzione del mio dilemma è di una banalità sconcertante! (http://it.wikipedia.org/wiki/I18n)
i18n altro non è che la parola "internazionalization" !!!! Cioè il numero 18 indica il numero di lettere omesse tra la prima lettera e l'ultima.
E quindi ho scoperto che esistono altre sigle simili:
L10n: localization;
g11n: globalization;
a11y: accessibility;
p13n: personalization;
r3h: reach.

Il motivo di quest'ultima veramente mi sfugge.
Quindi ora che lo sapete, state attenti se il vostro capo vi chiede un p13n sul software :D E ricordatevi di considerare anche l'a11y.

Credo che comincerò a scrive gli SMS con questo protocollo di comunicazione....

Etichette

ajax (1) C# (3) C++ (1) click (1) clickout (1) compilatori (2) gplex (2) gppg (2) html (1) i18n (1) internazionalization (1) javascript (2) jquery (1) lex (2) object oriented (1) plugin (1) programmazione (3) software (4) svg (1) VB (1) vector graphics (1) visual studio (2) vrml (1) web (1) Win32 (1) windows 8 (1) WinRT (1) XAML (1) yacc (2) yacclextools (1)