<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Labs Mohole &#187; Web</title>
	<atom:link href="http://labs.mohole.it/category/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.mohole.it</link>
	<description>Tutorial e risorse per i creativi</description>
	<lastBuildDate>Sat, 04 Dec 2010 14:35:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Rotazioni 3D con Flex 4!</title>
		<link>http://labs.mohole.it/2010/06/rotazioni-3d-con-flex-4/</link>
		<comments>http://labs.mohole.it/2010/06/rotazioni-3d-con-flex-4/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 08:24:12 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[actionscript 3 avanzato]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=1249</guid>
		<description><![CDATA[Ciò che contraddistingue le Rich Internet Applications, oltre che le funzionalità avanzate, sono anche le animazioni di transizione o di interazione. Chi è abituato a lavorare con Flash e ActionScript 3 sa che spesso ottenere animazioni da codice può essere non proprio immediato – a volte possono essere necessarie librerie esterne –, ma grazie al [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Ciò che contraddistingue le <a href="http://it.wikipedia.org/wiki/Rich_Internet_application" target="_blank">Rich Internet Applications</a>, oltre che le funzionalità avanzate, sono anche le animazioni di transizione o di interazione. Chi è abituato a lavorare con <a href="http://www.adobe.com/it/products/flash/" target="_blank">Flash</a> e ActionScript 3 sa che spesso ottenere animazioni da codice può essere non proprio immediato – a volte possono essere necessarie librerie esterne –, ma grazie al nuovo framework <a href="http://www.adobe.com/it/products/flex/?promoid=BPBQJ" target="_blank">Flex 4</a> integrato in <a href="http://www.adobe.com/it/products/flashbuilder/" target="_blank">Flash Builder 4</a> animazioni semplici ma accattivanti come le rotazioni 3D posso essere utilizzate con sforzi minimi!</p></blockquote>
<p>Guardate <a title="Guarda una demo!" href="#demo">una demo</a> del risultato finale.</p>
<h3>1. Creiamo un nuovo documento</h3>
<p>Creaimo un nuovo progetto che utilizzi il framework Spark (SDK Flex 4) e passiamo subito alla visualizzazione del codice nella modalità &#8220;source&#8221;.</p>
<p>All&#8217;interno del tag &lt;fx:Declarations&gt; creiamo un oggetto di tipo &#8220;Rotation 3D&#8221; al quale assegnamo subito un id per poterlo richiamare più avanti:</p>
<p>&lt;s:Rotate3D id=&#8221;ruota&#8221; /&gt;</p>
<blockquote><p>Il tag &lt;fx:Declarations&gt; è stato introdotto nel framework Flex 4 per creare una zona nel codice MXML dove dichiarare <span style="text-decoration: underline;">solo</span> gli oggetti non visuali, quindi non bottoni, liste e simili.</p></blockquote>
<h3>2. Impostare la rotazione</h3>
<p>Ora inseriamo un po&#8217; di proprietà analizzandole. Il risultato di queste sarà una rotazione sull&#8217;asse Y dell&#8217;oggetto che dura un secondo dal centro dello stesso:</p>
<p>&lt;s:Rotate3D id=&#8221;ruota&#8221; angleYFrom=&#8221;0&#8243; angleYTo=&#8221;360&#8243; duration=&#8221;1000&#8243; autoCenterTransform=&#8221;true&#8221; /&gt;</p>
<p><strong>angleYFrom</strong> e <strong>angleYto</strong> : rispettivamente angolo dell&#8217;asse Y di inizio e di fine, possiamo anche usare gli assi X e Z!</p>
<p><strong>duration</strong>: indica in millisecondi la durata dell&#8217;interpolazione, quindi 1000 = 1 secondo.</p>
<p><strong>autoCenterTransform</strong>: impostando &#8220;true&#8221; o &#8220;false&#8221; decidiamo se vogliamo la rotazione dal centro dell&#8217;oggeto oppure no.</p>
<h3>3. Click e via!</h3>
<p>Ora l&#8217;interpolazione è creata&#8230; ma inutilizzata! Trasciniamo nel nostro layout dalla modalità &#8220;design&#8221; una copia del componente Button e una copia del componente DateChooser:</p>
<div id="attachment_1263" class="wp-caption aligncenter" style="width: 552px"><img class="size-full wp-image-1263" title="Layout demo rotazioni Flex 4" src="http://labs.mohole.it/wp-content/uploads/2010/06/Schermata-2010-06-08-a-16.22.56.png" alt="Layout demo rotazioni Flex 4" width="542" height="292" /><p class="wp-caption-text">Layout demo rotazioni Flex 4</p></div>
<p>torniamo alla modalità &#8220;source&#8221;, diamo un id al DateChooser (io l&#8217;ho chiamato &#8220;vittima&#8221;) e aggiungiamo una proprietà nel tag del bottone:</p>
<p>&lt;s:Button label=&#8221;Ruotalo!&#8221; click=&#8221;ruota.play([vittima])&#8221; /&gt;</p>
<p>con la proprietà &#8220;click&#8221; su un componente Button attiviamo delle azioni che vengono lanciate quando premiamo quel bottone. In questo caso richiamo la mia rotazione 3D alla quale ho dato id &#8220;ruota&#8221; e con il metodo &#8220;play()&#8221; avvio l&#8217;animazione. Tra le parentesi tonde posso indicare i bersagli dell&#8217;animazione: siccome possono essere più di uno, li scriviamo dentro parentesi quadre (eventualmente ne mettiamo altri e li separiamo con la virgola).</p>
<h3 id="demo">Conclusione</h3>
<p>Di seguito potete vedere il risultato finale , cliccate sul bottone per vedere ruotare il calendario soprastante:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="229" height="282" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://labs.mohole.it/wp-content/uploads/2010/06/Labs.swf" /><param name="src" value="http://labs.mohole.it/wp-content/uploads/2010/06/Labs.swf" /><embed type="application/x-shockwave-flash" width="229" height="282" src="http://labs.mohole.it/wp-content/uploads/2010/06/Labs.swf" data="http://labs.mohole.it/wp-content/uploads/2010/06/Labs.swf"></embed></object></p>
<p>Avete visto che grazie al framework Spark (la 4° versione di Flex) si può facilmente creare e applicare un qualunque tipo di rotazione 3D a praticamente ogni oggetto, vi basta cambiare l&#8217;asse di rotazione e il nome del bersaglio (o bersagli) dentro &#8220;ruota.play()&#8221; e il gioco è fatto!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/06/rotazioni-3d-con-flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arriva la Creative Suite 5!</title>
		<link>http://labs.mohole.it/2010/05/arriva-la-creative-suite-5/</link>
		<comments>http://labs.mohole.it/2010/05/arriva-la-creative-suite-5/#comments</comments>
		<pubDate>Tue, 11 May 2010 11:49:18 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Fotografia]]></category>
		<category><![CDATA[Grafica 2D]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=851</guid>
		<description><![CDATA[Il 12 aprile Adobe ha finalmente presentato la nuova Creative Suite (CS5). Mentre attendiamo la fine di maggio per la commercializzazione in Italia, scopriamo quali sono le novità salienti della suite a livello generale. Che c&#8217;è di nuovo? In questa release della Creative Suite, oltre agli aggiornamenti delle funzionalità dei singoli prodotti (che non è [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Il 12 aprile Adobe ha finalmente presentato la nuova Creative Suite (CS5). Mentre attendiamo la fine di maggio per la commercializzazione in Italia, scopriamo quali sono le novità salienti della suite a livello generale.</p></blockquote>
<h3>Che c&#8217;è di nuovo?</h3>
<div id="attachment_1095" class="wp-caption alignright" style="width: 126px"><img class="size-full wp-image-1095" title="Creative Suite 5" src="http://labs.mohole.it/wp-content/uploads/2010/05/thumb_cs5.png" alt="Creative Suite 5" width="116" height="149" /><p class="wp-caption-text">CS5 Master</p></div>
<p>In questa release della <a href="http://www.adobe.com/it/products/creativesuite/" target="_blank">Creative Suite</a>, oltre agli aggiornamenti delle funzionalità dei singoli prodotti (che non è cosa da poco!) si nota una crescente &#8220;contaminazione&#8221; tra i programmi stessi, per permettere a chi ha conoscenze in un settore specifico di muovere i primi passi verso altri ambiti. Per esempio, da <a href="http://www.adobe.com/it/products/indesign/" target="_blank">InDesign CS5</a> è possibile creare eBook e pagine web, grazie al nuovo <a href="http://www.adobe.com/it/products/flashcatalyst/" target="_blank">Flash Catalyst CS5</a> (presente in tutte le versioni della suite). Grafici &#8220;statici&#8221; abituati a lavorare in <a href="http://www.adobe.com/it/products/photoshop/photoshopextended/" target="_blank">Photoshop</a> o <a href="http://www.adobe.com/it/products/illustrator/" target="_blank">Illustrator</a> possono trasformare i loro artwork in pagine interattive. Con la neo-acquisita <a href="http://www.omniture.com" target="_blank">Omniture</a> troviamo servizi di analitiche e marketing integrati nei prodotti CS5, in più una nuova serie di <a href="http://www.adobe.com/products/creativesuite/cslive/" target="_blank">servizi on line</a> permette una maggiore revisione e collaborazione con altri utenti se si lavora in gruppo sullo stesso progetto.</p>
<h3>64 bit</h3>
<p>Da questa release viene introdotto un pieno supporto nativo per i sistemi a 64 bit, questo permette un utilizzo migliore della memoria RAM e quindi un&#8217;esecuzione più performante dei programmi, specialmente Photoshop e Illustrator. Ma dove viene maggiormente utilizzata questa funzione è nel video&#8230; infatti <span style="text-decoration: underline;">Premiere CS5 e After Effects CS5 d&#8217;ora in avanti saranno compatibili solo ed esclusivamente su computer basati su un&#8217;architettetura a 64 bit</span>!</p>
<h3>Omniture, da non sottovalutare!</h3>
<p>Con l&#8217;acquisizione di <a href="http://www.omniture.com/" target="_blank">Omniture</a>, Adobe ha potuto inserire una serie di strumenti per il monitoraggio delle campagne di marketing direttamente nei software CS5. Con <a href="http://www.omniture.com/en/products/online_analytics/sitecatalyst" target="_blank">Site Catalyst</a> è possibile tenere sotto controllo le attività dei nostri siti web una volta on line e anche delle nostre campagne di marketing (banner, mini siti, ecc.), ma la novità più considerevole in questo ambito è <a href="http://businesscatalyst.com/" target="_blank">Business Catalyst</a>, che permette di creare e gestire siti aggiornabili dai clienti, e-commerce e business on line&#8230; con pochissimo codice.</p>
<h3>L&#8217;allargamento della piattaforma Flash</h3>
<div id="attachment_1100" class="wp-caption alignright" style="width: 96px"><a href="http://labs.mohole.it/wp-content/uploads/2010/05/flash_platform.png"><img class="size-full wp-image-1100" title="Logo Flash Platform" src="http://labs.mohole.it/wp-content/uploads/2010/05/flash_platform.png" alt="Logo Flash Platform" width="86" height="86" /></a><p class="wp-caption-text">Logo Flash Platform</p></div>
<p>Con la CS5, la piattaforma Flash si allarga e punta a nuove frontiere. Entrano nella suite due nuovi prodotti: <a href="http://www.adobe.com/it/products/flashcatalyst/" target="_blank">Flash Catalyst CS5</a>, che permette la creazione di interfacce interattive senza la scrittura di codice, e <a href="http://www.adobe.com/it/products/flashbuilder/" target="_blank">Flash Builder 4</a> (<a href="http://labs.mohole.it/2010/04/diamo-il-benvenuto-a-flash-builder-4/" target="_blank">di cui abbiamo parlato</a> poco tempo fa), che potenzia i progetti creati in Catalyst o Flash Professional aggiungendo logiche complesse e integrazioni di database e servizi esterni. <a href="http://www.adobe.com/it/products/air/" target="_blank">Adobe AIR</a> vede la sua seconda versione permettendo di creare applicazioni desktop che reagiscono ai dispositivi touchscreen e <a href="http://labs.mohole.it/2010/01/le-novita-di-flash-player-10-1/">Flash Player 10.1</a> estende il dominio di questa piattaforma fino agli smartphone&#8230; il tutto aspettando l&#8217;annunciato arrivo di Flash anche sulle prossime Tv.</p>
<h3>Anche CS5 si avvicina al cloud, ecco i nuovi servizi</h3>
<p>Come accennavo in apertura, ai prodotti &#8220;fisici&#8221; per la prima volta nella storia della Creative Suite si uniscono dei servizi on line, che prendono il nome di <a href="http://www.adobe.com/products/creativesuite/cslive/" target="_blank">CS Live</a>. Il tutto consiste in una mini suite di applicazioni on the cloud con lo scopo di ottimizzare i flussi di lavoro e di revisione prodotti realizzati in CS5. Per i &#8220;webbisti&#8221; il più entusiasmante di questi nuovi componenti è BrowserLab, che permette di testare le pagine web su più browser e più sistemi operativi senza alzarsi dalla propria sedia, mentre Acrobat.com mette a disposizione una serie di strumenti di editing di documenti on line. Con Adobe CS Review è possibile rivedere e commentare i progetti on line insieme al proprio team minimizzando i tempi morti generati dalle comunicazioni via e-mail.</p>
<blockquote><p>Se siete già entusiasti della nuova Creative Suite potete scoprire tutte le novità nel dettaglio e scaricare le varie versioni di prova delle applicazioni presso il sito ufficiale di <a href="http://www.adobe.it" target="_blank">Adobe</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/05/arriva-la-creative-suite-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diamo il benvenuto a Flash Builder 4</title>
		<link>http://labs.mohole.it/2010/04/diamo-il-benvenuto-a-flash-builder-4/</link>
		<comments>http://labs.mohole.it/2010/04/diamo-il-benvenuto-a-flash-builder-4/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 09:28:31 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[actionscript 3 avanzato]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=761</guid>
		<description><![CDATA[Il 2010 era già stato preannunciato come un anno ricco di novità per la piattaforma Flash: la prima si è concretizzata in questi giorni con il rilascio ufficiale da parte di Adobe di Flash Builder 4 (precedentemente noto come Flex Builder). Vediamo quali sono le maggiori novità che lo riguardano e proviamo a ragionare su come cambierà [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Il 2010 era già stato preannunciato come un anno ricco di novità per la piattaforma Flash: la prima si è concretizzata in questi giorni con il rilascio ufficiale da parte di Adobe di <a href="http://www.adobe.com/it/products/flashbuilder/" target="_blank">Flash Builder 4 </a>(precedentemente noto come Flex Builder). Vediamo quali sono le maggiori novità che lo riguardano e proviamo a ragionare su come cambierà l&#8217;approccio allo sviluppo delle Rich Internet Applications.</p></blockquote>
<h3>Flash o Flex?</h3>
<div id="attachment_775" class="wp-caption alignright" style="width: 159px"><img class="size-full wp-image-775" title="Flash Builder 4" src="http://labs.mohole.it/wp-content/uploads/2010/03/thumb_fb4.png" alt="Flash Builder 4" width="149" height="141" /><p class="wp-caption-text">Flash Builder 4</p></div>
<p>Nel 2004 Macromedia (successivamente acquisita da <a href="http://www.adobe.com/it/" target="_blank">Adobe</a>) ha deciso di rispondere alle esigenze dell&#8217;utenza evoluta di Flash rilasciando sul mercato Flex Builder, un&#8217;ambiente di sviluppo e un nuovo framework di ActionScript che si concentra sulla costruzione di applicazioni e siti web complessi in gergo chiamati Rich Internet Applications (applicazioni web ricche). A quei tempi Flex era anche il primo prodotto a introdurre la nuova versione del linguaggio ActionScript 3, che successivamente sarà inserito anche in Flash CS3. Essendo Flex diviso in due elementi: l&#8217;ambiente di sviluppo (il &#8220;builder&#8221;) e le librerie del framework (Flex SDK), nell&#8217;ultima versione è stato deciso di distinguerli maggiormente rinominando il primo &#8220;Flash Builder&#8221; e lasciando invariato il nome del secondo; questo anche perche mentre Flash Builder 4 è a pagamento, è possibile lavorare liberamente con le <a href="http://www.adobe.com/it/products/flex/flex_framework/" target="_blank">librerie Flex SDK</a>, che sono gratuite e open-source.</p>
<h3>Pensavo di poter fare tutto con ActionScript 3&#8230; cos&#8217;è questo Mxml?</h3>
<p>In Flex abbiamo a disposizione un secondo linguaggio oltre ad ActionScript 3, che si chiama Mxml, il cui scopo è descrivere e definire gli elementi nella nostra applicazione. In Flash siamo abituati a disegnare e a disporre gli oggetti visualmente con gli strumenti da disegno. Non essendo questi presenti in Flex (e Flash Builder), abbiamo bisogno di questo secondo linguaggio per organizzare il layout. Un semplice paragone si può fare pensando ad Html e Javascript: il primo descrive la struttura e il layout delle pagine web, mentre il secondo gestisce le interazioni&#8230; La stessa cosa succede anche in questo caso, dove Mxml prende il posto di Html e ActionScript quello di Javascript. In più, sia Html sia Mxml sono figli del &#8220;grande&#8221; linguaggio Xml, quindi sono molti gli aspetti che li accomunano.</p>
<h3>Un&#8217;occhiatina all&#8217;interfaccia</h3>
<p>Rispetto a Flex Builder 3, non ci sono differenze sostanziali nell&#8217;interfaccia, mentre per chi arriva da Flash CS3/4 il cambiamento è veramente netto:</p>
<div id="attachment_773" class="wp-caption aligncenter" style="width: 560px"><a href="http://labs.mohole.it/wp-content/uploads/2010/03/interfaccia.png"><img class="size-full wp-image-773" title="Interfaccia di Flash Builder 4" src="http://labs.mohole.it/wp-content/uploads/2010/03/thumb_interfaccia.png" alt="Interfaccia di Flash Builder 4" width="550" height="315" /></a><p class="wp-caption-text">Interfaccia di Flash Builder 4 (clicca per ingrandire)</p></div>
<p>Niente linea temporale, niente libreria, niente strumenti da disegno&#8230; ma in cambio tanti componenti, pannello del progetto e altri pannelli per monitorare gli errori e le connessioni verso i servizi esterni.</p>
<h3>Le nuove funzioni</h3>
<p>In questa quarta versione del software troviamo una serie di innovazioni:</p>
<ul>
<li>Nuovo framework di lavoro: Flex 4, che introduce nuovi elementi e la possibilità di descrivere elementi grafici vettoriali da codice.</li>
<li>Maggiore compabitibilità con Flash CS4/CS5: grazie al componente &#8220;Flash Component&#8221; è possibile avviare Flash Professional CS4 per realizzare elementi singoli che rimarrano all&#8217;interno del nostro progetto in Flash Builder.</li>
<li>Possibilità di &#8220;skinning&#8221; (rifacimento grafico) dei componenti.</li>
<li>Nuovi e migliorati strumenti di debug e verifica.</li>
<li>Possibilità di importare file grafici Fxg: file grafici vettoriali che possono essere generati da Illustrator.</li>
<li>Migliorata la gestione con i linguaggi lato server (Php, Asp, ColdFusion).</li>
</ul>
<h3>Ok, ma devo anche lavorare con linguaggi lato server e database!</h3>
<p>La tecnologia Flash è di tipo lato client, quindi non può dialogare direttamente con un database, ma ha bisogno di un linguaggio lato server che faccia da intermediario. In questa nuova versione di Flash Builder 4 troviamo un pannello apposito per potere gestire la connessione verso una fonte di dati esterna (Http, Xml, Php, Asp, BlazeDS, ecc.) che ci permette in pochi click di creare collegamenti verso servizi esterni per rendere le applicazioni sempre più dinamiche. In più, se il nostro server per il progetto è in Php, Flash Builder 4 ha integrato il <a href="http://framework.zend.com/" target="_blank">framework Zend</a> che consente al software di creare in automatico le pagine in codice Php per collegarsi al database!</p>
<h3>Gratuito? Sì, a livello &#8220;educational&#8221;!</h3>
<p>Come per tutti i prodotti Adobe, è possibile scaricare la versione di prova gratuita di <a href="http://www.adobe.com/it/products/flashbuilder/" target="_blank">Flash Builder 4</a>, completa di tutte le opzioni e funzionante per <span style="text-decoration: underline;">60 giorni</span>&#8230; Tuttavia, se siete studenti, docenti, sviluppatori disoccupati o comunque puntate a un&#8217;utenza non commerciale, potete richiedere <a href="http://www.adobe.com/devnet/flex/free/index.html" target="_blank">tramite un apposito modulo</a> una licenza educational gratuita che sblocca l&#8217;utilizzo di Flash Builder 4 a tempo indeterminato.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/04/diamo-il-benvenuto-a-flash-builder-4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Librerie JavaScript a confronto</title>
		<link>http://labs.mohole.it/2010/03/librerie-javascript-a-confronto/</link>
		<comments>http://labs.mohole.it/2010/03/librerie-javascript-a-confronto/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 17:04:23 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[web master avanzato]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=723</guid>
		<description><![CDATA[In un&#8217;era dominata dal web, in cui ormai l&#8217;utenza considera alcune funzioni di interazione come scontate (per esempio suggerimenti di testo, piccole animazioni, trascinamento di oggetti), sarebbe controproducente dedicare troppo tempo alla realizzazione di queste ultime&#8230; Ecco perche da un paio di anni stanno riscuotendo un grande successo le librerie per JavaScript. In questo post [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>In un&#8217;era dominata dal web, in cui ormai l&#8217;utenza considera alcune funzioni di interazione come scontate (per esempio suggerimenti di testo, piccole animazioni, trascinamento di oggetti), sarebbe controproducente dedicare troppo tempo alla realizzazione di queste ultime&#8230; Ecco perche da un paio di anni stanno riscuotendo un grande successo le librerie per JavaScript. In questo post scorpriremo i vantaggi di queste librerie e analizzeremo le 3 più diffuse.</p></blockquote>
<h3>Cos&#8217;è una libreria JavaScript?</h3>
<p>Per libreria (framework) si intendono dei file scritti in linguaggio JavaScript contenenti al loro interno molte funzioni comuni e utili già scritte, con lo scopo di ottimizzare i tempi di sviluppo di applicazioni e pagine web. I vantaggi principali di queste librerie sono:</p>
<ul>
<li>la facilità di utilizzo</li>
<li>non pesano molto (pochi kb)</li>
<li>utilizzano selettori Css</li>
<li>permettono di creare animazioni da codice</li>
<li>possono essere usate anche da chi non conosce JavaScript</li>
<li>il codice è open-source e può essere modificato</li>
<li>chiunque può costruire delle estensioni (plug-in) per includere nuove funzioni</li>
</ul>
<p>Detto questo, vediamo quali sono le 3 librerie più diffuse e le loro particolarità:</p>
<div id="attachment_738" class="wp-caption alignright" style="width: 172px"><img class="size-full wp-image-738" title="logo jQuery" src="http://labs.mohole.it/wp-content/uploads/2010/03/JQuery_logo_color_onwhite.png" alt="logo jQuery" width="162" height="44" /><p class="wp-caption-text">jQuery - write less,do more</p></div>
<h3>jQuery</h3>
<p>Attualmente la più diffusa nel web, <a href="http://jquery.com" target="_blank">jQuery</a> è la libreria che promette &#8220;write less, do more&#8221; (scrivi di meno, fai di più). Punta a un&#8217;utenza basilare, ma per la sua versatilità e potenza è utilizzata spesso da grandi aziende anche per questioni più complesse (recentemente è stata inserita all&#8217;interno della suite Visual Studio di Microsoft). A un&#8217;utenza molto ampia corrisponde il numero di plug-in esistenti per questa libreria, tra cui l&#8217;ufficiale <a href="http://jqueryui.com/" target="_blank">jQuery UI</a>, che include strumenti per realizzare interfacce utente interattive in modo semplice.</p>
<div id="attachment_731" class="wp-caption alignright" style="width: 130px"><img class="size-full wp-image-731 " title="MooTools" src="http://labs.mohole.it/wp-content/uploads/2010/03/logo-mootools.gif" alt="MooTools" width="120" height="40" /><p class="wp-caption-text">MooTools</p></div>
<h3>MooTools</h3>
<p><a href="http://mootools.net/" target="_blank">MooTools</a> invece è una libreria che viene sviluppata puntando a un&#8217;utenza di medio/avanzato livello. La sua curva di apprendimento è leggermente più ripida di quella di jQuery, ma questo non le ha impedito di guadagnarsi un consolidato secondo posto tra le librerie più diffuse. Anche per <a href="http://mootools.net/" target="_blank">MooTools</a> esiste un numero elevato di risorse e di plug-in.</p>
<div id="attachment_730" class="wp-caption alignright" style="width: 148px"><img class="size-full wp-image-730 " title="Adobe Spry" src="http://labs.mohole.it/wp-content/uploads/2010/03/Spry-Logo.png" alt="Adobe Spry" width="138" height="60" /><p class="wp-caption-text">Adobe Spry</p></div>
<h3>Spry</h3>
<p>Sviluppata da Adobe, <a href="http://labs.adobe.com/technologies/spry/home.html" target="_blank">Spry</a> in realtà non è proprio al terzo posto, in quanto a utilizzo, tra le librerie JavaScript, ma è molto più conosciuta delle altre in quanto è stata integrata nativamente in <a href="http://www.adobe.com/it/products/dreamweaver/" target="_blank">Dreamweaver</a> fin dalla versione CS3, cosa che le permette di essere inserita all&#8217;interno di pagine web con estrema facilità. Tuttavia può essere utilizzata anche separata da <a href="http://www.adobe.com/it/products/dreamweaver/" target="_blank">Dreamweaver</a>, ma nonostante rimanga di facile utilizzo, pecca nella mancanza di plug-in e risorse aggiuntive.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/03/librerie-javascript-a-confronto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centrare oggetti con i Css</title>
		<link>http://labs.mohole.it/2010/02/centrare-oggetti-con-i-css/</link>
		<comments>http://labs.mohole.it/2010/02/centrare-oggetti-con-i-css/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 15:45:45 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[web master base]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=610</guid>
		<description><![CDATA[.box{ width: 200px; background-color: #ddd; border: 1px solid #bbb; padding: 12px; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; } #oriz{ text-align: center; margin: 0 auto; } #vert{ height: 70px; line-height: 70px; } I Css sono noti per la loro semplicità e versatilità, tuttavia realizzare alcuni effetti basilari di tipografia non è poi così semplice e intuitivo&#8230; [...]]]></description>
			<content:encoded><![CDATA[<style type="text/css">.box{ width: 200px; background-color: #ddd; border: 1px solid #bbb; padding: 12px; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; } #oriz{ text-align: center; margin: 0 auto; } #vert{ height: 70px; line-height: 70px; }  </style>
<blockquote><p>I Css sono noti per la loro semplicità e versatilità, tuttavia realizzare alcuni effetti basilari di tipografia non è poi così semplice e intuitivo&#8230; ma niente panico, non è nemmeno troppo complesso! Ci soffermeremo ora sulle centrature verticali e orizzontali degli oggetti, vedremo come ottenerle e quali sono i loro vantaggi/svantaggi.</p></blockquote>
<h3>Centrare orizzontalmente il testo all&#8217;interno di un oggetto</h3>
<p>Partiamo dal caso più semplice. Se abbiamo del testo all&#8217;interno di un qualunque oggetto Html (h1, div, p&#8230; quello che volete!) possiamo sfruttare una proprietà Css che fa proprio al caso nostro, &#8220;text-align&#8221; (allineamento testo), che supporta tre valori: left (sinistra), right (destra) e center (centro). Quindi ci basta assegnare al testo questa proprietà e il gioco è fatto!</p>
<pre class="brush:css">.centraTesto{
   text-align: center;
}</pre>
<h3>Centrare verticalmente il testo all&#8217;interno di un oggetto</h3>
<p>Per effettuare invece una centratura verticale del testo, abbiamo prima bisogno di definire l&#8217;altezza (height) dell&#8217;oggetto che lo contiene. Poi specificheremo un&#8217;altezza di linea (line height) esattamente dello stesso valore.</p>
<pre class="brush:css">.boxTestoVerticale{
   height: 70px;
   line-height: 70px;
}</pre>
<p>Con questa &#8220;tecnica&#8221; possiamo centrare verticalmente sia testi sia immagini.</p>
<p id="vert" class="box">Centrato in verticale</p>
<h3>Centrare orizzontalmente un box</h3>
<p>Ecco ora la soluzione più richiesta! Come avrete notato, tutte le centrature che eseguiamo tramite i Css modificano la posizione di ciò che è contenuto dentro il nostro oggetto, non dell&#8217;oggetto stesso!<br />
In modo predefinito non esiste una proprietà che ci permette di centrare un oggetto Html in una pagina tramite i fogli di stile ma, per ottenere questo risultato, possiamo sfruttare un valore <em>magico</em> della proprietà &#8220;margin&#8221;:</p>
<pre class="brush:css">.centraBox{
   margin:0 auto;
}</pre>
<p id="oriz" class="box">Centrato in orizzontale, sia il testo sia il box</p>
<p>Assegnando due valori alla proprietà &#8220;margin&#8221;, facciamo in modo che il primo venga applicato in verticale (tanto sopra quanto sotto) e il secondo in orizzontale (sia a destra sia a sinistra). Quello che otteniamo in questo modo è che i margini orizzontali del nostro oggetto siano automatici: rimarrà così centrato nella pagina anche in caso di successivi ridimensionamenti!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/02/centrare-oggetti-con-i-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breve guida a Twitter</title>
		<link>http://labs.mohole.it/2010/02/breve-guida-a-twitter/</link>
		<comments>http://labs.mohole.it/2010/02/breve-guida-a-twitter/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 09:38:25 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=421</guid>
		<description><![CDATA[Viviamo ormai in un&#8217;era dominata dal web, e in cui il fenomeno dei social network sta acquisendo una rilevanza sempre maggiore. Ora si sta lentamente diffondendo anche in Italia il servizio che oltreoceano spopola già da un paio di anni: scopriamo insieme le caratteristiche principali di Twitter e come ha rivoluzionato il modo di comunicare [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Viviamo ormai in un&#8217;era dominata dal web, e in cui il fenomeno dei social network sta acquisendo una rilevanza sempre maggiore. Ora si sta lentamente diffondendo anche in Italia il servizio che oltreoceano spopola già da un paio di anni: scopriamo insieme le caratteristiche principali di Twitter e come ha rivoluzionato il modo di comunicare in 140 caratteri!</p></blockquote>
<h3>Cos&#8217;è Twitter?</h3>
<p><a href="http://twitter.com/" target="_blank">Twitter</a> (in inglese &#8220;cinguettare&#8221;) è un servizio di micro-blogging, ovvero uno spazio dove ognuno può liberamente scrivere i propri pensieri o opionioni, dentro un limite di 140 caratteri. Quello che scriviamo su Twitter viene visualizzato da chi ci segue (&#8220;follower&#8221;) e a nostra volta leggeremo le micro-pubblicazioni di chi stiamo seguendo (&#8220;following&#8221;). Ogni nostro intervento su Twitter viene in gergo chiamato &#8220;tweet&#8221;.</p>
<h3>I &#8220;followers&#8221; sono &#8220;amici&#8221;?</h3>
<p>No. Un&#8217;utente registrato a Twitter può decidere di seguirci senza la nostra approvazione, tuttavia noi siamo liberi di bloccarlo (quindi non permettergli di visualizzare i nostri tweet) in qualunque momento. In genere si differenzia Facebook da Twitter sostenendo che il primo viene utilizzato per mantenere contatti con chi già si conosce, il secondo per seguire persone che non necessariamente si conosce nella vita reale.</p>
<h3>Di cosa dovrei &#8220;twitterare&#8221;?</h3>
<p>Di quello che vuoi. Ovviamente più sono interessanti i tuoi tweet, più è probabile che la gente continui a seguirti. &#8220;Twitterando&#8221; di fatti o notizie utili, magari di cui siete testimoni, sicuramente guadagnerete interesse! Sappiate che gran parte delle informazioni riguardanti alcune particolari, estreme situazioni di cronaca, come il terremoto in Abruzzo e i disordini in Iran dopo le elezioni del 2009, sono giunte a noi tramite gli utenti locali di Twitter.</p>
<div id="attachment_518" class="wp-caption alignright" style="width: 135px"><img class="size-full wp-image-518  " title="Seguitemi!" src="http://labs.mohole.it/wp-content/uploads/2010/01/guidatwitter01.jpg" alt="Seguitemi!" width="125" height="118" /><p class="wp-caption-text">Seguitemi!</p></div>
<h3>Chi dovrei seguire?</h3>
<p>Il pregio di Twitter è che ci tiene aggiornati in tempo reale su tutto quello che le persone che decidiamo di seguire scrivono. Quindi, la cosa migliore è seguire persone o associazioni che ci interessano: tra gli account Twitter troverete attori (famosi o meno), associazioni ed enti (come <a href="http://twitter.com/SaveChildrenIT" target="_blank">Save The Children</a> e altri), gruppi musicali, guru della tecnologia e&#8230; ovviamente anche noi di<a href="http://twitter.com/mohole_network" target="_blank"> Mohole</a>!</p>
<h3>Facebook e Twitter sono integrati!</h3>
<p>Se siete utenti Facebook potete attivare l&#8217;<a href="http://www.facebook.com/apps/application.php?id=2231777543&amp;ref=search&amp;sid=1418116659.376077238..1" target="_blank">applicazione per Twitter</a>, che vi permette di sincronizzare i due servizi. Il vantaggio principale sta nel fatto che scrivendo una frase in un contesto, vedrete aggiornarsi in automatico anche l&#8217;altro, quindi potrete tenere aggiornati entrambi gli account con uno sforzo minimo.</p>
<h3>Ci sono programmi desktop per usare Twitter?</h3>
<p>Certo! Ce ne sono un&#8217;infinità, i maggiori al momento sono <a href="http://iconfactory.com/software/twitterrific/" target="_blank">Twitterrific</a> (anche in versione iPhone), <a href="http://www.twhirl.org/" target="_blank">Twhirl</a> e <a href="http://www.tweetdeck.com/" target="_blank">TweetDeck</a>, ma essendo Twitter un <a href="http://apiwiki.twitter.com/" target="_blank">servizio a codice libero</a> ogni sviluppatore può creare la sua applicazione! Il vantaggio di usare un programma desktop è quello di ricevere notifiche sugli aggiornamenti dei nostri contatti in tempo reale, grazie a finestrelle di pop-up sullo schermo.</p>
<div id="attachment_521" class="wp-caption aligncenter" style="width: 550px"><img class="size-full wp-image-521  " title="Le applicazioni disponibili per Twitter" src="http://labs.mohole.it/wp-content/uploads/2010/01/guidatwitter02.jpg" alt="Le applicazioni disponibili per Twitter" width="540" height="121" /><p class="wp-caption-text">Le applicazioni disponibili per Twitter</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/02/breve-guida-a-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creiamo piccoli archivi con Xml</title>
		<link>http://labs.mohole.it/2010/01/creiamo-piccoli-archivi-con-xml/</link>
		<comments>http://labs.mohole.it/2010/01/creiamo-piccoli-archivi-con-xml/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 11:50:35 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=384</guid>
		<description><![CDATA[Il linguaggio Xml è molto complesso e sicuramente più importante e ricco di quanto non si tenda a credere. La sua facilità di utilizzo e la grande flessibilità che offre l’hanno reso un linguaggio molto utilizzato per creare piccoli archivi spesso utilizzati da linguaggi di scripting (come ActionScript 3, Php e Javascript), con il fine [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Il linguaggio Xml è molto complesso e sicuramente più importante e ricco di quanto non si tenda a credere. La sua facilità di utilizzo e la grande flessibilità che offre l’hanno reso un linguaggio molto utilizzato per creare piccoli archivi spesso utilizzati da linguaggi di scripting (come ActionScript 3, Php e Javascript), con il fine di rendere dinamiche nei contenuti le pagine web. In questo tutorial scopriremo le basi di Xml creando un piccolo archivio di dischi, che in futuro riutilizzeremo per altri tutorial.</p></blockquote>
<h3>Che cos&#8217;è Xml</h3>
<p>Abbreviazione di eXtensible Markup Language (linguaggio di marcatura estensibile), Xml è un linguaggio usato per generarne altri. Utilizza tag per definire delle parole chiave ma, al contrario di linguaggi come Html, non ha una &#8220;grammatica&#8221; di tag fissa, essendo flessibile: ciò siginifica che se voglio inventare il tag &lt;pippo&gt;, in Xml posso farlo!</p>
<blockquote><p><span style="text-decoration: underline;"><strong>Nota:</strong></span> Al contrario di molte credenze comuni Html è figlio di Xml e non il contrario!</p></blockquote>
<h3>Di che software ho bisogno?</h3>
<p>Potrebbe bastare il blocco note ma, visto che non ci vogliamo così male, possiamo tranquillamente optare per un editor di codice. Tanto quelli a pagamento (come <a href="http://www.adobe.com/it/products/dreamweaver/?promoid=BPBPH" target="_blank">Dreamweaver</a>, <a href="http://www.panic.com/coda/" target="_blank">Coda</a>, ecc.) quanto quelli gratuiti  (<a href="http://www.aptana.org/studio" target="_blank">Aptana</a>, <a href="http://notepad-plus.sourceforge.net/it/site.htm" target="_blank">Notepad++</a>, <a href="http://www.activestate.com/komodo_edit/" target="_blank">Komodo Edit</a>, ecc.) supportano la scrittura in linguaggio Xml.</p>
<h3>1. Iniziamo!</h3>
<p>Creiamo un nuovo file dal nostro editor preferito: in quasi tutti i software sarà possibile selezionare fin da subito, come tipologia di file, proprio Xml. Una volta creato il nuovo file, dovreste avere di fronte a voi una pagina bianca, a eccezione di una prima riga già scritta:</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</p>
<p>questo “tag” assomiglia al Doctype di Html, nel senso che indica il tipo di linguaggio (Xml), la versione (1.0) e il tipo di codifica di caratteri (UTF-8). Se il vostro editor non ha generato in automatico la prima riga che vi ho appena illustrato, sentitevi liberi di copiarla da questa pagina e incollarla nel vostro documento, in quanto questa riga di “configurazione” del file Xml è <strong>obbligatoria</strong>!</p>
<h3>2. E vai di primo tag</h3>
<p>Dopo avere creato il nuovo file, iniziamo a strutturare il nostro archivio. Abbiamo detto che una caratteristica fondamentale di Xml è che possiamo inventarci noi i tag; quindi, se vogliamo inizializzare un archivio di cd musicali, il primo tag potremmo chiamarlo proprio “dischi”:</p>
<pre class="brush:xml">
<dischi>
...
</dischi>
</pre>
<p>ovviamente, come gran parte dei tag, se lo apriamo dobbiamo anche chiuderlo… (ecco il perché di &lt;/dischi&gt;).</p>
<h3>3. Uno per tutti</h3>
<p>Dentro il tag “dischi” inseriremo gli oggetti che conterrano le informazioni relative a ogni album: per il momento, titolo dell’album e autore. Per capire come struttureremo questi oggetti, iniziamo scrivendone uno solo:</p>
<pre class="brush:xml">

<album>
	<titolo>Dark side of the moon</titolo>
	<autore>Pink Floyd</autore>
</album>
</pre>
<p>Useremo il tag “album” come contenitore di informazioni per ogni cd, mentre i tag “titolo” e “autore” li metteremo al suo interno, in modo da fargli contenere le informazioni relative a ogni disco.</p>
<h3>4. Tutti per uno!</h3>
<p>Ora che abbiamo stabilito una struttura per ogni singolo oggetto, ripetiamola per tutti quelli che vogliamo inserire. Come esempio lo riepeterò 4 volte con oggetti diversi, ovviamente inserendo il tutto dentro il tag “dischi”:</p>
<pre class="brush:xml">

<dischi>
	<album>
		<titolo>Dark side of the moon</titolo>
		<autore>Pink Floyd</autore>
	</album>
	<album>
		<titolo>The song remains the same</titolo>
		<autore>Led Zeppelin</autore>
	</album>
	<album>
		<titolo>Yessongs</titolo>
		<autore>Yes</autore>
	</album>
	<album>
		<titolo>Made in Japana</titolo>
		<autore>Deep Purple</autore>
	</album>
</dischi>
</pre>
<h3>5. Salviamo</h3>
<p>Ora il nostro file è pronto per essere utilizzato, ricordiamoci di salvarlo! Se l’editor non lo suggerisce, a questo punto dobbiamo salvare il file con estensione .xml per poter sfruttare le potenzialità di questo formato.<br />
A cosa serve questo file? Innanzitutto è un piccolo archivio, quindi possiamo usarlo proprio per archiviare informazioni (l’elenco dei nostri cd magari!) poi, avendo una struttura logica che si ripete, sarà grandioso quando con un linguaggio di scripting avremo bisogno di leggerlo ed estrapolarne le informazioni in esso contenute… ma questo lo vedremo più avanti <img src='http://labs.mohole.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/01/creiamo-piccoli-archivi-con-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le novità di Flash Player 10.1</title>
		<link>http://labs.mohole.it/2010/01/le-novita-di-flash-player-10-1/</link>
		<comments>http://labs.mohole.it/2010/01/le-novita-di-flash-player-10-1/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 12:16:19 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[flash base]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=297</guid>
		<description><![CDATA[A breve Adobe rilascerà una nuova versione di Flash Player, il runtime che permette di visualizzare i contenuti Flash nei nostri browser. A dispetto di quello che può suggerire il numero di versione di questo aggiornamento (10.1), non si tratta affatto di un aggiornamento di tipo minore. Ma perché seguire gli sviluppi del Player? Semplicemente [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>A breve Adobe rilascerà una nuova versione di <a href="http://www.adobe.com/it/flashplatform/" target="_blank"><span style="text-decoration: none;">Flash Player</span></a>, il runtime che permette di visualizzare i contenuti Flash nei nostri browser. A dispetto di quello che può suggerire il numero di versione di questo aggiornamento (10.1), non si tratta affatto di un aggiornamento di tipo minore.</p></blockquote>
<p>Ma perché seguire gli sviluppi del Player? Semplicemente perché se il Player supporta nuove funzionalità, significa che gli sviluppatori <a href="http://www.adobe.com/it/products/flash/?promoid=BPBPL" target="_blank"><span style="text-decoration: none;">Flash</span></a> possono utilizzarle per migliorare i prorpri siti/applicazioni e, in generale, che abbiamo a disposizione nuovi strumenti per essere creativi!</p>
<p>Se volete iniziare a sperimentare le nuove caratteristiche del Player illustrate di seguito potete scaricarne la <a href="http://labs.adobe.com/downloads/flashplayer10.html" target="_blank"><span style="text-decoration: none;">versione beta</span></a> dal sito ufficiale di Adobe e leggere la <a href="http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flashplayer=10.1" target="_blank"><span style="text-decoration: none;">documentazione a riguardo</span></a>.</p>
<h3>Mobilità e nuove piattaforme</h3>
<p>Flash Player 10.1 sarà scalabile. Ciò significa che sarà in grado di visualizzare i nostri contenuti – pensati per essere visualizzati su computer fissi – anche su dispositivi mobili con minore potenza di calcolo. Quindi, se realizziamo un sito in Flash per il web &#8220;classico&#8221;, quello stesso sito sarà poi visualizzabile anche sui sistemi mobili che supportano il nuovo Player come smartphone, netbook e palmari. Tra i sistemi che attualmente rendono possibile tutto ciò ricordiamo: Android 2.0, Microsoft Windows Mobile 6.5, Palm webOS, and  Symbian S60 V5 – che coprono quindi le maggiori marche di produttori di cellulari come Nokia, Htc e Palm. Il grande escluso da questo discorso è l&#8217;amato/odiato iPhone.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="FlashVars" value="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="300" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=4839&amp;context=64&amp;embeded=true&amp;environment=production" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Supporto per MultiTouch</h3>
<p>Se pensavate che mouse e tastiera non fossero più sufficienti per creare interazioni, allora siete stati accontentati: da questo nuovo aggiornamento del Flash Player potremo sfruttare dispositivi sensibili al tocco per creare interazioni guidate dalle nostre dita! Sia Windows 7 sia Mac OS 10.6 (Snow Leopard) supportano questa funzionalità, tuttavia al momento in cui scrivo questo articolo gli unici dispositivi che sono dotati dell&#8217;hardware necessario per il multitouch sono i <a href="http://www.apple.com/it/macbookpro/" target="_blank">MacBook Pro</a> di Apple e i computer <a href="http://h41112.www4.hp.com/promo/touch/it/it/?jumpid=ex_r11264_it/it/ps/psg/touchsmart-se-pay-pu-/chev/20091130&amp;tafcjnef=fy10&amp;s_kwcid=TC|13254|hp%20touch||S|b|4136628294" target="_blank">HP TouchSmart</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="FlashVars" value="fileID=4200&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=4200&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="300" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=4200&amp;context=64&amp;embeded=true&amp;environment=production" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Per una serie di Faq sul MultiTouch in Flash Player 10.1 consultate <a href="http://theflashblog.com/?p=1678" target="_blank">questo post</a> di Lee Brimelow.</p>
<h3>Accelerometro e orientamento (solo mobile)</h3>
<p>Se realizzate siti/applicazioni pensando proprio ai dispositivi mobili come destinatari principali, potrete sfruttare i dati dell&#8217;accelerometro (il componente hardware che è in grado di rilevare quando l&#8217;oggetto viene mosso), oltre a potervi cimentare con la possibilità di riadattare i contenuti delle vostre realizzazioni Flash in base alla direzione in cui viene rotato lo schermo. Molti smartphone, come per esempio il Nokia N97, permettono di ruotare lo schermo per visualizzare le pagine web in altezza o in larghezza.</p>
<h3>Accesso diretto al microfono (solo desktop)</h3>
<p>Un&#8217;ultima curiosità: da questa nuova versione potrete accedere direttamente al microfono del computer per leggere l&#8217;audio in entrata. Cosa succederà poi dipende solo da voi&#8230; è possibile memorizzare audio, eseguire controlli sull&#8217;audio raccolto (per esempio per accordare uno strumento), rimanipolare suoni/rumori registrati e altro ancora!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="FlashVars" value="fileID=4192&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="src" value="http://tv.adobe.com/assets//swf/player.swf" /><param name="flashvars" value="fileID=4192&amp;context=64&amp;embeded=true&amp;environment=production" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="550" height="300" src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=4192&amp;context=64&amp;embeded=true&amp;environment=production" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/01/le-novita-di-flash-player-10-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pulsanti in ActionScript 3</title>
		<link>http://labs.mohole.it/2010/01/pulsanti-in-actionscript-3/</link>
		<comments>http://labs.mohole.it/2010/01/pulsanti-in-actionscript-3/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:33:53 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[actionscript 3 base]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=220</guid>
		<description><![CDATA[ActionScript 3 è un linguaggio molto più potente e versatile del suo predecessore, anche se si è perso qualcosa in semplicità di utilizzo. In parole povere: per realizzare operazioni complesse troverete questo linguaggio molto comodo, mentre per realizzare azioni più banali potreste incontrare inaspettate difficoltà. Niente panico! In pochi e semplici passaggi vedremo come dare [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>ActionScript 3 è un linguaggio molto più potente e versatile del suo  predecessore, anche se si è perso qualcosa in semplicità di  utilizzo. In parole povere: per realizzare operazioni complesse  troverete questo linguaggio molto comodo, mentre per realizzare azioni più banali potreste incontrare inaspettate difficoltà. Niente panico! In pochi e  semplici passaggi vedremo come dare interattività a qualunque pulsante  realizzato in Flash con questo linguaggio, e faremo chiarezza su alcuni  aspetti base di As3.</em></p>
<p><em><strong>Software richiesto:</strong> Flash CS3 e superiori.</em></p></blockquote>
<h3>1. Iniziamo</h3>
<p>Innanzitutto aprite un nuovo documento in Flash (ovviamente deve essere un nuovo documento di tipo ActionScript 3) e create un qualunque oggetto grafico, che trasformerete in un pulsante. Ricordatevi che la cosa più importante è dare un nome di istanza a questo pulsante, per poterci mettere mano da codice. Con grande fantasia, per questo esempio chiamerò il mio &#8220;pulsantino&#8221;.</p>
<div id="attachment_261" class="wp-caption aligncenter" style="width: 560px"><a href="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3_1.png"><img class="size-full wp-image-261" title="Un nuovo documento ActionScript 3" src="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3_1.png" alt="Un nuovo documento ActionScript 3" width="550" height="68" /></a><p class="wp-caption-text">Un nuovo documento ActionScript 3</p></div>
<blockquote><p><span style="text-decoration: underline;"><strong>Nota:</strong></span> potete convertire il vostro oggetto grafico sia in Clip Filmato (MovieClip) sia in Pulsante (Button), ricordatevi in entrambi i casi di dare un nome di istanza all&#8217;oggetto!</p></blockquote>
<h3>2. In ascolto&#8230;</h3>
<p>Deselezionate il pulsante e aprite il pannello delle Azioni (nel menu Finestra -&gt; Azioni). La prima riga di codice che scriveremo ci servirà per creare un&#8217;<em>entità</em> che resterà in attesa di un evento e richiamerà un&#8217;azione non appena questo evento accadrà.</p>
<pre class="brush:actionscript3">pulsantino.addEventListener(MouseEvent.CLICK , Cliccato);</pre>
<p>Le prime due parole significano che aggiungiamo all&#8217;oggetto &#8220;pulsantino&#8221; un oggetto di tipo Event Listener. Tra parentesi indichiamo il tipo di evento per il quale deve restare in ascolto – nel nostro caso si tratta del click del mouse – e il nome della funzione da richiamare quando questo evento avviene.</p>
<blockquote><p><span style="text-decoration: underline;"><strong>Nota:</strong></span> ricordatevi che ActionScript 3 è case-sensitive, ovvero legge le differenze tra le lettere maiuscole e minuscole. Fate quindi attenzione a come scrivete le parole-chiave, e ai nomi che date a funzioni e variabili. &#8220;Cliccato&#8221; è diverso da &#8220;cliccato&#8221;!</p></blockquote>
<p>Ora abbiamo quindi una <em>sentinella</em> che resta in ascolto del click del mouse sul nostro &#8220;pulsantino&#8221;: quando <em>sentirà</em> questo evento richiamerà la funzione &#8220;Cliccato&#8221;. Ma cosa farà questa funzione? Al momento niente, ma solo perché non l&#8217;abbiamo ancora definita! Quindi procediamo&#8230;</p>
<h3>3. Causa ed effetto</h3>
<p>Facciamo in modo che ci appaia un messaggio nella finestra di output con il comando &#8220;trace&#8221;:</p>
<pre class="brush:actionscript3">function Cliccato(event:MouseEvent){
	trace("Mi hai cliccato!");
}</pre>
<p>La parola-chiave &#8220;function&#8221; indica che stiamo scrivendo una funzione, e la parola successiva è il nome che vogliamo attribuire alla funzione in questione (è necessario chiamare questa funzione esattamente con lo stesso nome che abbiamo utilizzato in precedenza). Subito dopo, tra parentesi, indichiamo il tipo di evento che richiama la funzione: nel nostro caso è esattamente lo stesso dell&#8217;EventListener. Tra parentesi graffe indichiamo le righe di codice da eseguire quando questa funzione viene chiamata – per il nostro scopo ci basta la funzione &#8220;trace&#8221;, che stamperà una stringa di testo da noi indicata nel pannello di output.</p>
<p>Dopo aver scritto queste 4 righe di codice, salvate il file e avviatelo premendo Ctrl + Invio (per utenti Mac: Cmd + Invio). Ora, ogni volta che cliccherete sul vostro pulsante otterrete il messaggio nel pannello output di Flash.</p>
<div id="attachment_263" class="wp-caption aligncenter" style="width: 410px"><a href="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3_3.png"><img class="size-full wp-image-263" title="La finestra di Output" src="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3_3.png" alt="La finestra di Output" width="400" height="139" /></a><p class="wp-caption-text">La finestra di Output</p></div>
<h3>4. Varie possibilità</h3>
<p>A questo punto abbiamo tra le mani il &#8220;motore&#8221; per eseguire azioni al click del mouse su un pulsante. Per esempio, se vogliamo fare in modo che cliccando il nostro pulsante si sposti la Timeline verso un determinato frame, ci basta sostituire la riga del &#8220;trace&#8221; con la seguente:</p>
<pre class="brush:actionscript3">// Il numero tra parentesi può essere cambiato a vostro piacimento o necessità
gotoAndStop(3);</pre>
<p>oppure modificare il valore del testo all&#8217;interno di un campo di testo dinamico:</p>
<pre class="brush:actionscript3">// Prima create un campo di testo dinamico e dategli un nome!
// in questo caso l'ho chiamato "TestoDinamico"
TestoDinamico.text = "Hai cliccato il pulsante!";</pre>
<p><strong><span style="text-decoration: underline;">Esempio:</span></strong><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="40" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3.swf" /><param name="src" value="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3.swf" /><embed type="application/x-shockwave-flash" width="400" height="40" src="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3.swf" data="http://labs.mohole.it/wp-content/uploads/2010/01/pulsas3.swf"></embed></object></p>
<h3>5. In chiusura</h3>
<p>Gli eventi e le funzioni svolgono un ruolo fondamentale nella programmazione in ActionScript 3, in quanto è principalmente grazie a essi che possiamo realizzare le interazioni nei nostri siti o applicazioni. Con questo tutorial abbiamo fatto chiarezza sull&#8217;utilizzo pratico di questo linguaggio per <em>dare</em> <em>vita</em> ai nostri pulsanti, tuttavia&#8230; questa è solo la punta dell&#8217;iceberg!</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2010/01/pulsanti-in-actionscript-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Struttura base di una pagina HTML</title>
		<link>http://labs.mohole.it/2009/09/struttura-base-di-una-pagina-html/</link>
		<comments>http://labs.mohole.it/2009/09/struttura-base-di-una-pagina-html/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 14:26:22 +0000</pubDate>
		<dc:creator>Salvatore Laisa</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[web master base]]></category>

		<guid isPermaLink="false">http://labs.mohole.it/?p=8</guid>
		<description><![CDATA[In questo capitoletto vedremo quali elementi compongono la struttura base di un documento Html e li useremo per costruire le fondamenta della nostra prima pagina web. Software richiesto: editor di testo (non word processor) 1. I tag Un documento Html per essere elaborato correttamente dal browser deve avere una struttura “scheletro” di base fissa, l&#8217;equivalente [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>In questo capitoletto vedremo quali elementi compongono la struttura base di un documento Html e li useremo per costruire le fondamenta della nostra prima pagina web.</em></p>
<p><em><strong>Software richiesto</strong></em><em>: editor di testo (non word processor)</em></p></blockquote>
<h3>1. I tag</h3>
<p>Un documento Html per essere elaborato correttamente dal browser deve avere una struttura “scheletro” di base fissa, l&#8217;equivalente delle fondamenta per la costruzione di una casa. Con il nostro editor aperto creiamo un nuovo documento e cominciamo scrivendo il tag più importante per la nostra pagina:</p>
<pre class="brush:xml">&lt;html&gt;&lt;/html&gt;</pre>
<p>In Html i tag si differenziano dal resto del documento per il fatto che sono parole racchiuse tra i segni di maggiore e minore ( &lt; e &gt; ) e quasi tutti necessitano di un tag di chiusura, che altro non è che una ripetzione dello stesso tag preceduto da uno slash ( / ). In questo modo stiamo indicando al documento che tutto ciò che si trova tra &lt;html&gt; e &lt;/html&gt; sarà processato come linguaggio Html.</p>
<h3>2. Mente e Corpo</h3>
<p>Definito il linguaggio il passo successivo è dividere le informazioni contenute in due gruppi, quelle che saranno visibili all&#8217;utente e quelle che non saranno visibili all&#8217;utente finale, in Html raggruppiamo le informazioni non visibili all&#8217;utente nel tag &lt;head&gt;  (testa) e quelle visibili nel tag &lt;body&gt; (corpo), quindi scriviamo questi tag nel nostro documento seguendo la sintassi che abbiamo usato per il primo:</p>
<pre class="brush:xml">&lt;html&gt;
	&lt;head&gt;&lt;/head&gt;
	&lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</pre>
<blockquote><p><strong><span style="text-decoration: underline;">Nota:</span></strong> l&#8217;indentazione è una tecnica di scrittura nel quale si sfruttano spazi vuoti prima di alcune frasi per dargli una specie di ordine gerarchico.</p></blockquote>
<p>Questo schema di scrittura del codice, che sfrutta tabulazioni per indentare e allineare il testo è il più utilizzato tra gli sviluppatori in quanto permette una rapida consultazione del documento.</p>
<p>Per informazioni visibili all&#8217;utente si intende testi, titoli, immagini e oggetti di questo tipo; mentre per informazioni non visibili all&#8217;utente ci riferiamo a link per fogli di stile o script esterni, parole chiave per i motori di ricerca e informazioni sul documento.</p>
<h3>3. Il &#8220;Title&#8221; del documento</h3>
<p>All&#8217;interno di  esiste un tag per il quale il discorso del non essere visibile all&#8217;utente vale a metà. Si tratta del tag &lt;title&gt; che ci permette di dare un titolo al nostro documento, questo titolo non sarà visibile nel corpo del nostro documento, ma sarà visibile ai motori di ricerca e nella barra superiore di tutti i browser. Essendo un tag che permette sia all&#8217;utente che ai motori di ricerca di individuare la pagina, sarebbe sempre meglio evitare di pubblicare sul web pagine prive di tag &lt;title&gt; o con un contenuto non appropriato, nel caso del sito di un&#8217;attività la cosa migliore sarebbe mettere il nome del suddetto seguito da una brevissima descrizione.</p>
<p>Inseriamo un tag di titolo allo scheletro Html che abbiamo appena creato:A questo punto salviamo il file con un nome che abbia come estensione .html (per esempio: prova.html) e apriamolo all&#8217;interno di un browser per vedere i risultati, se tutto è andato bene senza problemi (e sarebbe difficile averne ora!) vi troverete di fronte ad una pagina completamente bianca con il titolo visualizzato nella parte superiore della finestra del browser.</p>
<pre class="brush:xml">&lt;html&gt;
 &lt;head&gt;
   &lt;title&gt;La mia prima pagina Html&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;&lt;/body&gt;
&lt;/html&gt;</pre>
<div id="attachment_43" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-43  " title="Il tag Title" src="http://labs.mohole.it/wp-content/uploads/2009/09/1_title.png" alt="Ecco come appare il tag Title nella nostra pagina" width="550" height="38" /><p class="wp-caption-text">Ecco come appare il tag Title nella nostra pagina</p></div>
<p>A questo punto per velocizzare la creazione delle prossime pagine che realizzeremo vi consiglio di partire sempre da questo file con lo “scheletro” Html di base.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.mohole.it/2009/09/struttura-base-di-una-pagina-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: labs.mohole.it @ 2012-02-04 15:34:28 -->
