Articoli con Tag ‘Sviluppo’
Ho “riesumato” questo mio articolo scritto un po’ di anni fa. L’ho leggermente rivisto, aggiornando qualcosina qua e là, tuttavia credo sia ancora attuale ed interessante.
INTRODUZIONE
Che cos’è un linguaggio di sviluppo? Un elaboratore elettronico, alias PC (Personal Computer), ha un suo linguaggio personale. Questo linguaggio viene chiamato codice macchina, per intendere che ogni macchina, quindi ogni elaboratore (PC Compatibili, Apple, Unix, ecc…), ne ha uno esclusivo e proprietario. I programmi che vediamo “girare” sul nostro PC vengono principalmente eseguiti da quel misterioso oggetto chiamato microprocessore. Questo rappresenta il cuore, l’unità intelligente, di ogni elaboratore elettronico. In realtà una applicazione non viene eseguita solo dal microprocessore ma si appoggia, per così dire, a quello che viene chiamato sistema operativo: uno strato software fornito dal produttore della macchina (si veda, ad esempio, i Macintosh della Apple).
Continua...
Chissà perchè immagino Adobe con una lista di bugs in continuo aumento!?. Il baco che ho trovato, nella versione CS3 Professional in italiano, è alquanto fastidioso e pericoloso. Occhio al seguente codice:
1 2 3
| private function getRandRange (min:uint,max:uint):uint{
return( uint(Math.floor(Math.random() * (max - min +1)) + min) );
} |
Dopo la formattazione automatica:
1 2 3
| private function getRandRange (min:uint,max:uint):uint {
return uint(Math.floor(Math.random() * max - min + 1) + min);
} |
Ha tolto le parentesi nel calcolo max-min+1!! Che, ovviamente, non restituisce più il valore corretto!! La parentesi, infatti, è vitale in quanto permette di moltiplicare Math.random() per l’intero risultato dell’espressione (max-min+1). Nel secondo caso, dopo che il codice è stato “sformattato”, Math.random() viene moltiplicato “solo” per max e poi, al risultato di questa moltiplicazione, viene sottratto (min+1)!! L’ho spiegato solo per esigenze di completezza… ma credo che era chiaro a tutti…
Evidentemente in casa Adobe pensano davvero che la matematica sia un opinione!?
Questo è un baco pericoloso su codici corposi… se la formattazione “sconvolge” il codice, diventa un serio problema andare a rimettere tutto a posto!! Spero che Adobe fornisca al più presto una patch!!! Quindi ATTENZIONE!! Fatemi sapere se lo fa anche a voi, alla vostra versione…
Continua...

È stata rilasciata la beta 0.6 del componente UMAP per Flash CS3 (Actionscript 3.0) – nel pacchetto è presente anche la versione per Flex. Tra le novità notiamo l’adozione di OpenStreetMap come provider predefinito. Inoltre è stato aggiunto un avanzato gestore dei Marker e una serie di ottimizzazioni varie.
Continua...
Aggiornamento: Blogbabel ha chiuso – tutti i servizi, widget e plugin non sono più attivi
Quando si deve “verificare” una nuova tecnologia, la cosa migliore da fare è trovare un’applicazione da scrivere e darsi da fare per realizzarla. In questo modo si imparano moltissime cose in brevissimo tempo. Bisogna avere un obiettivo, insomma! Premetto che io non ho niente a che fare con Blogbabel Italia. Qualcuno penserà che lavoro per loro…
Assolutamente no!! Il motivo per cui ho scelto di realizzare questa applicazione è dovuto al fatto che avevo il codice in Flash (Actionscript 3.0 nell’ultima release) e volevo vedere cosa accadeva ri-scrivendo l’applicazione in AIR/HTML. E poi, ormai, mi sono affezionato a questo “tormentone” del ranking di Blogbabel
Per realizzare questa “prima” applicazione AIR, dopo numeose prove, ho usato esclusivamente Dreamweaver. Blogbabel Rank è scritto totalemte in AIR/HTML. Per installarlo scaricate le runtime Adobe AIR e cliccate qui.
Continua...
"C’era una volta" un tempo in cui la parola Personal Computer non aveva significato. Era il tempo delle console, piccoli marchingegni che si collegavano alla TV, i precursori delle Playstation di oggi. E nelle riviste se ne vedevano davvero di tutti i colori: Intellivision, Atari, Philips, grandi macchine – per l’epoca – che garantivano divertimento unito a stupore. Ed ecco le prime riviste, come l’annuario di VideoGiochi (nella foto) del 1984. Le pubblicità, accattivanti per l’epoca, mostravano una tecnologia mai vista prima. C’era la Colecovision, con il suo Video Game System, «una console domestica per videogames su cartucce standard Colecovision», all’eccezionale prezzo di 485.000 Lire.
Continua...
Grandi novità per gli sviluppatori AIR. È stata rilasciata finalmente la versione 1.0! Fine della beta quindi! Nuove SDK (vitali per la compilazione in ambienti come Aptana Studio, Eclipse, etc…) e aggiornamento delle estensioni per Dreamweawer e Flash CS3 Professional in italiano! Fino a ieri, infatti, non era possibile sviluppare un’applicazione AIR con Flash CS3 Professione in italiano. Ora il nuovo menu per la creazione di RIA AIR è disponibile e funzionante! Potete trovare tutte gli aggiornamenti (fix della sicurezza ed estensioni) direttamente sul sito.
Altra novità è il lancio ufficiale di Adobe Open Source, il nuovo sito che terrà traccia di tutte le novità nell’ambito dell’open source Adobe e non solo. Diventa questo, quindi, il punto di riferimento degli sviluppatori che potranno travare interessanti contributi con demo, codici sorgente e molto altro, come il supporto per i progetti open Tamarin e BlazeDS.
Prossimamente vedremo come sviluppare una semplice applicazione AIR con Flash e Dreamweaver!
Continua...

