 
 
 <?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>upCreative &#187; scripts loaders</title>
	<atom:link href="https://www.upcreative.net/tag/scripts-loaders/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.upcreative.net</link>
	<description>Web Design, grafica,  web application e content web marketing</description>
	<lastBuildDate>Wed, 10 Apr 2019 12:53:28 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Come creare un app: l&#8217;importanza di scrivere javascript modulare</title>
		<link>https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/</link>
		<comments>https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/#comments</comments>
		<pubDate>Fri, 23 May 2014 11:10:57 +0000</pubDate>
		<dc:creator><![CDATA[upcreative]]></dc:creator>
				<category><![CDATA[Creare applicazioni javascript]]></category>
		<category><![CDATA[Risorse]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[AMD]]></category>
		<category><![CDATA[creare un app]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[javascript modulare]]></category>
		<category><![CDATA[scripts loaders]]></category>

		<guid isPermaLink="false">http://www.upcreative.net/?p=3985</guid>
		<description><![CDATA[<p>Come creare un app: adottare una buona architettura per qualsiasi web app, sia essa destinata a dispositivi mobile che desktop, è fondamentale per poter gestire facilmente tutto quello che concerne l'organizzazione dei file, evitando di perdersi in meandri infiniti di codice e callback annidate. In questo articolo rifletto sull'importanza di scrivere javascript modulare. </p>
<p>The post <a rel="nofollow" href="https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/">Come creare un app: l&#8217;importanza di scrivere javascript modulare</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="l-submain"><div class="l-submain-h g-html i-cf"><div class="g-cols"><div class="full-width">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			Più volte ho accennato all&#8217;importanza della <b>scalabilità e mantenibilità per un applicazione mobile sviluppata in HTML5</b>, che permette allo sviluppatore (o agli sviluppatori, se si tratta di un team) di estendere o ridurre le dimensioni del progetto più facilmente, e di aggiornare i vari componenti anche singolarmente, avendo minime ripercussioni o ripercussioni inesistenti sugli altri componenti dell&#8217;applicazione.</p>
<p>Grazie ad un progetto scalabile è possibile evitare quello che personalmente ho rinominato l&#8217; &#8220;<b>effetto Shangai</b>&#8221;  (pensa ad ogni parte di un&#8217;applicazione come un bastoncino, ogni volta che si modifica la posizione di un bastoncino è possibile coinvolgere, se si è fortunati, almeno 3 bastoncini,  che nel nostro caso rappresentano altri componenti dell’applicazione, come <i>views, models, collections</i>, <i>ecc</i>.).</p>
<p><i>Per avere vedere un esempio funzionante di una HTML5 mobile app basata su views, model e collection, ti consiglio di leggere questo articolo: </i><i><a href="http://www.upcreative.net/smplice-html5-mobile-app-bootstrap-ratchet-backbone-js/">Semplice HTML5 Mobile App con Bootstrap Ratchet e Backbone.js</a></i></p>
<p><img class="aligncenter wp-image-3989" src="http://www.upcreative.net/wp-content/uploads/2014/05/come-creare-un-app-effetto-shangai.jpg" alt="come creare un app - effetto shangai" width="725" height="544" /></p>
<p style="text-align: center;"><i>Il gioco da tavolo dello Shangai. Fonte: </i><a href="https://www.flickr.com/photos/arnauselga/185449022/"><i>Flickr</i></a><i>  </i></p>
<hr />
<p><em>Come creare #HTML5 #mobileapp: il #javascript modulare</em><br /><a href='https://twitter.com/share?text=Come+creare+%23HTML5+%23mobileapp%3A+il+%23javascript+modulare&#038;via=upCreativeIta&#038;related=upCreativeIta&#038;url=https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/' target='_blank'>Click To Tweet</a></p>
<hr />
<h2>Come creare un app: l&#8217;importanza di scrivere javascript modulare</h2>
<p>Nel mondo della programmazione, per risolvere questo tipo di problema e per aumentare mantenibilità e scalabilità del codice, di solito si cerca di rendere il progetto &#8220;<b>modulare</b>&#8220;, concetto che non è riservato solo alle applicazioni mobile, ma che può essere esteso a tutte le <i>web app</i> javascript in generale, realizzate in <b>HTML5, CSS3 e Javascript</b>.</p>
<p>Usando questo termine ci riferiamo ad un tipo di struttura che viene suddivisa in <b>moduli separati</b>, ovvero singole parti o funzionalità dell’applicazione, ognuna di esse avente solitamente uno o più compiti specifici.</p>
<p>Ciò facilita notevolmente la mantenibilità rimuovendo, dove possibile, la dipendenza di una parte dell&#8217;applicazione rispetto alle altre (un componente è dipendente dall&#8217;altro quando ha bisogno di esso per poter funzionare).</p>
<p>Quando questo concetto è applicato correttamente, è molto più facile limitare le ripercussioni che operazioni come aggiunta, modifica o aggiornamento di un componente possano avere su altri altri del progetto.</p>
<h2>Come creare un app: rendere un progetto modulare</h2>
<h3>Come creare un app: i namespace</h3>
<p><img class="aligncenter wp-image-3988 size-full" src="http://www.upcreative.net/wp-content/uploads/2014/05/come-creare-un-app-i-namespace.jpg" alt="come creare un app - i namespace" width="725" height="314" /></p>
<p>Una delle pratiche comuni per rendere modulare un progetto sviluppato in HTML5, CSS3 e Javascript è quella di attribuire alle varie parti del DOM dell&#8217;interfaccia, o alle varie funzioni javascript che le gestiscono, <b>dei “nomi” secondo una certa logica.</b></p>
<p>Tali nomi dovrebbero essere assegnati in modo tale che <b>ogni elemento sia identificabile in modo univoco dal un proprio </b><b><i>namespace</i></b>, ovvero un nominativo che solitamente deriva dalla combinazione di due elementi:</p>
<ul>
<li>le funzionalità per il quale è stato concepito l’elemento al quale viene assegnato il <i>namespace</i></li>
<li>il nome della parte dell&#8217;interfaccia in questione.</li>
</ul>
<p>Ciò permette di <b>evitare eventuali collisioni con altri elementi o variabili globali</b>.</p>
<p>Se volessimo identificare per esempio, in un’eventuale mobile app, la <i>view</i> di creazione di un articolo alla quale è possibile accedere dalla lista delle novità, potremmo associare all’elemento DOM che contiene la view il <i>namespece </i>&#8220;news_article_create&#8221;, da inserire all’interno dell’attributo “<i>id</i>”, o magari all’interno di un microdata personalizzato (es: <i>data-namespace = ”news_article_create”</i>).</p>
<p><img class="aligncenter wp-image-3987 size-full" src="http://www.upcreative.net/wp-content/uploads/2014/05/come-creare-un-app-view-e-namespace.jpg" alt="come creare un app view e namespace" width="725" height="450" /></p>
<p>Il <i>namespace</i> è molto utile per selezionare e manipolare via <i>javascript</i> un o più elementi DOM del documento (come accade molto spesso con i selettori di jQuery).</p>
<p>Un’altro metodo che rende molto facile la <b>modularizzazione di un progetto</b>, è quello di <b>utilizzare l’AMD</b>.</p>
<h3>Come creare un app: l&#8217;AMD</h3>
<p><img class="aligncenter wp-image-3986 size-full" src="http://www.upcreative.net/wp-content/uploads/2014/05/come-creare-un-app-lAMD.jpg" alt="come creare un app - l'AMD" width="725" height="314" /></p>
<p>L’AMD (Asynchrounous Module Defnition) è una tecnica che permette di <b>caricare all’interno del progetto file e moduli esterni in modo asincrono</b>, dopo il caricamento della pagina, ovvero dopo che sono state caricate tutte le risorse esterne indicate del documento iniziale (stili CSS, file <i>javascript</i> ecc.).</p>
<p>Oltre ad <a href="http://www.yourinspirationweb.com/2014/03/03/html-mobile-app-5-consigli-per-aumentare-le-performance/"><b>aumentare le performance</b></a>, l’AMD permette , in fase di sviluppo, <b>di mantenere tutti i moduli della struttura del progetto organizzati in file distinti fra loro</b>, con la stessa logica di altri tipi di linguaggi di programmazione.</p>
<p>Grazie a dei tools esterni, è anche possibile concatenare e minimizzare tutti i file sorgenti Javascript in un unico file più leggero al momento della distribuzione del prodotto.</p>
<p><i>Fonte: </i><i><a href="http://en.wikipedia.org/wiki/Asynchronous_module_definition">Wikipedia</a></i></p>
<hr />
<p><em>Come creare #HTML5 #mobileapp: il #javascript modulare</em><br /><a href='https://twitter.com/share?text=Come+creare+%23HTML5+%23mobileapp%3A+il+%23javascript+modulare&#038;via=upCreativeIta&#038;related=upCreativeIta&#038;url=https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/' target='_blank'>Click To Tweet</a></p>
<hr />
<h3>Come creare un app: gli script loaders</h3>
<p>Suddividere la propria applicazione in moduli senza organizzarli in file separati non è molto diverso dal non utilizzarli affatto.</p>
<p>Definendo tutti i moduli in un unico file può contribuire ad evitare la situazione dell’ <i>Effetto Shangai</i>, anche se in tutti i casi ricercare una funzione o un determinato modulo tra 5000 righe di codice <i>javascript</i> non è per niente facile (è uno scenario in cui ti sei già trovato/a vero?).</p>
<p>Inoltre ciò renderebbe molto difficile il <b>lavoro simultaneo di più sviluppatori all’interno del progetto</b>.</p>
<p>E’ per questo motivo che solitamente la tecnica di suddivisione in moduli và di pari passo con l’utilizzo degli <b><i>Script Loaders</i></b>, librerie esterne che permettono appunto di caricare nel documento dei <i>moduli</i> o dei <a href="http://www.upcreative.net/come-creare-mobile-app-in-html-sistema-di-javascript-templating/"><i>template</i></a> collocati in file esterni.</p>
<p>In rete è possibile trovare moltissimi <i>script loader </i>(come per esempio <a href="https://github.com/unscriptable/curl"><b>Curl.js </b> </a>oppure il loader del framework <a href="http://dojotoolkit.org/">Dojo</a>, ma il mio preferito, oltre che uno dei più diffusi, rimane <a href="http://requirejs.org/">Require.js</a>.</p>
<p>Se ti interessa, ecco una lista di script loaders <i>client-side</i>:</p>
<ul>
<li><a href="http://requirejs.org">RequireJS</a></li>
<li><a href="http://github.com/unscriptable/curl">curl.js</a></li>
<li><a href="http://bdframework.com/bdLoad">bdLoad</a></li>
<li><a href="http://github.com/jbrantly/yabble">Yabble</a></li>
<li><a href="http://github.com/pinf/loader-js">PINF</a></li>
</ul>
<p>Con <i>Require.js </i>possiamo anche concatenare tutti gli script in un unico file grazie a dei tools di ottimizzazione aggiuntivi come il <a href="http://requirejs.org/docs/optimization.html">Require.js optimizer</a>, che permettono tra l’altro di rimuovere completamente il discorso del caricamento asincrono e dell&#8217;AMD per nella versione “<i>production”</i> del nostro progetto.</p>
<hr />
<p><em>Come creare #HTML5 #mobileapp: il #javascript modulare</em><br /><a href='https://twitter.com/share?text=Come+creare+%23HTML5+%23mobileapp%3A+il+%23javascript+modulare&#038;via=upCreativeIta&#038;related=upCreativeIta&#038;url=https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/' target='_blank'>Click To Tweet</a></p>
<hr />
<h2><b>Conclusioni</b></h2>
<p>Quando si sviluppa un’applicazione web in HTML5, CSS3 e Javascript di complessità medio-alta (in riferimento al numero di funzionalità e al numero di schermate o <i>view</i> presenti nell’interfaccia), rendere il progetto modulare può <b>aiutare incredibilmente a svolgere più facilmente comuni operazioni </b>come modifica, eliminazione ed aggiornamento di alcune delle parti che lo compongono.</p>
<p>Qualsiasi applicazione è in costante aggiornamento, ed organizzare elementi come schermate, dati, <i>template</i> in moduli separati può <b>velocizzare anche il flusso di lavoro</b>, specie se questo è portato avanti non singolarmente, bensì da un team di sviluppatori.</p>
<p>E tu hai mai pensato alla modularità dei tuoi progetti e web app?</p>
<p>Se hai dei tools e strumenti da aggiungere alla lista, o per qualunque dubbio o perplessità, scrivilo pure nei commenti!</p>

		</div> 
	</div> <div class="g-cols color_alternate w-actionbox"><div class="one-half">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			
<h3>Crea la tua mobile app in HTML, CSS3 e Javascript</h3>
<p>Utilizzando javascript modulare insieme a molte altre tecniche, ho realizzato più di 10 mobile app in HTML, CSS3 e Javascript (tra cui <a title="Tint HTML mobile app" href="http://www.upcreative.net/tint-weather-app/">Tint</a> e <a title="Dieta SI o NO? HTML Mobile app" href="http://www.upcreative.net/app-dieta-si-o-no/">Dieta SI o NO?</a>).</p>
<p>Se anche tu vuoi realizzare la tua applicazione in HTML, CSS e javascript da distribuire nei vari store, forse potrebbe interessarti il mio e-book <strong><a title="HTML Mobile Accelerato - Come creare una mobile app in HTML, CSS e Javacript" href="http://www.upcreative.net/html-mobile-accelerato/">HTML Mobile Accelerato</a>.</strong>
		</div> 
	</div> </div><div class="one-half">
	<div class="wpb_single_image wpb_content_element align_center">
		<div class="wpb_wrapper">
			
			<img width="563" height="418" src="http://www.upcreative.net/wp-content/uploads/2013/11/HTML-mobile-accelerato-ebook-cover1.png" class="attachment-full" alt="HTML-mobile-accelerato-ebook-cover" />
		</div> 
	</div> 
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<div class="widget_wysija_cont shortcode_wysija"><div id="msg-form-wysija-shortcode6ac7535be713c-4" class="wysija-msg ajax"></div><form id="form-wysija-shortcode6ac7535be713c-4" method="post" action="#wysija" class="widget_wysija shortcode_wysija">
<p class="wysija-paragraph">
    
    
    	<input type="text" name="wysija[user][email]" class="wysija-input validate[required,custom[email]]" title="Inserisci la tua mail" placeholder="Inserisci la tua mail" value="" />
    
    
    
    <span class="abs-req">
        <input type="text" name="wysija[user][abs][email]" class="wysija-input validated[abs][email]" value="" />
    </span>
    
</p>
<input class="wysija-submit wysija-submit-field" type="submit" value="Tienimi aggiornato/a" />

    <input type="hidden" name="form_id" value="4" />
    <input type="hidden" name="action" value="save" />
    <input type="hidden" name="controller" value="subscribers" />
    <input type="hidden" value="1" name="wysija-page" />

    
        <input type="hidden" name="wysija[user_list][list_ids]" value="4,1" />
    
 </form></div>
		</div> 
	</div> </div></div></div></div>
</div></div><p>The post <a rel="nofollow" href="https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/">Come creare un app: l&#8217;importanza di scrivere javascript modulare</a> appeared first on <a rel="nofollow" href="https://www.upcreative.net">upCreative</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.upcreative.net/come-creare-un-app-limportanza-scrivere-javascript-modulare/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
