<?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>FaceitWeb.com &#187; GUI</title>
	<atom:link href="http://www.faceitweb.com/tag/gui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faceitweb.com</link>
	<description>Recensioni e articoli sul mondo della programmazione</description>
	<lastBuildDate>Tue, 20 Jul 2010 12:34:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Introduzione a LINQ</title>
		<link>http://www.faceitweb.com/2009/01/introduzione-a-linq/</link>
		<comments>http://www.faceitweb.com/2009/01/introduzione-a-linq/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 20:05:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[.NET Framework 3.5]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Con LINQ]]></category>
		<category><![CDATA[DataSet]]></category>
		<category><![CDATA[formato xml]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[keyword]]></category>
		<category><![CDATA[Language INtegrated Query]]></category>
		<category><![CDATA[linguaggio]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[LINQ to SQL]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql server]]></category>
		<category><![CDATA[vb.net]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=133</guid>
		<description><![CDATA[

LINQ è l&#8217;acronimo di Language INtegrated Query, ed è una delle novità del .NET Framework 3.5. Rappresenta il primo framework Microsoft per l&#8217;accesso ai dati, indipendente dall&#8217;architettura e dalle strutture cui si tenta di accedere e totalmente integrato all&#8217;interno dei linguaggi .NET di alto livello.
Con LINQ possiamo eseguire query e manipolare dati sfruttando un modello [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p><a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx">LINQ</a> è l&#8217;acronimo di <em>Language INtegrated Query</em>, ed è una delle novità del .NET Framework 3.5. Rappresenta il primo framework Microsoft per l&#8217;accesso ai dati, indipendente dall&#8217;architettura e dalle strutture cui si tenta di accedere e totalmente integrato all&#8217;interno dei linguaggi .NET di alto livello.</p>
<p>Con LINQ possiamo eseguire query e manipolare dati sfruttando un modello indipendente dalle varie tipologie di fonti; possiamo infatti accedere a database, file di testo, file XML, array, file Excel, file di configurazione, informazioni su assembly, chiavi di registro e qualsiasi altro oggetto riconducibile ad una collezione di oggetti enumerabile; il tutto utilizzando un unico modello di programmazione che riunisce molteplici tecniche differenti di accesso ai dati.</p>
<p>Per il corretto funzionamento di questo nuovo linguaggio, sono state aggiunte nuove funzionalità ai linguaggi del .NET Framework 3.5, in grado di supportare l&#8217;esecuzione delle query.</p>
<p>Sia per C# che per VB.NET abbiamo a disposizione nuove keyword, il meccanismo delle variabili locali implicite e dei tipi anonimi, gli inizializzatori di oggetti e collezioni, gli extension methods e le lambda expression.</p>
<p>LINQ porta con sé una serie di nuovi tool e funzionalità per migliorare la produttività. Il framework a supporto dell&#8217;accesso ai dati permette il mapping degli oggetti di SQL Server (Tabelle, viste, stored, etc.) su classi .NET (un vero e proprio ORM) ed è stata creata una sintassi particolare per accedere tramite LINQ a informazioni in formato XML e a strutture come <code>DataSet</code> e <code>DataTable</code>.</p>
<p>Le funzionalità appena descritte sono state fatte confluire in queste quattro implementazioni di LINQ:</p>
<ul>
<li><strong>LINQ to Objects</strong> &#8211; permette di eseguire delle query su collezioni di oggetti in memoria</li>
<li><strong>LINQ to XML</strong> &#8211; permette di eseguire delle operazioni su informazioni in formato XML</li>
<li><strong>LINQ to DataSet</strong> &#8211; permette di eseguire delle query su DataSet tipizzati</li>
<li><strong>LINQ to SQL</strong> &#8211; permette di rappresentare un grafo di oggetti in memoria che rappresentano gli oggetti presenti in un database SQL Server, su cui poi eseguire delle query</li>
</ul>
<p>L&#8217;insieme di queste implementazioni fornisce un potente strumento per la gestione dei dati in memoria, derivati da varie fonti diverse fra loro.</p>
<p><span id="more-133"></span></p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-8488545646955443";
google_ad_slot = "1886844531";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>Vediamo un esempio in cui vogliamo recuperare tutti i numeri pari da un array di interi. La query è molto semplice, ma permette perfettamente di vedere la nuova sintassi LINQ e una piccola parte delle nuove keyword disponibili.</p>
<div class="boxcode">
<p>Query per i numeri pari (C#)</p>
<p class="codice">int[] numeri = { 1, 2, 3, 4, 5 };</p>
<p>var numeriPari = from n in numeri where (n%2 == 0) select n;</p>
<p>foreach (var item in numeriPari)<br />
Console.WriteLine(&#8220;{0}&#8221;, item);</p>
</div>
<div class="boxcode">
<p>Query per i numeri pari (VB.NET)</p>
<p class="codice">Dim numeri As Integer() = New Integer() {1, 2, 3, 4, 5}</p>
<p>Dim numeriPari = From n In numeri Where (n Mod 2 = 0) Select n</p>
<p>For Each item In numeriPari<br />
Console.WriteLine(&#8220;{0}&#8221;, item)<br />
Next</p>
</div>
<p>La sintassi LINQ è molto simile a quella utilizzata per accedere ad una qualsiasi base di dati, ma è molto importante chiarire un concetto: LINQ non è solo un tool per utilizzare SQL.</p>
<p>Nell&#8217;esempio proposto abbiamo una fonte di dati rappresentata da un array di interi predefinito, una variabile implicita che rappresenta il risultato della nostra query di selezione (la variabile <code>numeriPari</code>) e la query vera e propria che seleziona i numeri pari (utilizzando la variabile <code>n</code> come valore generico della collezione di oggetti su cui effettuare il controllo tramite la clausola <code>where</code>).</p>
<p>Proprio per permettere la scrittura di query LINQ sono state introdotte in entrambi i linguaggi queste <strong>nuove keyword</strong>:</p>
<ul>
<li><code>from</code> &#8211; è la keyword di inizio di ogni query LINQ e specifica la fonte di dati nella quale dovrà essere eseguita la query.</li>
<li><code>where</code> &#8211; è la clausola che specifica quali elementi saranno ritornati dalla query; applica una sorta di filtro di selezione.</li>
<li><code>select</code> &#8211; è la clausola che definisce i tipi di valori che saranno prodotti dalla query.</li>
<li><code>group</code> ( <code>Group By</code> in VB.NET) &#8211; è la clausola che raggruppa i risultati secondo una  certa chiave.</li>
<li><code>orderby</code> (<code>Order By</code> in VB.NET) &#8211; effettua l&#8217;ordinamento (ascendente o discendente).</li>
<li><code>join</code> &#8211; permette di effettuare prodotti cartesiani tra più fonti di dati, come in SQL. Anche qui possiamo definire inner join o outer join.</li>
<li><code>into</code> (valida solo per C#) &#8211; è la keyword contestuale che indica in quale variabile temporanea vengono salvati i risultati di una select, di un group o di un join.</li>
<li><code>let</code> &#8211; è la keyword che permette di salvare temporaneamente il risultato di una subquery per poi utilizzarlo all&#8217;interno della query principale.</li>
<li><code>Take</code> (valida solo per VB.NET) &#8211; clausola che ritorna il numero specifico dei numeri contigui dall&#8217;inizio di una collezione.</li>
<li><code>Distinct</code> &#8211; clausola che restringe il numero dei valori ritornati da una query eliminando i duplicati (valida solo per VB.NET ma in C# si può usare il metodo <code>Distinct()</code>).</li>
</ul>
<p>Grazie alle modifiche sui linguaggi del .NET Framework e alle aggiunte funzionali come le variabili implicite (nel nostro esempio &#8220;numeriPari&#8221; risulta una variabile che implicitamente viene dichiarata di tipo <code>IEnumerable</code>), possiamo utilizzare LINQ per effettuare rapidamente operazioni, su collezioni di oggetti, che prima avrebbero richiesto molte righe di codice, cicli e condizioni di controllo.</p>
<p>Nell&#8217;esempio appena visto, abbiamo effettuato una selezione su una collezione di oggetti in memoria; questa funzionalità fa parte dell&#8217;implementazione &#8220;LINQ to Objects&#8221; che ci permette di eseguire specifiche operazioni sulle collezioni di oggetti. Questa implementazione è la base di tutte le query LINQ e viene abilitata non appena viene inserito il namespace <code>System.Linq</code> nelle direttive <code>using</code> (o <code>Imports</code> per VB.NET).</p>
<hr /><strong>LINQ to SQL</strong></p>
<p>LINQ to SQL risulta sicuramente l&#8217;implementazione più importante di LINQ. Ci permette di scrivere query di selezione, inserimento, modifica o cancellazione su dati prelevati da un database SQL Server, integrate direttamente nel codice C# o VB.NET. Tutto questo basandosi su un modello ad oggetti che rispecchia perfettamente (con una forma di mappatura uno a uno) le strutture presenti all&#8217;interno della base di dati.</p>
<p>Per essere ancora più chiari LINQ to SQL è un ORM (Object Relational Mapping) che permette di modellare la struttura del proprio database relazione attraverso classi .NET; tale ORM può essere poi interrogato attraverso la sintassi LINQ per permettere all&#8217;utente di eseguire query &#8220;CRUD&#8221; sulle informazioni presenti all&#8217;interno del database. Ad oggi, sono però solamente supportati database SQL Server.</p>
<p>Il lavoro che fa praticamente questo ORM è quello di tradurre le query integrate al linguaggio scelto (quindi query LINQ) in query SQL per l&#8217;esecuzione sulla base di dati e, in seguito, di tradurre il risultato della query in strutture dati tabulari costituenti delle istanze di oggetti vere e proprie. Una query LINQ di questo tipo quindi:</p>
<div class="boxcode">
<p>(C#)</p>
<pre>ORMDataContext context = new ORMDataContext();

var customers = from c in context.Customers
                where c.City == "London"
                orderby c.ContactName
                select c;</pre>
</div>
<div class="boxcode">
<p>(VB.NET)</p>
<pre>Dim context As New ORMDataContext()

Dim result = From c In context.Customers _
             Where c.City = "London" _
             Select c</pre>
</div>
<p>verrà poi eseguita all&#8217;interno del database secondo questa sintassi SQL:</p>
<div class="boxcode">
<pre>SELECT [CustomerID],[CompanyName],[ContactName],[ContactTitle],[Address],
       [City],[Region],[PostalCode],[Country],[Phone],[Fax]
FROM [Northwind].[dbo].[Customers]
WHERE [City] = 'London'</pre>
</div>
<p>aumentando notevolmente la facilità di scrittura del codice per l&#8217;accesso ai dati relazionali all&#8217;interno delle proprie applicazioni (considerando che non ci si deve più preoccupare di creare una connessione al database, lanciare un comando, etc.).</p>
<p>Se invece, vogliamo inserire un nuovo record all&#8217;interno del database, non dobbiamo fare altro che creare l&#8217;informazione da inserire utilizzando le strutture definite dal mapping LINQ to SQL e sottomettere il nuovo dato all&#8217;oggetto che si occupa di gestire le comunicazioni tra l&#8217;applicazione e il database.</p>
<div class="boxcode">
<p>(C#)</p>
<pre>ORMDataContext context = new ORMDataContext();

Customer c = new Customer();
c.CustomerID = "FACEITWEB";
c.City = "Salerno";
c.ContactName = "Pippo Pluto";
c.Address = "Via del Mare";
c.CompanyName = "faceitweb.com";

context.Customers.InsertOnSubmit(c);
context.SubmitChanges();</pre>
</div>
<div class="boxcode">
<p>(VB.NET)</p>
<pre>Dim context As New ORMDataContext()

Dim c As New Customer
c.CustomerID = "FACEITWEB"
c.City = "Salerno"
c.ContactName = "Pippo Pluto"
c.Address = "Via del Mare"
c.CompanyName = "faceitweb.com"

context.Customers.InsertOnSubmit(c)
context.SubmitChanges()</pre>
</div>
<p>Gli esempi di aggiornamento del database e di cancellazione di record sono stati omessi, ma comunque presenti all&#8217;interno del codice da scaricare; sicuramente non vi risulterà difficile immaginare che anche in questi ultimi due casi, il modo in cui vengono effettuate operazioni sulla base di dati tramite LINQ to SQL sarà sempre di una semplicità disarmante.</p>
<p>Le potenzialità di LINQ to SQL risultano essere veramente tante e soprattutto, ormai, risulta la scelta ottimale basarsi su di un ORM per gestire l&#8217;accesso ai dati e la loro persistenza, all&#8217;interno delle proprie applicazioni.</p>
<p><a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx">The LINQ Project</a><br />
<a href="http://aspnet.html.it/articoli/leggi/2527/introduzione-a-linq/">HTML.it: Introduzione a LINQ</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for Introduzione a LINQ" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+Introduzione+a+LINQ" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2009/01/introduzione-a-linq/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>JavaFX 1.0</title>
		<link>http://www.faceitweb.com/2008/12/javafx-10/</link>
		<comments>http://www.faceitweb.com/2008/12/javafx-10/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 15:39:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[Adobe Illustrator]]></category>
		<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[Drag-to-Install]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JavaFX Production Suite]]></category>
		<category><![CDATA[JavaFx Script]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[rich immersive media]]></category>
		<category><![CDATA[Rich Internet]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[Scalable Vector Graphics]]></category>
		<category><![CDATA[Style]]></category>
		<category><![CDATA[sun microsystems]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://www.faceitweb.com/?p=93</guid>
		<description><![CDATA[

 Sun Microsystems ha annunciato il rilascio di JavaFX 1.0, una nuova piattaforma che permette di costruire “Rich Internet Applications” (RIA) per browser web e desktops. Sviluppatori e web designers possono sfruttare funzionalità e potenzialità della tecnologia Java con i RIAs per realizzare applicazioni per tutti i tipi di screens, da desktop e TV a [...]]]></description>
			<content:encoded><![CDATA[
<!-- ALL ADSENSE ADS DISABLED -->
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:HyphenationZone>14</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:DoNotPromoteQF /> <w:LidThemeOther>IT</w:LidThemeOther> <w:LidThemeAsian>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <m:smallFrac m:val="off" /> <m:dispDef /> <m:lMargin m:val="0" /> <m:rMargin m:val="0" /> <m:defJc m:val="centerGroup" /> <m:wrapIndent m:val="1440" /> <m:intLim m:val="subSup" /> <m:naryLim m:val="undOvr" /> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w:LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w:LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w:LsdException Locked="false" Priority="39" Name="toc 1" /> <w:LsdException Locked="false" Priority="39" Name="toc 2" /> <w:LsdException Locked="false" Priority="39" Name="toc 3" /> <w:LsdException Locked="false" Priority="39" Name="toc 4" /> <w:LsdException Locked="false" Priority="39" Name="toc 5" /> <w:LsdException Locked="false" Priority="39" Name="toc 6" /> <w:LsdException Locked="false" Priority="39" Name="toc 7" /> <w:LsdException Locked="false" Priority="39" Name="toc 8" /> <w:LsdException Locked="false" Priority="39" Name="toc 9" /> <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w:LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w:LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w:LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w:LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w:LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w:LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w:LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w:LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w:LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w:LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w:LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w:LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w:LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w:LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w:LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w:LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w:LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w:LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w:LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w:LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w:LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w:LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w:LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w:LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /> <w:LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w:LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w:LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w:LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w:LsdException Locked="false" Priority="37" Name="Bibliography" /> <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w:LatentStyles> </xml><![endif]--> <span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"><a href="http://it.sun.com/">Sun Microsystems</a> ha annunciato il rilascio di JavaFX 1.0, una nuova piattaforma che permette di costruire “<em>Rich Internet Applications</em>” (RIA) per browser web e desktops. Sviluppatori e web designers possono sfruttare funzionalità e potenzialità della tecnologia Java con i RIAs<span> </span>per realizzare applicazioni per tutti i tipi di <em>screens</em>, da desktop e TV a browser e dispositivi mobili. </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Andiamo ad approfondire le sue caratteristiche.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">RIA per tutti i tipi di <em>screens</em></span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">JavaFx fornisce la possibilità di costruire applicazioni “<em>rich client” </em>che integrano <em>“rich immersive media” </em>come ad esempio audio e video, grafica, rich text e web services, per tutti i tipi di <em>screens</em>, dal desktop alla TV dal browser ai dispositivi mobili.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Creatività senza confini</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">JavaFx facilita l’integrazione di video, audio, grafica, animazioni e rich text. Le applicazioni possono combinare audio e video, grafica 2D con grafica 3D, trasformare prospettive e rich text, con convincenti effetti visivi e trasformazioni.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Sinergia tra sviluppori e designers</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">JavaFx permette a designers e sviluppatori di semplificare, unificare e rapidamente combinare grafica e media assets con il minimo sforzo. Riduce i tempi di produzione offrendo un intuitivo workflow <em>developer-designer, </em>consentendo ai designers, che utilizzano tools di grafica come Photoshop e Adobe Illustrator, di pubblicare i loro contenuti nei vari tipi di screens in modo intelligente, organizzato e semplificato.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Preservare gli investimenti Java</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Gli sviluppatori Java possono preservare i loro investimenti riusando le librerie Java nelle applicazioni JavaFx. Permette infatti di importare qualsiasi classe Java, creare nuovi oggetti e chiamare metodi al suo interno.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Semplice linguaggio dichiarativo per cervelli creativi</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Le applicazioni JavaFx sono scritte in <strong>JavaFx Script</strong>, un linguaggio progettato per sviluppatori web e designers tecnici che preferiscono programmare in un contesto visuale. Questo è un linguaggio di scripting semplice, dichiarativo e facile da imparare che permette agli sviluppatori di scrivere codice che corrisponde ai layout GUI (Grafical User Interface). JavaFx Script ha una potente caratteristica di legame con i dati, che è una semplice sintassi per sincronizzare lo stato di oggetti multipli, consentendo ai componenti GUI di cambiare automaticamente stato con il cambiamento di fondo dei dati.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Continuare ad usare skills e tools già esistenti</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">La <strong>JavaFX Production Suite</strong> contiene una suite di tools e plugin per Adobe Photoshop e Adobe Illustrator, consentendo ai designers di riusare i loro già esistenti skills senza dover imparare nuovi tools. Infatti possono semplicemente esportare la loro grafica dai loro tools al formato JavaFx.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><strong><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Conversione in un click</span></strong></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">I designers possono convertire i loro elementi grafici da Adobe Photoshop e Adobe Illustrator nel formato JavaFx con un singolo click. Il plugin infatti fornisce una preview del contenuto convertito permettendo di apportare modifiche prima della conversione finale. I designers lavorano con Scalable Vector Graphics (SVG), e con editors come Inkscape possono convertire i loro SVG nel formato JavaFx con il JavaFX Media Factory.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">Tra le innovazioni principali introdotte in JavaFx c’è la piattaforma Java <strong>Drag-to-Install </strong>che permette di trascinare (drag-and-drop) l’applicazione dal browser al desktop. Questo permette agli utenti di spostare le applets che sono in esecuzione sul browser, direttamente sul loro desktop.</span></p>
<p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: left;" align="left"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;"> </span></p>
<p><span style="font-size: 11pt; line-height: 115%; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">JavaFx 1.0 è disponibile per il download sul sito ufficiale (</span><a href="http://www.javafx.com/" target="_self"><span style="font-size: 11pt; line-height: 115%; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;"><span style="font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">http://www.javafx.com</span></span></a><span style="font-size: 11pt; line-height: 115%; font-family: &quot;Arial&quot;,&quot;sans-serif&quot;;">) dove è possibile scaricare l’SDK, oppure una versione di NetBeans con il plugin integrato, con utili <em>palette </em>per la costruzione rapida di componenti JavaFX.</span></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="fabio.cervino@poste.it" /><input type="hidden" name="return" value="Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com" /><input type="hidden" name="item_name" value="Offri un caffè allo staff for JavaFX 1.0" /><input type="hidden" name="currency_code" value="EUR" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.faceitweb.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Offrimi un caffè" title="Offrimi un caffè" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=fabio.cervino@poste.it&amp;currency_code=EUR&amp;amount=&amp;return=Grazie di cuore per aver voluto dare una mano allo staff di Faceitweb.com&amp;item_name=Offri+un+caffè+allo+staff+for+JavaFX+1.0" target="paypal"></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.faceitweb.com/2008/12/javafx-10/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- www.000webhost.com Analytics Code -->
<script type="text/javascript" src="http://analytics.hosting24.com/count.php"></script>
<noscript><a href="http://www.hosting24.com/"><img src="http://analytics.hosting24.com/count.php" alt="web hosting" /></a></noscript>
<!-- End Of Analytics Code -->