Mapstraction è una libreria Javascript che si pone come layer intermedio per utilizzare le Mappe dei più noti sistemi oggi disponibili. L’idea è quella di fornire un wrapper, un’interfaccia, in grado di unificare il codice a prescindere, quindi, dal tipo di motore di rendering mappe che si desidera utilizzare.
Sul sito sono disponibili demo e documentazione. La libreria è scaricabile in modo gratuito. In questa release vengono supportati i 9 motori più noti: OpenStreetMap, Yahoo, Google, Microsoft, Map24, MultiMap, MapQuest, FreeEarth e OpenLayers.
Supporta la creazione di Point, Line e Polygon. È possibile inserire proprie immmagini in sovraimpressione. Interessante il supporto per Geocoding degli indirizzi stradali e le direzioni di marca! Utile la compatibilità con i feed GeoRSS e KML.
Dagli esempi del codice si capisce subito quanto sia utile uno strumento di questo tipo. Ogni “interfaccia” (Google, Microsoft, Yahoo, etc…) ha infatti una sua serie di API. Tramite Mapstraction, invece, possiamo scrivere un unico blocco di codice e lasciare all’utente finale la scelta del tipo di provider da usare. Ad esempio, quando si inizializza la libreria, la riga di codice seguente:
1 2
| // initialise the map with your choice of API
var mapstraction = new Mapstraction('mapstraction','google'); |
Determina il motore Google! Viene da se che, sostituiendo la stringa ‘google’, cambiamo immediatamente motore di rendering delle mappe!
1 2
| // initialise the map with your choice of API
var mapstraction = new Mapstraction('mapstraction','microsoft'); |
Nonostante la libreria non sia davvero completa, permette di integrare in un unico framework tutte le features “sparse” delle singole librerie. Il motore di rendering Microsoft, ad esempio, permette la visualizzazione “a volo d’uccello”. OpenStreetMap e Google hanno un’ottima gestione delle mappe stradali, comprese quelle italiane. Insomma, per chi deve affrontare lo sviluppo di un’applicazione con l’uso di Mappe e non riesce – proprio - a decidere quale tecnologia utilizzare per lo sviluppo, Mapstraction permette – appunto – di astrarsi, di risolvere il dilemma introducendo, di fatto, un terzo attore e, in tale modo, fornirci la possibilità di cambiare motore di rendering in qualsiasi momento. Quindi bella idea da seguire e da usare!
Continua...
Appena rilasciata ecco l’ennesima libreria Unobtrusive Javascript per gallerie di immagini e non solo. Lightview, nella release 2.0.0_rc1, aggiunge anch’essa le funzioni per “aprire” delle Window con contenuti che vanno oltre la semplice immagine: filmati Flash, QuickTime, Form e IFRAME! Rispetto alla precedente versione (la 1.1.0 – che gestisce solo immagini), quindi, questa release candidate si arricchisce delle funzionalità presenti anche in altre librerie. Gli strumenti richiesti da Lighview per funzionare sono gli arcinoti Prototype 1.6.0.2 e Scriptaculous 1.8.1. Gliattributi usati per gestire la libreria sono class e rel.
Un’aspetto interessante di questa libreria è l’estrema cura della grafica con cui si presenta.
Voto: 9 – Home page di Lightview
Continua...
Ho pensato a quanti “bozzetti” e Case Study ho fatto per i clienti, così ho deciso di proporli, con una categoria propria (Case Study), invece di lasciarli “marcire” nel mio HD. Il cliente, infatti, sceglie una delle n proposte, spesso quella che non ti aspetti e le altre, alcune che ritenevi valide, rimangono sconosciute zippate nell’HD! Le proposte grafiche per un sito Web, ad esempio, o semplici studi su loghi o effetti.
PERSONALI: CASE STUDY E-LEMENTI.COM
Alcuni studi, realizzati da me e da =stid=, sul sito e-lementi.com
Per la galleria ho utilizzato Shadowbox.js: usa il tasto ESC per chiudere l’anteprima e i tasti cursore per andare avanti e indietro.
Continua...
Qualcuno potrebbe dire - e non a torto – basta! Di librerie Javascript (Unobtrusive – non intrusive, o parzialmente) per gestire immagini e gallerie ce ne sono davvero tante. Comunque sia ecco la lista, con pregi e difetti, delle migliori che ho provato.
SLIMBOX 1.41
Estremamente minimale, 7K (alla versione 1.41), richiede mootools per funzionare. Come indicato sulla Home page è un vero e proprio clone grafico di Lightbox, che vedremo più sotto. Sinceramente, a parte l’estrema compattezza della libreria, non possiede caratteristiche peculiari. Sullo stesso sito, comunque, è possibile trovare anche uno script per generare riflessioni runtime… al limite può essere utile questo
Voto: –6 – Home Page Slimbox, Home Page Reflection.js for MooTools
LIGHTBOX2
Una delle più note e semplici. Gestisce in questa release sono immagini (quindi non funziona con QuickTime, Flash o altro). Per il suo funzionamento richiede Prototype e Scriptaculous. Usa l’attributo rel per identificare i link delle immagini da processare:
1
| <a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1 </a> |
Come le altre librerie che vedremo, supporta la modalità slideshow, inserendo tra parentesi quadre un qualsiasi identificativo in una serie di link/image:
1 2 3
| <a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1 </a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]">image #2 </a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]">image #3 </a> |
Voto: 6 – Home Page Lightbox2
LIGHTWINDOW 2.0
Anche questa è abbastanza diffusa! Dopo tutto come capire qual’è la più usata?
. Comunque sia è estremamente completa e versatile. Sul sito campeggia la richiesta di donazioni per l’acquisto di un Mac… un tantino invasiva e pressante… Comunque sia, come la precedente, per il suo funzionamento, richiede la presenza di Prototype e Scriptaculous. A differenza della precedente, tuttavia, questa permette di visualizzare moltisiimi tipi di file: dalle immagini, filmati QuickTime, filmati Flash, pagine HTML esterne e PDF. Di contro, utilizza vari attributi, alcuni facoltativi (author,caption e title) altri obbligatori (class e params -per impostare il comportamento della libreria). Ad esempio, per visualizzare una gallery o slideshow usa l’attributo rel:
1 2 3
| <a href="gallery/0-sushi.jpg" class="lightwindow" rel="[Sushi]" title="Left Behind" caption="Look's super tasty!" author="Unknown">image #1 </a>
<a href="gallery/1-sushi.jpg" class="lightwindow" rel="[Sushi]" title="Beware of warewolves..." caption="I shouldn't be doing this when I am hungry" author="Unknown">image #2 </a>
<a href="gallery/2-sushi.jpg" class="lightwindow" rel="[Sushi]" title="That was good!" caption="Take that sushi!" author="Unknown">image #3 </a> |
Voto: 8 – Home Page LightWindow 2.0
SHADOWBOX 1.0B
Nonostante sia alla versione 1.0 beta, questa è forse la libreria più completa, sia dal punto di vista funzionale sia per le librerie supportate. Per il suo funzionamento, infatti, è possibile scegliere tra una serie di framework, grazie a dei file “adapter” appositamente realizzati e fornite dall’autore:
L’effetto visivo (configurabile tramite skin/css), poi, a differenza delle altre, è sicuramente più accattivante. Gli attributi usati sono solo il rel dove, al sue interno, trovano spazio tutti gli altri parametri di configurazione. Ad esempio, per realizzare una gallery, basta usare:
1 2
| <a href="beach.jpg" rel="shadowbox[Vacation]">The Beach </a>
<a href="pier.jpg" rel="shadowbox[Vacation]">The Pier </a> |
Se si desidera impostare qualche opzioni (vedi sito per la lista completa) basta usare la seguente sintassi:
1
| <a href="myimage.jpg" rel="shadowbox;options={overlayOpacity: 0.5, resize: false}">My Image </a> |
Su Internet se ne possono trovare anche altre, come ad esempio Highslide JS. Anzi, se volete segnalarmi qualche altra libreria… Comunque sia, personalmente, preferisco Shadowbox per semplicità, scalabilità e cross-framework.
Voto: 9 – Home Page Shadowbox 1.0B
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...