<?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>The Old Intense Minimalism &#187; apollo</title>
	<atom:link href="http://im.digitalhymn.com/tag/apollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://im.digitalhymn.com</link>
	<description>Looking for a new self</description>
	<lastBuildDate>Mon, 11 Apr 2011 11:53:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Tutorial ActionScript3: Flash CS3 e MXMLC (Flex)</title>
		<link>http://im.digitalhymn.com/2007/12/04/tutorial-actionscript3-flash-cs3-e-mxmlc-flex/</link>
		<comments>http://im.digitalhymn.com/2007/12/04/tutorial-actionscript3-flash-cs3-e-mxmlc-flex/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 01:43:25 +0000</pubDate>
		<dc:creator>Folletto Malefico</dc:creator>
				<category><![CDATA[Technocracy]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apollo]]></category>
		<category><![CDATA[ecmascript]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://im.digitalhymn.com/2007/12/04/tutorial-actionscript3-flash-cs3-e-mxmlc-flex/</guid>
		<description><![CDATA[E alcuni mesi che lavoro assieme a Simbul su un progetto interno a Kallideas realizzato integralmente in Flash CS3. Data la mia predilezione per ECMAScript 3.x come linguaggio non ho potuto che apprezzare il passaggio di Flash da una interfaccia a livello codice orrenda e inconsistente ad un paradigma finalmente sensato con una Virtual Machine [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://im.digitalhymn.com/wp-content/uploads/2007/12/flash-to-flex.jpg" alt="Flash to Flex" /></p>
<p>E alcuni mesi che lavoro assieme a <a href="http://simbul.bzaar.net/blog/" title="Digital Meadows">Simbul</a> su un progetto interno a <a href="http://www.kallideas.it/" title="Kallideas">Kallideas</a> realizzato integralmente in Flash CS3.<br />
Data la mia predilezione per <a href="http://en.wikipedia.org/wiki/ECMAScript" title="Wikipedia: ECMAScript">ECMAScript</a> 3.x come linguaggio non ho potuto che apprezzare il passaggio di Flash da una interfaccia a livello codice orrenda e inconsistente ad un paradigma finalmente sensato con una Virtual Machine mostruosamente più efficiente e veloce (AVM2).</p>
<p>Fra i dispiaceri che posso annoverare ci sono:</p>
<ol>
<li>L&#8217;utilizzo di ECMAScript 4.x (draft). ECMAScript 3.x utilizza il paradigma a oggetti basato su <strong>prototipi</strong>, mentre la 2.x ci aggiunge (e quasi preferisce) il paradigma a oggetti basato su <strong>classi</strong> (alla Java, C#, etc per intenderci). Se non fosse chiaro, preferisco i prototipi.</li>
<li>La scelta di obj.<strong>addEventListener</strong>(Event.EVENT, function() {}) invece di obj.onEvent <strong>+=</strong> function() {}, sintatticamente più chiaro.</li>
</ol>
<p>Non voglio però approfondire qui i miei rant su AS3, quindi proseguiamo con questo breve corso introduttivo. Tenderò a dire tante cose in modo molto sintetico, per dare un panorama generale e contemporaneamente tutti gli elementi necessari per partire. I buchi mancanti dovrete ovviamente riempirli voi&#8230; o chiedermi nel caso ulteriori spiegazioni. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Esternalizzare il Bootstrap del Codice AS3</h3>
<p>Il progetto l&#8217;ho avviato fin da subito in modo che utilizzasse l&#8217;IDE praticamente solamente per la compilazione (ed eventualmente la programmazione, se non si ha un altro editor).</p>
<p>Questo può essere fatto nel modo <strong>grezzo</strong> mettendo sul frame 1 il seguente codice:</p>
<pre>include "init.as";</pre>
<p>Oppure il modo <strong>elegante</strong> implica configurare il file FLA aprendo File -&gt; Publish Settings&#8230; -&gt; Flash -&gt; Settings&#8230; -&gt; Document Class e scrivere qui il nome della classe AS che si posizionerà a fianco del file FLA (o in uno dei path di ricerca).<br />
La classe richiamata deve ereditare da MovieClip (o credo da qualunque oggetto erediti da DisplayObject). Supponendo di aver scritto in Document Class il nome &#8220;MyApp&#8221; il codice contenuto nell&#8217;omonimo MyApp.as è:</p>
<pre>package {
    import flash.display.MovieClip;

    public class MyApp extends MovieClip {
        public function MyApp() {
            // code
        }
    }
}</pre>
<p>Dentro il costruttore della classe, come dentro il file &#8220;init.as&#8221; specificato nel metodo grezzo, scriverete il vostro codice AS3.<br />
A questo punto Flash non lo toccherete più se non per eseguire il codice o debuggare.</p>
<p>Io consiglio di tenere il file FLA nella root del vostro progetto e creare una cartella <strong>source/</strong> che conterrà tutte le vostri classi e package AS.</p>
<p>Se interessa come strutturare i package e le classi ActionScript consiglio Google e la documentazione Adobe piuttosto buona. Poi beh, se proprio volete scriverò un altro post. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Flex SDK (MXMLC) è free</h3>
<p>Aver reso Flex SDK gratuito è assieme ad AVM2 e AS3 il motivo per cui ora ritengo la &#8220;piattaforma Flash&#8221; degna di sviluppo più consistente.</p>
<p>Potete scaricare Flex SDK (<a href="http://www.adobe.com/products/flex/downloads/" title="Flex Download">2.0 stable</a> o <a href="http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html" title="Flex 3 SDK beta 2">3.0 beta 2</a>). Io utilizzo la 3, al momento senza alcun problema.</p>
<p>Alcuni vantaggi nel passare a MXMLC:</p>
<ol>
<li>E&#8217; <strong>free</strong>.</li>
<li>Eliminazione del peso di Flash CS3, che torna ad essere un ambiente visuale.</li>
<li>Possibilità di usare alcune <strong>macro di inclusione</strong> automatica [Embed].</li>
<li>Possibilità di usare <strong>MXML</strong> (&#8220;HTML per Flash&#8221;) e i suoi CSS.</li>
<li>Possibilità di eseguire script <strong>batch</strong>.</li>
<li>Possibilità di configurare <strong>sorgenti</strong>, librerie, etc in modo flessibile.</li>
<li>E&#8217; meglio indicato per chi volesse sviluppare in <a href="http://labs.adobe.com/technologies/air/" title="Adobe AIR">AIR</a>.</li>
</ol>
<p>Per chi volesse c&#8217;è anche Flex Builder, che è l&#8217;IDE di sviluppo per Flex SDK. Io tendo a fare notare solo una cosa: è Eclipse. Il risultato è che pesa più di Flash CS3. <a href="http://www.google.com/search?q=define%3Adiy" title="Do It Yourself">DIY</a>.</p>
<p>E &#8216; bene notare anche una cosa: è vero che Flex è free (opensource), ma il formato SWF è ancora chiuso e soprattutto rimane chiuso Flash Player. La virtual machine AVM2 invece è aperta (<a href="http://www.mozilla.org/projects/tamarin/" title="Mozilla Tamarin (AS3 - AVM2)">Tamarin</a>).<br />
Certo, anche Windows come piattaforma è chiusa, anche OS X. Ognuno sceglie, però è meglio chiarire questo dubbio. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Da Flash a MXMLC</h3>
<p>Se avete sviluppato il progetto come ho indicato sopra, ovvero senza praticamente niente realizzato dentro Flash CS3 non dovrete quasi riscrivere nessun codice.</p>
<p>Prima di tutto, passate al metodo <strong>elegante</strong> di bootstrap del codice.</p>
<ul>
<li>Se utilizzate classi nel <strong>namespace flash.*</strong> e non in fl.* allora il vostro codice è già pronto.</li>
<li>Se utilizzate classi nel <strong>namespace fl.*</strong> dovete aprire la cartella contenente la vostra installazione di Flash CS3 e localizzare la cartella &#8220;fl&#8221; (su OSX si trova nella sottocartella &#8220;ActionScript 3.0/Classes/fl&#8221;). Prendetela e copiatela nella vostra cartella dei sorgenti (i.e. <strong>source/</strong>).</li>
<li>Se utilizzate anche <strong>componenti fl.controls</strong> il metodo più semplice è creare un SWC da Flash CS3.<br />
Aprite quindi Flash, create un nuovo progetto AS3.<br />
Aprite il pannello components (Window -&gt; Components) e trascinate nella Library tutti i controlli che volete utilizzare (non preoccupatevi, non saranno inclusi automaticamente tutti).<br />
Aprite File -&gt; Publish Settings&#8230; e specificate di voler creare anche il file SWC.<br />
Pubblicate.<br />
Copiate il file SWC in una sottocartella del vostro progetto. Per i sorgenti consigliavo source/, qui consiglio <strong>lib/</strong>.</li>
<li>Se includete <strong>font o altri oggetti grafici</strong> da libreria dovrete includerle nuovamente con [Embed(...)] o altre tecniche. Faccio notare che i comandi [Embed()] sono ignorati da Flash: le variabili su cui agiscono risulteranno quindi vuote se compilate da Flash, piene da MXMLC.</li>
</ul>
<p>Come è abbastanza logico pensare potete vedere che all&#8217;aumentare delle risorse di Flash che avete utilizzato aumenta anche la difficoltà di transizione. Il vantaggio è però che avrete un progetto funzionante sia su Flash che su Flex.</p>
<h3>Eseguire MXMLC</h3>
<p>Una cosa molto interessante che ho scoperto solo recentemente è che MXMLC funziona anche prendendo come parametro un file AS, non soltanto file MXML.</p>
<p>Si tratta proprio dello <strong>stesso file AS creato con il metodo elegante di bootstrap</strong> del codice.</p>
<p>I <a href="http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00001500.html" title="Flex 2 MXMLC Command Line Parameters">parametri a linea di comando</a> essenziali per MXMLC sono:</p>
<ul>
<li><strong>-sp &lt;path&gt;</strong>: il path contenente i sorgenti AS. Se avete seguito il mio consiglio di sopra sarà quindi source/ (i.e. -sp ./source/).</li>
<li><strong>-library-path+=&lt;path&gt;</strong>: il path contenente le librerie SWC aggiuntive. Se avete seguito il mio consiglio sopra sarà quindi lib/ (i.e. -library-path ./lib/). Fate attenzione al &#8220;+=&#8221;.</li>
<li><strong>-default-frame-rate &lt;int&gt;</strong>: il framerate del file SWF generato. Non avete più un file FLA, quindi va specificato (i.e. -default-frame-rate 25).</li>
<li><strong>-default-size &lt;int&gt; &lt;int&gt;</strong>: le dimensioni di default del filmato SWF (i.e. -default-size 800 600).</li>
<li><strong>-default-background-color &lt;hex&gt;</strong>: il colore di sfondo del filmato SWF (i.e. -default-bacckground-color 0x0066cd).</li>
<li><strong>-compiler.warn-no-type-decl=false</strong>: questo lo utilizzo io perché ritengo importante che in AS3 la tipizzazione sia opzionale e la reputo uno dei più grossi vantaggi di AS3.</li>
<li><strong>-allow-source-path-overlap=true</strong>: questo comando evita un warning in MXMLC dovuto al fatto che avete la cartella source/ come sottodirectory del file che state compilando.</li>
</ul>
<p>Sono tutt&#8217;ora in fase di osservazione e transizione, l&#8217;applicazione di cui parlavo all&#8217;inizio ad esempio è tutt&#8217;ora su Flash e vi sono alcune cose che devo ancora chiarirmi (ad esempio l&#8217;embed). Aggiornerò questo post. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>A questo punto dovreste avere un progetto compilabile contemporaneamente su Flash e su Flex/MXMLC. Spero che non vi siate spaventati troppo. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://im.digitalhymn.com/2007/12/04/tutorial-actionscript3-flash-cs3-e-mxmlc-flex/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Da Flash CS3 ad Apollo in una Extension</title>
		<link>http://im.digitalhymn.com/2007/06/06/da-flash-cs3-ad-apollo-in-una-extension/</link>
		<comments>http://im.digitalhymn.com/2007/06/06/da-flash-cs3-ad-apollo-in-una-extension/#comments</comments>
		<pubDate>Wed, 06 Jun 2007 14:26:00 +0000</pubDate>
		<dc:creator>Folletto Malefico</dc:creator>
				<category><![CDATA[Technocracy]]></category>
		<category><![CDATA[apollo]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://im.digitalhymn.com/2007/06/06/da-flash-cs3-ad-apollo-in-una-extension/</guid>
		<description><![CDATA[Ho scoperto ieri un tool interessante per realizzare applicazioni Apollo usando Flash CS3. Questa Extension di FlashGuru consente infatti di generare le applicazioni direttamente dalla GUI di Flash, in modo molto semplice ed intuitivo. Suppongo non abbia nativamente tutta la ricchezza che una applicazione Apollo può avere (visto che crea solo un wrapper intorno all&#8217;SWF) [...]]]></description>
			<content:encoded><![CDATA[<p>Ho scoperto ieri un tool interessante per <strong>realizzare applicazioni Apollo usando Flash CS3</strong>. <a href="http://www.flashguru.co.uk/create-apollo-apps-in-flash-cs3/">Questa Extension di FlashGuru</a> consente infatti di generare le applicazioni direttamente dalla GUI di Flash, in modo molto semplice ed intuitivo.</p>
<p>Suppongo non abbia nativamente tutta la ricchezza che una applicazione Apollo può avere (visto che crea solo un wrapper intorno all&#8217;SWF) però è un ottimo passo soprattutto per la semplicità. <em>L&#8217;avvio deve essere semplice, c&#8217;è sempre tempo per approfondire</em>. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://im.digitalhymn.com/2007/06/06/da-flash-cs3-ad-apollo-in-una-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apollo Alpha è out!</title>
		<link>http://im.digitalhymn.com/2007/03/19/apollo-alpha-e-out/</link>
		<comments>http://im.digitalhymn.com/2007/03/19/apollo-alpha-e-out/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 10:20:10 +0000</pubDate>
		<dc:creator>Folletto Malefico</dc:creator>
				<category><![CDATA[Snips]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apollo]]></category>
		<category><![CDATA[sviluppo]]></category>

		<guid isPermaLink="false">http://im.digitalhymn.com/2007/03/19/apollo-alpha-e-out/</guid>
		<description><![CDATA[Adobe ha rilasciato questa notte la Alpha di Apollo sui Labs. Non aggiungo altro.]]></description>
			<content:encoded><![CDATA[<p>Adobe ha rilasciato questa notte la <a href="http://labs.adobe.com/technologies/apollo/">Alpha di Apollo sui Labs</a>. Non aggiungo altro. <img src='http://im.digitalhymn.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://im.digitalhymn.com/2007/03/19/apollo-alpha-e-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe parla di Apollo</title>
		<link>http://im.digitalhymn.com/2006/05/26/adobe-parla-di-apollo/</link>
		<comments>http://im.digitalhymn.com/2006/05/26/adobe-parla-di-apollo/#comments</comments>
		<pubDate>Fri, 26 May 2006 14:19:17 +0000</pubDate>
		<dc:creator>Folletto Malefico</dc:creator>
				<category><![CDATA[Technocracy]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[apollo]]></category>
		<category><![CDATA[informatica]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ruby-on-rails]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://im.digitalhymn.com/2006/05/26/adobe-parla-di-apollo/</guid>
		<description><![CDATA[Avete in mente quell&#8217;articolo che ho scritto a riguardo di una ipotetica piattaforma desktop che fosse un contenitore per tecnologie web in modo da programmare applicazioni desktop come fossero pagine web? No? Neppure io, in effetti è una bozza mentale che non ho mai completato. Ecco, quando si dice che l&#8217;idea era nell&#8217;aria, AppleInsider segnala [...]]]></description>
			<content:encoded><![CDATA[<p>Avete in mente quell&#8217;articolo che ho scritto a riguardo di una ipotetica piattaforma desktop che fosse un contenitore per tecnologie web in modo da programmare applicazioni desktop come fossero pagine web? No? Neppure io, in effetti è una bozza mentale che non ho mai completato. Ecco, quando si dice che l&#8217;idea era nell&#8217;aria, <a href="http://www.appleinsider.com/article.php?id=1772">AppleInsider segnala che Adobe sta lavorando ad Apollo</a> che pare essere una sorta di meta-browser, ovvero di una sorta di contenitore nel quale sarà possibile costruire applicazioni desktop con Flash, PDF, XHTML e Ajax.</p>
<p>Io pensavo più a <strong>Firefox</strong> (per la precisione <a title="XULRunner platform" href="http://developer.mozilla.org/en/docs/XULRunner">XULRunner</a>) + <a title="Ruby on Rails" href="http://www.rubyonrails.org/">Ruby on Rails</a> (possibile) in modo da avere un contenitore standalone di Firefox, Ruby on Rails e SQLite. Ma d&#8217;altronde avere solo le idee senza i soldi e le persone per realizzarle significa solo che ci arriverà prima o poi qualcun altro.</p>
<p>Peraltro, il <strong>concept</strong> di un prodotto simile, almeno su Apple Mac OSX, già esisteva. Ed era un prototipo parecchio instabile di <a title="Instiki" href="http://instiki.org">Instiki</a> (Wiki su RoR) realizzato da <a title="2sheds 4u blog" href="http://www.2sheds.ru/blog/">Oleg Kourapov</a>. Un singolo file .app (ovvero, un programma OSX) che conteneva Instiki, RoR, e credo un database di qualche tipo.</p>
<p>Vantaggi? Ok, vantaggi. In due righe: sviluppare un programma desktop standalone con le stesse skill necessarie per un applicativo web, capace di garantire una forte coesione con un servizio online e una &#8220;assenza&#8221; di differenze fra l&#8217;interfaccia web e quella desktop. In aggiunta, <strong>caching</strong> offline dei dati (non tutti hanno 24/7 una connessione internet).</p>
<p>L&#8217;unico, enorme dubbio che ho su Apollo è la pesantezza, vi raffiguro il mio dubbio con una domanda: in quanto tempo si apre a voi Adobe Acrobat Reader ultima versione su PC?</p>
]]></content:encoded>
			<wfw:commentRss>http://im.digitalhymn.com/2006/05/26/adobe-parla-di-apollo/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

