Categoria ‘Internet’
Adobe ha annunciato da tempo alcune nuove features (Hydra per i filtri grafici evoluti e una migliore gestione del testo) che saranno presenti nella prossima release di Flash. In particolare ha destato interesse l’introduzione del 3D (l’asse Z), la capacità quindi di Flash di manipolare oggetti in un mondo tridimensionale. La stessa Adobe precisa che si tratta in realtà di un 2.5D, come spesso viene indicato, una specie di “simulazione” di un vero e proprio mondo tridimensionale. Infatti si può ruotare un simbolo Flash introno all’asse z ma, nonostante questo, il simbolo rimane piatto nello spazio tridimensionale! Un po’ quello che accade quando si distorce una bitmap in Photoshop! Tutto questo, quindi, non ha niente a che fare con progetti come Papervision3D, Away3D, Sandy e molti altri, che contengono tutta una serie di features (camera, scene, texture, etc…) assenti “nell’Astro nascente”. In sostanza Adobe non vuole assolutamente sovrapporsi a progetti 3D di terze parti ma solo fornire uno strato nativo per migliorare le prestazioni di librerie 3D già esistenti.
Comunque sia la cosa importante è che Adobe sembrerebbe orientata ad introdurre queste funzionalità tridimensionale ad un alto livello, non aiutando affatto librerie complete e complesse come Paparevision3D. Da tempo, infatti, si usano sostanzialmente due tecniche per espandere le funzionalità di Flash: API di basso livello e API di alto livello.
Le API di basso livello vengono normalmente scritte in C/C++ e fanno parte del core di Flash, compilate quindi all’interno del Player. Questo metodo se da un lato garantisce una maggiore velocità di esecuzione, dall’altro aumenta le dimesioni del Player Flash.
Le API di alto livello sono invece scritte in Actionscript e non appartengono al core nativo. In altre parole sono del tutto simili a librerie che potremmo scrivere noi, con la differenza che vengono fornite direttamente da Adobe. Come accade con il rilascio di Flash 5, la prima introduzione dell’oggetto XML fu realizzata completamente in Actionscript, creando non pochi problemi di performance!
Il vantaggio è che librerie di questo tipo vengono compilate solo quando necessarie e scaricate quindi all’interno del file SWF. Come accade oggi con l’oggetto Tween (vedi fl.motion.* o fl.transition.*) interamente scritto in Actionscript (anche per questo sono nati progetti paralleli come Tweener (caurina.transitions.Tweener) o TweenerMax.
Proprio per questo motivo la comunità Papervision non è del tutto contenta della scelta di utilizzare API di alto livello, in pratica dello stesso “livello” di Papervision3D. Questo, infatti, potrebbe non influire sulle future performance di librerie 3D.
Comunque andrà a finire, la cosa importante è che Papervision3D non è morto, anzi!
Continua...
È possibile realizzare l’effetto dell’add-on di FireFox Piclens in Flash? Penso proprio di si! Grazie a Papervision3D è possibile avvicinarsi molto allo stesso effetto. Questo che presento è un prototipo di cui non posso – per ora – rendere disponibile il codice. Tuttavia è interessante notare quanto sia verosimile l’effetto. L’immagine che vedete ripetuta 100 volte è incapsulata all’interno del filmato SWF e le sue dimensioni sono di 256×256 (PNG 24bit trasparente). In alternativa è molto semplice leggere una lista di immagini da un file XML, cosa che ho già fatto in un altro demo. In questo prototipo ho utilizzato Adobe Flash CS3, Actionscript 3.0 e la versione 2.0 di Papervision3D (GreatWhite).
Continua...
Era da tempo che volevo segnalare questo utilissimo servizio dedicato al mondo della programmazione. Snipplr (code 2.0) è un vero e proprio aggregatore o repository di frammenti di codice utili. È possibile registrarsi gratuitamente ed inviare le proprio porzioni di codice e, soprattutto, usufruire dei tantissimi snipp già presenti su sito. I linguaggi trattati sono tantissimi (Actionscript, ASP, C#, MatLab, PHP, Rails, SVN, etc…), tutti ben ordinati e catalogati. È possibile anche installare un comodo plugin per WordPress in grado di visualizzare sul nostro blog un snipp-code tramite il suo id univoco.
Continua...
Prodotto ed ideato da JuliusDesign nasce un nuovo strumento dedicato allo sviluppo. L’idea è quella di creare un motore di ricerca specializzato in determinati ambiti, per iniziare Flash. Il sistema sfrutta gli innovativi e recenti strumenti di personalizzazione messi a disposizione da Google. Visitate il Blog del progetto e iniziate dare in primi consigli.
Continua...
Come sviluppatore di applicazioni stand-alone, e soprattutto come sviluppatore web, mi è capitato spesso di affrontare il problema della localizzazione e del supporto di più “lingue”. La maggioranza delle applicazioni Desktop hanno un grosso vantaggio rispetto ad un sito web e in particolare un blog. Esistono oggi moltissime applicazioni, anche gratuite e/o open-source, che supportano tranquillamente svariate lingue, comprese quelle completamente indecifrabili, come il cinese, il cirillico, etc… Tutto ciò dimostra la presenza di strumenti software, già pronti, in grado di offrire un’ambiente specializzato nella gestione dei differenti linguaggi. Gli stessi sistemi operativi, infatti, da Windows a MacOS, arrivano sulle nostre scrivanie forniti con un buon supporto di localizzazione, che non si riduce alla mera sostituizione dei “caratteri”, ma opera anche sulla direzione della scrittura (vedi arabo o cinese – da destra a sinistra o verticale). I sistemi operativi sono in grado di fornire quel minimo di strato Kernel su cui poi si appoggiano i vari tool presenti nel mercato.
Applicazioni Desktop
La situazione degli applicativi Desktop e ben diversa dal Web, come vedremo più avanti. Le applicazioni che installiamo sul nostro computer, infatti, godono di una serie di privilegi assenti in uno scenario “aperto” come lo è Internet:
Continua...
Alcuni script, ed alcuni Web, usano alcune funzioni Javascript spacciandole per non-intrusive (Unobtrusive), anche quando non lo sono affatto. Cosa rende uno script (solitamente Javascript) non intrusivo? In linea di principio uno script Javascript è non-intrusivo quando si può far a meno di esso! Detto molto semplicemente! Nello sviluppo di un sito Web l’usabilità dello stesso non deve dipendere da nessun tipo di script. Solo in questo caso abbiamo un genuino script Unobtrusive.
Continua...
Quando Shadowbox apre la sua finestra per mostrare un contenuto (immagine, iframe, Movie, ecc…), visualizza, nell’attesa, un gif animato che viene fornito nel pacchetto. Se la pagina che sta utilizzando Shadowbox si trova allo stesso livello della cartella images, tutto funziona bene. Per default, infatti, Shadowbox cerca la gif animata sotto images/loading.gif – o images/loading-light.gif se avete scelto gli stili light (shadowbox-light.css). Altrimenti, e spesso c’è il rischio anche di non accorgesene, se ci troviamo in una diversa alberatura, viene generato un bel codice 404 – di pagina non travata; nel nostro caso di file non trovato!
Per risolvere il problema basta inizializzare Shadowbox con un parametro opportuno che indica proprio il percorso assoluto della cartella images: su undolog.com, ad esempio, ho posizionato la gif animata del loading direttamente nella cartella images presente in root (come circa un miliardo di altri siti
. Per rendere accessibile questa cartella a Shadowbox, a prescindere dal percorso, ho inserito semplicemenete:
1 2
| // init shadowbox with assetURL parameter
Shadowbox.init( {assetURL: 'http://www.undolog.com/' } ); |
Continua...
Planetozh ha realizzato uno splendito strumento dinamico in grado di elencare tutte le librerie Javascript simili a Lightbox.

Tramite un pannello (vedi immagine qui a sinistra) con una serie di "spunte" (checkbox), che indicano le varie caratteristiche delle librerie, è possibile eseguire un filtro ottenendo così la lista di una o più librerie che fanno al caso nostro. Speriamo che l’autore mantenga aggiornata questa fantastica pagina, utilissima nel districarsi tra le numerose e sempre più potenti librerie di questo tipo.
Continua...
Le applicazioni Adobe AIR hanno il vantaggio di essere relativamente limitate nelle dimensioni del file grazie all’installazione separata delle librerie runtime di Adobe AIR 1.0. Questo vantaggio, tuttavia, può trasformarsi in un vero e proprio problema quando ci si appresta a distribuire un’applicazione Adobe AIR, sia sulla rete (quindi dal browser) sia su un supporto rigido come un CD/DVD.
Continua...
Non tutti lo sanno, forse, ma è possibile sovrascrivere o aggiungere le transizioni degli effetti di scriptaculous.js in modo estremamente semplice e rapido. Le transizioni di Scriptaculous, usate negli effetti per determinare il tipo di animazione, non sono implementate come quelle di Flash (consiglio di dare un’occhiata a questo PDF del grande Rober Penner), ma l’effetto finale è – di fatto – il medesimo. Inoltre, nel pacchetto Scriptaculous, non sono presenti alcune transizioni base presenti invence in Actionscript. Se volessimo aggiungere una nuova transizione a Scriptaculous basterà inserire questo codice prima di usare un qualunque effetto:
1 2 3
| Effect.Transitions.exponential = function(pos) {
return 1-Math.pow(1-pos,2);
} |
Da questo momento in poi possiamo usare la nuova transizione exponential in tutti gli effetti di Scriptaculous. Per una serie di transizioni utili – quasi un porting da Actionscript a Scriptaculous – vedi Add some spice to Scriptaculous.
Continua...
Ultimi Commenti
Giovambattista Fazioli: @Nik: Sono contento! In bocca al lupo dunque!!
Nik: Lunedì ho l’esame di informatica su java, grazie mi sei stato utilissimo, il libro che ho era poco chiaro...
Marco: Ti ringrazio moltissimo, mi hai illuminato
ho risolto impostando [cc_objc] //OptionViewController.m -...
Giovambattista Fazioli: @Marco: Ti consiglio un approccio credo più corretto. Se hai eseguito il subclass del tab...
luigi: molto chiaro e semplice devo ammettere che anche scrivendo da un pà difficilmente uso delegati creati da...