tag:blogger.com,1999:blog-61731758689447724822024-03-20T08:46:43.241+01:00Firenze GDG - Official BlogMattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-6173175868944772482.post-30188337015410233352014-10-09T08:55:00.000+02:002014-10-09T08:55:02.775+02:00GWTcon - Firenze 5 Novembre 2014<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-wvGR1xl0yUHB8q4HmOhJib6Q-hKe9M3hCwz2MRC_AtrSqB5VLxcaG1pmSsO5xAkr_qsvTJqOJ8ZfRNvMIdk67_0icuriq8dZckLJaFmo4jd8-4rTftxwSZdosPJgRwSZ63n3ZfD4-Gt/s1600/banner_GWTcon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP-wvGR1xl0yUHB8q4HmOhJib6Q-hKe9M3hCwz2MRC_AtrSqB5VLxcaG1pmSsO5xAkr_qsvTJqOJ8ZfRNvMIdk67_0icuriq8dZckLJaFmo4jd8-4rTftxwSZdosPJgRwSZ63n3ZfD4-Gt/s1600/banner_GWTcon.png" height="185" width="400" /></a></div>
<br />
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Il prossimo </span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">5 Novembre</span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, a Firenze, nella splendida cornice de “</span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Le Murate</span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">” (www.lemurate.comune.fi.it) si terrà la </span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWTcon</span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (www.gwtcon.org), la prima conferenza italiana completamente dedicata al mondo GWT ed organizzata dalla comunità di sviluppatori.</span></div>
<b id="docs-internal-guid-8a0251b5-f3ae-636a-a19b-300a0c26d9a5" style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Una giornata dedicata al mondo GWT.</span></div>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt; text-align: justify;">
<span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Un evento pensato per dare la possibilità agli sviluppatori </span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT</span><span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> di avere una panoramica generale sulle tecniche di sviluppo con il toolkit ed alle aziende un momento di confronto con le ultime novità sul progetto.</span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Speaker d'eccezione, news, use cases e tech tips ti aspettano, tanto per iniziare:</span></div>
<b style="font-weight: normal;"><br /></b>
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li dir="ltr" style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><b>Daniel Kurka</b></span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> (Google Engineer, GWT Steering committee member e principale autore di mGWT) terra’ la keynote parlando di “</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">the new things in GWT</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">” e terra’ un tech talks su “</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">how to use Polymer with GWT</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">”;
</span></div>
</li>
<li dir="ltr" style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Vaadin</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ha offerto a tutti i partecipanti uno sconto del </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">40% </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">sul biglietto di ingresso all </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT.create/Munich </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> ed il 5/11 saranno assegnati anche 2 </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">biglietti</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">gratuiti</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div>
</li>
</ul>
<b style="font-weight: normal;"><br /></b>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">La lista degli speaker confermati comprende </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Daniel Kurka</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Francesco Radaelli , Luca Masini, Michele Ficarra, Alberto Mancini, Francesca Tosi </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">e molti si aggiungeranno nei prossimi giorni.</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br class="kix-line-break" /></span></div>
<div dir="ltr" style="line-height: 1.15; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Gli argomenti trattati andranno da </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">mGWT</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT 3.0</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Polymer with GWT</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT & WebSockets</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT & AngularJS</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">mGWT on FirefoxOS</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, oltre ad esempi di utilizzo di </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWT in the real world</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div>
<div dir="ltr" style="line-height: 1.5340909090909092; margin-bottom: 11pt; margin-top: 11pt;">
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Ti aspettiamo alla </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">GWTcon, 5 Novembre 2014 - </span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: italic; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Le Murate</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> - Firenze</span><span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">.</span></div>
<div>
<span style="background-color: white; color: #666666; font-family: Arial; font-size: 15px; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"><br /></span></div>
Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-49778307438770047692013-11-04T21:00:00.000+01:002013-11-04T21:01:22.705+01:00Continua il tour, codemotion arriva a Milano!<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Dopo Berlino e Madrid, Codemotion torna in Italia con la sua prima edizione milanese. Programmatori di tutti i linguaggi e le tecnologie si daranno appuntamento il 29 e 30 novembre a Milano per partecipare ai workshop, ai talk e ai laboratori che animeranno le due giornate. Codice, innovazione, approfondimento, ma soprattutto entusiasmo saranno i veri protagonisti. In puro stile Codemotion. Sito: <a href="http://milano.codemotionworld.com/" style="-webkit-transition: opacity 0.2s; border: 0px; box-sizing: border-box; color: #8b5da2; font-weight: bold; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; transition: opacity 0.2s;">http://milano.codemotionworld.com/</a></div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
AngularJS, BigData, Mobile, HTML 5, novità sullo sviluppo software…il programma del Codemotion è in aggiornamento, ma è già chiaro che i temi e le novità più importanti della scena tecnologica saranno in primo piano.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
La nuova rivoluzione industriale non poteva mancare al Codemotion, dopo anche il successo della Maker Faire Rome. Infatti i laboratori e workshop su Internet delle cose, tecnologia da indossare, Arduino, Open Picus e Raspberry Pi, costituiranno uno dei nuclei tematici più importanti. Codemotion è, per sua natura, aperto a tutti. Con il laboratorio Coderdojo anche i bambini potranno infatti muovere i primi passi nella tecnologia.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
L’iniziativa Dev4Startup, in collaborazione con Startupbussiness e Talent Garden, mira a realizzare e favorire l’incontro tra gli sviluppatori e le startup, creando sinergie favorevoli per l’innovazione.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
La presenza di ospiti stranieri di società rinomate, come Facebook e SoundCloud, Google, Vaadin conferma la vocazione internazionale di Codemotion, che si attesta ormai come evento fondamentale del panorama tecnologico europeo.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Le aziende sponsor già confermate sono: Microsoft, Google, Blackberry, Intel e Mikamai.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
L’evento è supportato e promosso dalle community di sviluppatori software più attive dedicate ai linguaggi di programmazione, allo sviluppo software e al mondo Maker come: Java, PHP, Ruby, Dot Net, sviluppo Mobile, Raspberry Pi, Arduino.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Continua la collaborazione di Codemotion all’interno delle università. Dopo Roma TRE, anche il Dipartimento di Informatica dell’Università degli Studi di Milano ospiterà l’evento. La scelta della location mira ad aumentare il coinvolgimento degli studenti, che costituiscono la nuova linfa del mondo della programmazione di oggi e di domani.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Partner essenziali del Codemotion Milano sono: Startupbusiness e Talent Garden per la realizzazione di Dev4startup, Girl Geek Dinner Milano per il fondamentale supporto media, Coderdojo Milano per organizzare il laboratorio per giovani programmatori all’interno del Codemotion e Appsterdam per la creazione del code contest per gli sviluppatori.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Ma Codemotion non si limita a questo. Codemotion è un occasione. Infatti i partecipanti potranno consegnare alle aziende Sponsor il proprio curriculum vitae per avere nuove opportunità professionali.</div>
<div style="background-color: white; border: 0px; box-sizing: border-box; color: #414042; direction: ltr; font-family: Georgia, 'Times New Roman', Times, serif; font-size: 14px; font-style: italic; line-height: 20px; margin-bottom: 20px; padding: 0px;">
Per partecipare è necessaria la prenotazione, effettuabile sul sito di Codemotion Milano: <a href="http://milano.codemotionworld.com/" style="-webkit-transition: opacity 0.2s; border: 0px; box-sizing: border-box; color: #8b5da2; font-weight: bold; line-height: inherit; margin: 0px; padding: 0px; text-decoration: none; transition: opacity 0.2s;">http://milano.codemotionworld.com/</a></div>
Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-40230099354103641132012-10-01T14:56:00.003+02:002012-10-01T14:56:38.510+02:00Aperte le iscrizioni per il Codemotion Venezia<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Ciao a tutti,</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">sabato 17 novembre ci sarà un’edizione di Codemotion nel Veneto.</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">L’evento sarà ospitato nella splendida tenuta di H-Farm, il famoso </span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">incubatore di startup vicino Venezia.</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">La call for paper per diventare speaker è aperta, inviate le vostre </span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">proposte di talk entro il 9 ottobre qui:</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><a href="http://venezia.codemotion.it/callforpaper/index.html" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://venezia.codemotion.it/<wbr></wbr>callforpaper/index.html</a><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Registratevi all’evento! La partecipazione è gratuita ma i posti sono </span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">limitati: </span><br />
<a href="http://venezia.codemotion.it/iscriviti/index.html" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://venezia.codemotion.it/<wbr></wbr>iscriviti/index.html</a><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Per agevolate l’arrivo in H-Farm abbiamo organizzato dei pullman.</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Partecipare al Codemotion sarà così più facile, divertente e lowcost.</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">C’è anche un Pullman da Torino:</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><a href="http://venezia.codemotion.it/pullman/index.html" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://venezia.codemotion.it/<wbr></wbr>pullman/index.html</a><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">In più sono stati organizzati due Workshop:</span><br />
<ul>
<li><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Mobile Game con Html5 e con Javascript di ultima generazione<br />multi-platform (<a href="http://venezia.codemotion.it/web-app/index.html" style="color: #1155cc;" target="_blank">http://venezia.codemotion.it/<wbr></wbr>web-app/index.html</a>)</span></li>
<li><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Web App per tutti gli schermi: desktop, tablet, smartphone e</span></li>
</ul>
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">TV (</span><a href="http://venezia.codemotion.it/mobile-game/index.html" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://venezia.codemotion.it/<wbr></wbr>mobile-game/index.html</a><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">)</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">E’ in cantiere anche un Hackathon a tema sociale…ci stiamo lavorando</span><br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">:-) </span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Stay tuned</span>Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-37184379058915834442012-09-26T10:33:00.000+02:002012-09-26T10:34:34.768+02:00Codemotion a Venezia - 17 Ottobre<span class="il" style="background-color: #ffffcc; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Codemotion</span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"> replica quest’anno con un edizione junior il 17 novembre:</span><br />
<a href="http://venezia.codemotion.it/" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://venezia.<span class="il" style="background-color: #ffffcc; background-position: initial initial; background-repeat: initial initial; color: #222222;">codemotion</span>.it</a><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"> e il Firenze GDG sarà presente</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">all’evento</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">La call for paper è già aperta, </span><a href="http://codemotion.it/callforpaper/" style="background-color: white; color: #1155cc; font-family: arial, sans-serif; font-size: 13px;" target="_blank">http://<span class="il" style="background-color: #ffffcc; background-position: initial initial; background-repeat: initial initial; color: #222222;">codemotion</span>.it/<wbr></wbr>callforpaper/</a><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">, e</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">scade il 9 ottobre.</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Sono molto gradite le proposte di intervento relative alle vostre</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">esperienze quotidiane e lavorative riguardanti le nuove tecnologie e</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">linguaggi in ambito Web e non solo, le vostre sperimentazioni e i</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">vostri punti di vista.</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Gli argomenti spaziano da Nosql, HTML5, Javascript, Mobile, Gaming,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Cloud, Linguaggi, Machine meets software, News/approcci visionari</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span class="il" style="background-color: #ffffcc; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Codemotion</span><span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;"> Venezia sarà ospitato da H-Farm.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Le iscrizioni apriranno a breve, rimanete sintonizzati!</span>Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-29514528928697803342012-05-11T00:08:00.000+02:002012-05-11T00:08:52.519+02:00GWT? solo un problema HR.<br />
<b id="internal-source-marker_0.24258537031710148" style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; color: black; font-family: Arial; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Il 16 Maggio del 2006 Google annuncia alla conferenza JavaOne GWT (Google Web Toolkit) in versione 1.0 da quel giorno aggiornamenti importanti e continui hanno contraddistinto la vivacità del prodotto :</span></b><br />
<span style="font-size: 100%;"><span id="internal-source-marker_0.24258537031710148"></span></span><br />
<ul style="font-family: Georgia, serif; font-size: 100%; margin-bottom: 0pt; margin-top: 0pt;">
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.0<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Maggio, 2006</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.1<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Agosto, 2006</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.2<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Novembre, 2006</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.3-4 <span class="Apple-tab-span" style="white-space: pre;"> </span>Febbraio, 2007</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Gennaio 2008 Google acquista INNUVO con i fondatori di GWT <br class="kix-line-break" />(</span><span style="background-color: white; color: #222222; vertical-align: baseline; white-space: pre-wrap;">Bruce Johnson and Joel Webber)</span><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;"> </span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.5<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Agosto, 2008</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.6 <span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Aprile, 2009</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">1.7 <span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Luglio, 2009</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.0 <span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Dicembre, 2009</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.0.1-3<span class="Apple-tab-span" style="white-space: pre;"> </span>Febbraio, 2010</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.0.4<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Luglio, 2010</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">Agosto 2010, Google acquista Instantiations per integrare GWT Designer.</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.1.0<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Ottobre, 2010</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.1.1<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Dicembre, 2010</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.2.0<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Febbraio, 2011</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.3.0<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Maggio, 2011</span></span></li>
<li style="font-family: Arial; font-size: 12px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; vertical-align: baseline; white-space: pre-wrap;">2.4.0<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Settembre, 2011 (Latest)</span></span></li>
</ul>
<div dir="ltr" style="font-family: Georgia, serif; font-size: 100%; margin-bottom: 0pt; margin-top: 0pt; text-align: right;">
<b id="internal-source-marker_0.24258537031710148"><span style="background-color: white; font-family: Arial; font-size: 12px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">(fonte wikipedia)</span></b></div>
<br />
<b id="internal-source-marker_0.24258537031710148" style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Da Settembre sino ad oggi (Maggio 2012) calma piatta : nessuna release/modifica viene annunciata, </span><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">nessuna</span><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> comunicazione ufficiale in merito a nuove road-map di prodotto vengono pubblicate, ma visto che le abitudini erano diverse, nasce spontanea la domanda: </span><span style="background-color: white; font-family: Arial; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">what’s happened?</span><br /><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Come segugi, risaliamo temporalmente gli eventi </span></b><b id="internal-source-marker_0.24258537031710148" style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">alla ricerca di informazioni in merito </span></b><b style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">e</span></b><b style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">, con l’aiuto di un motore di ricerca, troviamo interessanti informazioni non ufficiali : </span></b><br />
<div>
<img alt="" border="0" src="http://cc-2011-html5-games.appspot.com/images/gwt-logo.png" style="background-color: white; float: left; font-family: Arial; font-size: 13px; height: 200px; margin-bottom: 10px; margin-left: 10px; margin-right: 10px; margin-top: 10px; white-space: pre-wrap; width: 200px;" /><span style="background-color: white; font-family: Arial; font-size: 13px; white-space: pre-wrap;"> </span><br />
<ul style="font-family: Georgia, serif; font-size: 100%; margin-bottom: 0pt; margin-top: 0pt;">
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;"><span style="background-color: white;">Ottobre 2011 Google lancia un nuovo linguaggio di programmazione Web-Oriented:Dart</span></span></li>
</ul>
<ul style="font-family: Georgia, serif; font-size: 100%; margin-bottom: 0pt; margin-top: 0pt;">
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="vertical-align: baseline; white-space: pre-wrap;">10 Novembre, nel GWT Blog appare la segnalazione che alcuni </span><a href="http://googlewebtoolkit.blogspot.it/2011/11/gwt-and-dart.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">developer passano nel team di sviluppo di Dart</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> (postato da Bruce Johnson);</span></span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="vertical-align: baseline; white-space: pre-wrap;">11 Novembre, Bruce Johnson (co-fondatore di GWT) lascia l’account twitter </span><a href="http://twitter.com/#!/bruce_at_google"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">bruce_at_google</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">;</span></span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="vertical-align: baseline; white-space: pre-wrap;">il 16 Novembre il </span><a href="http://googlewebtoolkit.blogspot.it/2011/11/google-plugin-for-eclipse-gpe-is-now.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Google Plug-In for Eclipse, diventa un progetto OpenSource</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">; </span></span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="vertical-align: baseline; white-space: pre-wrap;">a fine anno, parti del team GWT vengono trasferite ad altri progetti interni a Google; </span></span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; list-style-type: disc; vertical-align: baseline;"><span id="internal-source-marker_0.24258537031710148"><span style="vertical-align: baseline; white-space: pre-wrap;">per finire il 22 Aprile Google annuncia la </span><a href="http://www.bizjournals.com/atlanta/blog/atlantech/2012/04/google-said-to-move-engineering-ops.html"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">chiusura della struttura di Atlanta</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">;</span></span></li>
</ul>
<b id="internal-source-marker_0.24258537031710148" style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> </span></b></div>
<div>
<b style="font-family: Georgia, serif; font-size: 100%;"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></div>
<div>
<div style="color: black; font-family: Georgia, serif; font-size: 100%;">
<span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Così finisce che l’insolita assenza di partecipazione del team di sviluppo nei newsgroup, inizia a generare </span><a href="https://groups.google.com/forum/#!topic/google-web-toolkit/YgVlmth_6SU/discussion" style="font-weight: bold;"><span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">preoccupazioni fra coloro che hanno scelto GWT come loro principale linguaggio di programmazione</span></a><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">; fino a sfociare in </span><a href="https://groups.google.com/d/msg/google-web-toolkit/uibTKAPXWV0/srAweUBNEdEJ" style="font-weight: bold;"><span style="background-color: white; color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">thread che miscelano preoccupazione e presunte voci </span></a><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">alzando il livello di tensione nella comunità.</span></span><br />
<span id="internal-source-marker_0.24258537031710148"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Per il Web, il futuro di GWT sembra minacciato :</span></span><br />
<ul style="font-weight: bold; margin-bottom: 0pt; margin-top: 0pt;">
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Atlanta importante sede dello sviluppo viene chiusa (i fondatori di GWT oltre ad essere di Atlanta sono stati coloro che hanno contribuito alla creazione e alla crescita della sede);</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">i fondatori del Toolkit avviano una nuova start-up ad Atlanta (</span><a href="https://plus.google.com/u/0/108767398608071205202/posts/5rUbBwm6gjv"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">Monetology</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">);</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">ma soprattutto continua a mancare una road-map ufficiale.</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Per questo successivamente abbiamo spostato la ricerca dalla semplice lettura delle notizie ad una più accurata analisi dei movimenti del team di sviluppo e per assurdo ci accorgiamo che messaggi distensivi erano nel frattempo emersi : </span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">dal 1/9/2011 al 25/4/2012 ci sono state più di 350 commit sul progetto, effettuate da decine di diversi sviluppatori dipendenti Google;</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">l'evoluzione della documentazione ufficiale (non ancora pubblicata su </span><a href="http://gwt.google.com/"><span style="background-color: transparent; color: black; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">gwt.google.com</span></a><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">) riporta diverse nuove ed interessanti feature di GWT 2.5, oltre all'evoluzione delle API della 2.4 e <br class="kix-line-break" />ad un supporto semi ufficiale a Maven;</span></li>
</ul>
<div>
<b id="internal-source-marker_0.24258537031710148"><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Infatti, poco dopo, iniziando ad uscire i primi messaggi distensivi semi-ufficiali dai newsgroup: </span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.24258537031710148">
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Ray Cromwell nei seguenti posts (</span><a href="https://plus.google.com/u/0/110412141990454266397/posts/NnSqFaQRRJx"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">post1</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> e </span><a href="https://plus.google.com/u/0/110412141990454266397/posts/8nmmgp4AChM"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">post2</span></a><span style="vertical-align: baseline; white-space: pre-wrap;">) sente la necessità di tranquillizzare la costellazione di sviluppatori GWT pre-annunciando buone notizie in arrivo;</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">il 30 Aprile un impiegato Google decide di </span><a href="https://groups.google.com/d/msg/google-web-toolkit/uibTKAPXWV0/siCmdQ4lFLAJ"><span style="color: #1155cc; vertical-align: baseline; white-space: pre-wrap;">rispondere</span></a><span style="vertical-align: baseline; white-space: pre-wrap;"> con due messaggi di forte impatto rassicurativo;</span></li>
<li style="background-color: white; font-family: Arial; font-size: 13px; font-weight: normal; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">e per finire da Google+ ci siamo accorti come Monetoloty continui a lavorare con GWT</span></li>
</b></ul>
<b id="internal-source-marker_0.24258537031710148"><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">E quindi non possiamo fare altro che felicemente constatare che alla fine sembra che il progetto sia seguito e bene dall’azienda.</span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Ma allora cosa è successo?</span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Anche se per avere notizie certe dovremmo probabilmente attendere il Google I/O 2012 (speriamo!!), quel che sembra più probabile è che l’uscita di Dart ed alcuni cambi di direzione dell’azienda abbiano innescato una riorganizzazione del team di sviluppo, in parte voluta ed in parte subita da Google.</span></b></div>
<div>
<b id="internal-source-marker_0.24258537031710148"><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Ipoteticamente, è possibile pensare che l’azienda abbia cercato di disporre delle competenze del personale, senza valutarne l’impatto emotivo, con l’effetto di lacerare il team precedente per poi obbligarsi a ricostruirne uno nuovo. Inoltre, nel mentre il team cerca di ricomporsi, non si trova il tempo di perseguire le relazioni pubbliche ed, anche se di codice ne viene scritto tanto, non riescono a darne la giusta percezione.</span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Da newbies dei rapporti pubblici ottengono alla fine un voto di sufficienza strappata. Rimanendo fiduciosi nella prossima release, aspettiamo per giudicarne il potenziale più importante : quello sul piano delle idee e dei progetti sfornati.</span></b></div>
<div>
<span id="internal-source-marker_0.24258537031710148"><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Vale il detto .. </span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">lasciando la strada vecchia per quella nuova sai quel che lasci ma non sai quel che trovi!</span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="background-color: white; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">n.b: </span><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">al riguardo segnaliamo un bell’articolo di Kelly Norton (Monetology) relativo a questa fase di passaggio di Google e non solo </span><a href="http://kellegous.com/j/2012/05/04/inspiration" style="font-weight: bold;"><span style="color: #1155cc; font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">http://kellegous.com/j/2012/05/04/inspiration</span></a><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"></span></span><br />
<div style="font-weight: bold; text-align: right;">
<span id="internal-source-marker_0.24258537031710148"><b id="internal-source-marker_0.24258537031710148"><span style="font-family: Arial; font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>Luca Tozzi, Stefano Ciccarelli e Luca Masini</span></b></span></div>
<span id="internal-source-marker_0.24258537031710148"></span></div>
</div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-11491536520239673332012-01-21T15:42:00.002+01:002012-01-21T15:43:01.596+01:00Codemotion: 3 febbraio deadline per la Call For PaperSi avvicina la deadline per inviare le proposte di talk al Codemotion, che sarà il 23 e 24 marzo a Roma.<br /><br />Sarà possibile sottoporre gli interventi entro il 3 febbraio a questo link:<br /><a href="http://www.codemotion.it/call-for-paper" target="_blank">http://www.codemotion.it/call-<wbr>for-paper</a><br /><br />Per chi volesse invitare speaker stranieri a sottomettere proposte può utilizzare il sito in lingua inglese:<br /><a href="http://www.codemotion.it/en/call-for-paper" target="_blank">http://www.codemotion.it/en/<wbr>call-for-paper</a><br /><br />La selezione delle proposte avverrà con una valutazione a cura dei rappresentanti delle community che collaborano con il Codemotion Roma. Le proposte selezionate saranno rese pubbliche nel mese di febbraio e verranno inserite nel programma ufficiale del Codemotion.Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-75585423132819797162011-12-21T18:07:00.004+01:002011-12-21T18:09:12.721+01:00Codemotion 2012: Iscrizioni e Call For Paper aperteLa seconda edizione del Codemotion sarà a Roma il 23 e 24 marzo 2012 ed anche quest'anno il Firenze-GTUG parteciperà attivamente all'incontro: <a href="http://www.codemotion.it/" target="_blank">http://www.codemotion.it/</a><br /><br />Il Codemotion 2012 ha due importanti novità: il prolungamento delle attività da uno a due giorni e la contemporaneità dell’evento sia a Roma che Madrid.<br /><br />Le iscrizioni sono aperte: <a href="http://www.codemotion.it/iscriviti" target="_blank">http://www.codemotion.it/<wbr>iscriviti</a><br /><br />La Call For Paper per sottomettere le proposte di interventi tecnici per il Codemotion Roma è aperta: <a href="http://www.codemotion.it/call-for-paper" target="_blank">http://www.codemotion.it/call-<wbr>for-paper</a><br /><br />La deadline è: 3 febbraio 2012.<br /><br />La selezione delle proposte avverrà con una valutazione a cura dei rappresentanti delle community che collaborano con il Codemotion Roma. Le proposte selezionate saranno rese pubbliche nel mese di febbraio e verranno inserite nel programma ufficiale del Codemotion.Io Acquisto Onlinehttp://www.blogger.com/profile/16785819672162403174noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-84648275761789026032011-06-28T09:30:00.006+02:002011-06-28T10:38:02.886+02:00Architects in Florence, Google Technologies Users<div style="text-align: left;"><span class="Apple-style-span" ><br /></span></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMwKQpsqoTJjY8M7xIN1hghbECsr5kgBcK-ZgG5xQVP_3pB2WHLpPLlr8FFjsapasqtD17gYSJcwz9CbwXsbsTaUE3HHUCw94d6io92uVk9Kg4rHz-GB5reBGz0oyJlOe_W77dkmeQIyc/s1600/IMAG0253.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><span class="Apple-style-span" ><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMwKQpsqoTJjY8M7xIN1hghbECsr5kgBcK-ZgG5xQVP_3pB2WHLpPLlr8FFjsapasqtD17gYSJcwz9CbwXsbsTaUE3HHUCw94d6io92uVk9Kg4rHz-GB5reBGz0oyJlOe_W77dkmeQIyc/s200/IMAG0253.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5623172410359895698" /></span></a><p align="LEFT" style="border: none; padding: 0cm"><span class="Apple-style-span" >Lunedì 13 giugno 2011 si è tenuto un momento di dialogo aperto tra i membri del Gruppo e la Facoltà di Architettura di Firenze.</span></p><p align="LEFT" style="border: none; padding: 0cm"><span class="Apple-style-span" style="font-family: arial; ">L' apertura alla collaborazione tra utenti finali e sviluppatori, nell'indagine delle possibilità offerte dagli strumenti di Google per il progetto e per la comunicazione dell'architettura, ha determinato uno stimolante clima di partecipazione e volontà di condivisione. </span><span class="Apple-style-span"><span class="Apple-style-span" >Questo primo incontro di “Google Architettura” ha visto la </span><b style="font-family: arial; ">presentazione in anteprima del progetto "Noi, L'Aquila", a cura di Nicole Drobeek</b> <i style="font-family: arial; ">.</i><span class="Apple-style-span" > Una proposta per la modellazione partecipata della città com'era (</span></span><span class="Apple-style-span"> </span><a href="http://www.youtube.com/watch?v=mj6PPTO74oo">http://www.youtube.com/watch?v=mj6PPTO74oo</a> )<span class="Apple-style-span" style="font-family: arial; "></span></p><p align="LEFT" style="border: none; padding: 0cm"><span class="Apple-style-span" ><span class="Apple-style-span"> Assai ricco e strutturato il contributo del Prof. Giorgio Verdiani e dei suoi giovani colleghi e studenti. Al centro, le possibilità offerte dall'interazione tra Google SketchUp e Google Earth. Sono stati presentati lavori di <b>completamento del modello del centro storico di Firenze in Google Earth</b>, raccontando elementi della sintassi architettonica fiorentina. </span><span class="Apple-style-span">Si è parlato della possibilità di valorizzazione e comunicazione del patrimonio paesaggistico osservando il lavoro svolto dall' arch. Niccoli sui <b>percorsi Nordic Walking per l'Abeton</b>e e dell' ausilio, offerto dagli strumenti Google, nella comprensione della rete di relazioni che, in uno specifico territorio, intercorrono tra le architetture emergenti, quali nodi di questa maglia e, il sistema ambientale antropizzato e naturale. Agli studiosi del settore, il riconoscimento di questi rapporti consente di individuare le fasi progressive dello sviluppo di un certo aggregato urbano, le valenze di un territorio, che sono poi i dati da cui l'urbanista intrapende il proprio lavoro di programmazione dello sviluppo e delle tutele (casi studio proposti, come da programma: “<b>Le chiese di Gerace</b>, arch. Guarnieri;<b> Le chiese fortificate dell' isola d' Elba</b>, arch. Pacchiarini). </span></span></p><p align="LEFT" style="border: none; padding: 0cm"><span class="Apple-style-span" ><span class="Apple-style-span"></span>L' indagine si è, quindi, spostata sulla capacità di Gooogle Earth di intercettare la storica necessità del progettista di valutare il rapporto tra l'opera progettata ed il contesto d'inserimento, ambientale ed urbano. Diversi, in tal senso, <b>i progetti presentati per una Torre residenziale a Barcellona e per una riqualificazione urbana nei pressi del London Bridge a Londra</b>. Nel primo caso, inserire il modello in Google Earth ha consentito alla capace progettista Alice del Genovese di valutare le proprie decisioni, di gestire forme e skyline, inserendosi, con un manufatto necessariamente imponente in un lotto angusto, dalla difficile forma rettangolare allungata, all'interno del tessuto urbano della città. Nel secondo caso studio, la stessa operazione ha agevolato, al laureando Andrea Pasquali, il non banale dialogo compositivo con le vicine e prestigiose architetture del passato e della contemporaneità. Infine, il <b>filmato della ricostruzione tridimensionale di un progetto mai realizzato</b> del celebre arch. Terragni (opera dell'arch. Feri) ha concluso la presentazione di ottimi lavori di architettura, che ci parlano di un work in progress nella sperimentazione delle tecnologie Google.</span></p><p align="LEFT" style="border: none; padding: 0cm"><span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; "> </span></p><p align="LEFT" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0cm; padding-right: 0cm; padding-bottom: 0cm; padding-left: 0cm; widows: 2; orphans: 2; font-family: 'Trebuchet MS', sans-serif; "><br /></p><p></p><div style="text-align: left;"><span class="Apple-style-span" style="font-family: arial; "><br /></span></div><p align="LEFT" style="border: none; padding: 0cm"></p><p align="LEFT" style="border: none; padding: 0cm"></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-67158215870453049352011-03-28T11:02:00.000+02:002011-03-28T11:02:14.386+02:00RequestFactory Framework - Parte 3<h4 id="internal-source-marker_0.39378001070289903"><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">ServiceLayer</span></h4><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">É uno strato trasversale alle varie fasi del ciclo di vita che mette a disposizione i servizi che creano gli oggetti del modello, li trovano con i Locator, chiamano i metodi dei servizi, come ad esempio (molto riduttivo):</span><br />
<pre class="prettyprint lang-java">public abstract Object createServiceInstance(Method contextMethod,
Method domainMethod);
public abstract <T> T createDomainObject(Class<T> clazz);
public abstract Object getId(Object domainObject);</pre><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Si compone di una catena di ServiceLayerDecorator (ai quali possiamo eventualmente aggiungere i nostri) nei quali ogni volta che viene richiesto un servizio la catena è chiamata tutta, se il decorator puo' rispondere lo fa e blocca la catena, altrimenti chiama il next().</span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Il primo di questa catena è sempre il ServiceLayerCache che, come si intuisce dal nome, fa caching dei metodi idempotenti, sia dei layer standard che di quelli eventualmente aggiunti dagli sviluppatori.</span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">IMPORTANTE</span><br />
<span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Tra le chiamate ritenute idempotenti e dunque cachate c'è anche la creazione del service layer, e questo cozza contro le specifiche di EJB3.</span><br />
<h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Gestione dei mapping</span></h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Supponiamo che la nostra entitá Ricetta abbia anche due mapping, uno one-to-many verso un’altra entitá Ingrediente e un altro verso la Portata. Usando il vecchio GWT-RPC, che serializza tutto ció che gli viene ritornato dai servizi, tutto l’albero verrebbe serializzato. Visto che questo comportamento non é accettabile in molte situazioni applicative, anche di semplici gestionali, si sono raffinate negli anni tutta una serie di tecniche per trasferire magari oggetti “Ricetta” senza i suoi mapping o magari solo con uno dei due. Tra queste quella piú promettente é sempre stata Gilead, che si integra con vari ORM e sostituisce con finte collection quelle che non vogliamo trasferire.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Niente di tutto questo é necessario usando RequestFactory. Il comportamento di default di questa richiesta:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<pre class="prettyprint lang-java">ricetteRequest.findRicetta(ricettaId).fire();</pre><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">é infatti quello di non trasferire mai le collection o i riferimenti. Nel caso questi siano necessari lo si deve chiedere esplicitamente:</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"><br />
</span><br />
<pre class="prettyprint lang-java">ricetteRequest.findRicetta(ricettaId).with(“ingredienti”).fire();</pre><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">E' bellissimo come in una semplice riga di fluent coding sia racchiusa la soluzione a problemi che hanno afflitto gli sviluppatori GWT per anni.</span><br />
<h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Editing degli oggetti</span></h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Abbiamo visto come fare a creare oggetti nuovi, ora vediamo come fare a recuperarli ed editarli. La prima parte é giá consolidata:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<pre class="prettyprint lang-java">ricetteRequest.findRicetta(ricettaId).fire(new Receiver<Ricetta>() {
void onSuccess(Ricetta result) {}}
);</pre><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">e nell’onSuccess() viene tornato l’oggetto richiesto. Se a questo punto dobbiamo editarlo allora dobbiamo farci tornare una copia mutabile invece dell’immutabile che torna la query. Per far questo basta chiamare il metodo edit:</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<pre class="prettyprint lang-java">// una request diversa !!!!
Ricetta editabile = newRicetteRequest.edit(result);
editabile.setPersone(editabile.getPersone()+1);
ricetteRequest.persist(editabile).fire();</pre><span style="background-color: white; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Considerazioni sulla gestione della sessione ORM</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">La gestione della sessione dell’ORM é molto delicata con questo modello. Infatti se da una parte é corretto avere una sola sessione per tutto il ciclo di vita, dall’altra parte é anche interessante notare come in caso di invocazioni multiple, la fase 3 (invocazione messaggi) in caso di errore lo registra sullo stato di ritorno e poi continua ad invocare i messaggi successivi. </span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">D’altra parte usare un pattern di invocazione dell’ORM piú semplice che sempre apre e chiude la transazione, porta ad altri problemi. É infatti una invariante richiesta dal framework che invocazioni successive della find di una entitá ritorni sempre lo stesso oggetto , ma questo oggetto deve anche riportare eventuali modifiche effettuate durante l’invocazione dei servizi (come la cache di primo livello di ogni ORM).</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Una cache quindi sembra una soluzione semplice e a portata di mano ma rischia di far restituire al client oggetti che non sono la rappresentazione reale dello stato del nostro store (relazionale o NoSQL che sia).</span><br />
<h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Implementazione dei servizi e della persistenza</span></h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Proprio per le considerazioni appena fatte ancora é opportuno fare degli esempi pratici dei problemi che si possono incontrare. Il primo, e forse piú importante, é appunto la necessitá di avere la stessa “Sessione” dell’ORM nelle quattro fasi (EntityManager in JPA, Session di Hibernate, PersistenceManager di JDO e cosí via). Se infatti la sessione dove vengono scritte le proprietá é diversa da quella in cui vengono chiamati i metodi di servizio allora si possono ottenere dei problemi difficili da diagnosticare, ad es.:</span><br />
<pre class="prettyprint lang-java">ricetta = ricettaRequest.edit(ricetta);
ricetta.getPortata().setDescrizione(“Primo”);
ricettaRequest.persist(ricetta).fire();</pre><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">potrebbe non funzionare come pensiamo perché se la sessione che setta la descrizione della portata non é la stessa dove viene fatto il merge della ricetta allora ci potremmo trovare con la descrizione non salvata. Purtroppo in questo momento il sistema funziona cosí, “as-designed” come dicono loro (</span><a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=5389"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">ISSUE-5389</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">) ma credo che in futuro non potranno non esserci novitá perché questa é un pattern architetturale troppo stringente.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Per quanto riguarda invece l’implementazione dei servizi, tramite i ServiceLocator lo sviluppatore ha abbastanza libertá architetturale, ed esiste su Internet giá una vasta letteratura di uso sia con Spring che con Java EE che anche senza architetture complesse (gestione della sessione fai da te !!).</span>Luca Masinihttp://www.blogger.com/profile/16994200788253954345noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-26340097579000425872011-03-22T10:18:00.000+01:002011-03-22T10:18:33.671+01:00RequestFactory Framework - Parte 2<span id="internal-source-marker_0.39378001070289903" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Il modo migliore per capire come funziona <a href="http://firenze-gtug.blogspot.com/2011/03/requestfactory-framework-parte-1.html">RequestFactory</a></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> è tramite un codice esempio che fa vedere il flusso A/R e come si comporta la macchina a stati finiti che gira sul server.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Tutto inizia dalla definizione di una nostra interfaccia “Factory” che estende la marker interface chiamata per l’appunto “RequestFactory” e che definisce i contesti entro i quali facciamo le nostre interazioni con dati residenti sul server:</span><br />
<br />
<pre class="prettyprint lang-java">interface RicettarioRequestFactory extends RequestFactory {
RicetteRequest ricetteRequest();
}</pre><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Come al solito il Deferred Binding viene innescato dalla chiamata GWT.create:</span></div><br />
<pre class="prettyprint lang-java">RicettarioRequestFactory requestFactory = GWT.
create(RicettarioRequestFactory.class);</pre><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Questo non è ancora sufficiente per poter usare la RequestFactory perché dobbiamo assegnare all’istanza ottenuta anche un EventBus su cui far transitare i messaggi di aggiornamento dei dati, dunque:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<pre class="prettyprint lang-java">requestFactory.initialize(myEventBus);</pre><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Finalmente siamo pronti ad usare le chiamate del framework. Non mi dilungo qui su come definire i DTO e le operazioni da effettuare, credo che la documentazione sia molto chiara ed esaustiva a riguardo, ma vado direttamente a vedere quello che è il flusso di lavoro effettivo. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Nel nostro programma GWT, partendo dalla RicettarioRequestFactory, possiamo creare un’istanza conversazionale della nostra RicetteRequest (che é un’interfaccia che estende RequestContext)</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<pre class="prettyprint lang-java">RicetteRequest ricetteRequest = requestFactory.ricetteRequest();</pre><br />
e creare un’istanza del DTO per assegnarle dei valori:<br />
<br />
<pre class="prettyprint lang-java">RicettaProxy ricetta = ricetteRequest.create(RicettaProxy.class);
ricetta.setCalorie(300);
ricetta.setPersone(4);
ricetta.setDifficolta(“bassa”);</pre><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">L’AutoBean che fa da datacontainer puó essere usato in tutto e per tutto come un qualsiasi POJO e su di esso eseguire qualsiasi operazione eseguibile sui normali POJO (magari visualizzarlo con l’Editor Framework, o metterlo in un Data Presentation Widget). Nel momento in cui decidiamo di spedire i dati al server basta una singola riga di codice (troppo belle queste fluent API):</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<pre class="prettyprint lang-java">ricetteRequest.persist().using(ricetta).fire();</pre><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Questa semplice riga scatena una serie di eventi, lato client e lato server, che ora proveró a descrivere in linea di massima (per approfondire c’é sempre il codice sorgente !!).</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Lato client gli eventi accumulati dal RequestContext vengono serializzati in una JSON string, nel nostro caso avremo qualcosa del genere:<br />
</span><br />
<pre class="prettyprint lang-json">{ "I": [ {"O": "net.lucamasini.gtug.RicettaRequest::persist",
"P": [{"R": "1", "C": 1,"T": "net.lucamasini.gtug.RicettaProxy"}
]}], "O": [ {"O": "PERSIST", "R": "1", "C": 1,
"T": "net.lucamasini.gtug.RicettaProxy",
"P": {"calorie": "300", "persone": "4", "difficolta": "bassa" }
}]}</pre><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Giá qui si intravede la struttura della FSM che gira server-side e che andremo ad analizzare a breve, ovvero la prima parte contiene i messages “</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">I</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">nvocation”, mentre la seconda parte le “</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">O</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">perations” on entities.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">La FSM é implementata dalla RequestFactoryServlet, che dobbiamo registrare nel nostro web.xml:</span><br />
<br />
<pre class="prettyprint lang-xml"><servlet>
<servlet-name>RequestFactoryServlet</servlet-name>
<servlet-class>
com.google.gwt.requestfactory.server.RequestFactoryServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>RequestFactoryServlet</servlet-name>
<url-pattern>/gwtRequest/*</url-pattern>
</servlet-mapping>
</pre><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">includendo anche il jar gwt-servlet-deps.jar, contenente il parser JSON e javax.validation, oltre che ad una implementazione di javax.validation (hibernate-validator-4.0.2.GA.jar va benissimo, con slf4j-api-1.4.3.jar e una qualche implementazione come slf4j-jdk14-1.4.3.jar).</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">In realtá la Servlet si limita nel proprio doPost a leggere il contenuto JSON, passarlo al metodo process del </span><span style="background-color: transparent; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">SimpleRequestProcessor </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">e quindi a scrivere il risultato sulla response.</span><br />
<h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 12pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Ciclo di Vita del RequestProcessor</span></h4><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">E’ proprio </span><span style="background-color: white; color: black; font-family: 'Courier New'; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">SimpleRequestProcessor </span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">che, dopo aver trasformato in oggetti usabili da programma la stringa JSON (proprio tramite il framework AutoBean di GWT 2.1.1, che effettua anche il duale sul client), esegue le 4 fasi del ciclo di vita:</span><br />
<ol><li style="background-color: white; color: black; font-family: Arial; font-size: 13pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Operazioni sui modelli</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">: il RequestContext contiene la lista delle operazioni da applicare ai modelli che qui vengono effettuate. I modelli sono trovati dal ServiceLayer (vedi dopo) tramite il Locator se disponibile o cercando i metodi statici (da documentazione) sulle classi del modello stesso.</span></li>
</ol><ul><ul><li style="list-style-type: disc;"><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Nel caso del nostro esempio viene chiamato il delegato alla costruzione dell’entity e su questo vengono settate le tre property “</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">calorie”, “persone”, “difficolta”</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></li>
</ul></ul><ol start="2"><li style="background-color: white; color: black; font-family: Arial; font-size: 13pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Validazione dei modelli con JSR303</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">: in caso di violazioni il ciclo di vita viene interrotto e viene ritornata la lista delle violazioni riscontrate al client.</span></li>
<li style="background-color: white; color: black; font-family: Arial; font-size: 13pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Invocazione messaggi</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">: nel caso sia compreso nel RequestContext, qui vengono invocati i messaggi sui servizi (con ServiceLocator o meno) e i parametri eventualmente sono quelli che hanno generato le operazioni effettuate nella fase 1.</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> Nel nostro caso il metodo persist é un metodo di istanza dell’entity stesso.</span></li>
</ol><ol start="4"><li style="background-color: white; color: black; font-family: Arial; font-size: 13pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Creazione del messaggio di ritorno</span><span style="background-color: white; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">: qui vengono tornati gli oggetti modificati sul server e gli eventi da mandare sul bus del client per eventuali aggiornamenti degli oggetti nel contesto (PERSIST, DELETE, UPDATE).</span></li>
</ol><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Tre delle quattro fasi (1, 3 e 4) usano il ServiceLayer, che dunque meriterà un approfondimento ulteriore nella prossima parte dell'articolo, insieme ad alcune considerazioni sull'utlizzo insieme ad un ORM.</span>Luca Masinihttp://www.blogger.com/profile/16994200788253954345noreply@blogger.com1tag:blogger.com,1999:blog-6173175868944772482.post-14351507180260409832011-03-17T09:50:00.000+01:002011-03-17T09:50:41.269+01:00RequestFactory Framework - Parte 1<span id="internal-source-marker_0.39378001070289903" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Fin dal suo primo rilascio, GWT è stato dotato di un sistema di Remote Procedure Call (chiamato GWT-RPC) i.e. un framework che rende agevole lo scambio di dati (sotto forma di oggetti Java) tra il server ed il client.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Nonostante GWT-RPC abbia svolto egregiamente il suo lavoro fin da subito, ha nel tempo palesato alcuni limiti architetturali congeniti, ovvero quello di essere service-centric e non data-centric (era anche una moda del momento in cui GWT è nato: SOA era la parola chiave). Tale caratteristica andava in pratica contro quella che è la mission principale della maggior parte delle applicazioni GWT, ovvero essere dei CRUD, piú o meno articolati, di dati che risiedono su un qualche cloud.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Oltre a questo difetto di struttura, per il modo in cui i servizi vengono implementati, GWT-RPC costringe lo sviluppatore ad una serie di compromessi stringenti, tra i quali:</span><br />
<ol><li><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Stare attenti alle librerie usate (annotazioni comprese) negli oggetti del modello che vengono serializzati</span></li>
<li><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Usare un framework terze parti per la serializzazione degli oggetti provenienti dall’ORM, come Gilead o in caso di uso di DTO, Dozer o BeanLib</span></li>
<li><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Far vedere gli oggetti del modello al compilatore GWT per la compilazione, e magari per questo metterli in un package diverso da quello naturale, solo perché lo stesso package ospiterebbe altrimenti classi non compilabili (dal GWT compiler)</span></li>
<li><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Scrivere la service interface due volte, una volta con un’interfaccia di business che però deve implementare RemoteService (e dunque dipendenza del servizio da GWT) e la seconda con un’interfaccia asincrona. Questo, senza l’aiuto di strumenti adeguati, è una chiara fonte di errori.</span></li>
</ol><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Oltre ai punti precedenti (e a tutti quelli che non mi saranno venuti in mente) sono da contare tra gli inconvenienti dell’approccio ‘classico’ i continui deploy a cui siamo costretti quando si usa in noserver mode e si cambia qualche oggetto che entra in gioco nel protocollo GWT-RPC.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Il nuovo sistema chiamato RequestFactory viene incontro a tutte queste richieste nate nel tempo e dall’esperienza d’uso di GWT e quindi si tratta di un sistema che:</span><br />
<ol><li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">E' fortemente data-centric, tanto da avere tra le fasi del proprio ciclo di vita (si, RequestFactory ha un ciclo di vita !!!) quella di applicare le operazioni fatte sul client agli oggetti del modello;</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Ha un sistema automatico di mapping degli oggetti del modello su DTO generati “automaticamente” (si chiamano AutoBean e girano sia sul client che sul server) che ci permette di decidere cosa trasportare e in più non ha alcun tipo di coesione con la parte server come avviene con GWT-RPC;</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Proprio per la sua natura di “collettore di dati e operazioni” è in grado di ottimizzare anche il traffico di rete, trasportando solo i dati che veramente sono cambiati e non tutto l’oggetto e di accumulare tutte le operazioni richieste in una sola Request verso il server;</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: decimal; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Permette di implementare i servizi sia come metodi statici sulle entità su cui operano che come Service trovati da un apposito ServiceLocator, ma in nessun caso obbliga ad implementare un’interfaccia tecnica di GWT sul server, richiede solo di seguire uno standard che permette al framework di individuare in modo univoco i metodi da chiamare.</span></li>
</ol><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Nella seconda parte di questo articolo vedremo nel dettaglio come usarlo e il principio di funzionamento che sta alla base del framework. </span>Luca Masinihttp://www.blogger.com/profile/16994200788253954345noreply@blogger.com3tag:blogger.com,1999:blog-6173175868944772482.post-33291250035787625362011-02-21T16:06:00.000+01:002011-02-21T16:06:33.126+01:00Art Project e il pigro felice!<div style="text-align: justify;">Pigri del mondo gioiamo! Adesso c’è una scusa in più per non staccarci dal nostro divano preferito! </div><div style="text-align: justify;">Questa è stata veramente la prima cosa a cui ho pensato usando il <a href="http://www.googleartproject.com/">Google Art Project</a>, la gioia del non muoversi!</div><div style="text-align: justify;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8ihGjqvvn5275AopVtAH-bJWmRrKtgUj6cykvDsEnvj7dBcMOvN4ptmsCX_LUBPFwKxJKYuytEtYccbrBBE6d6ZrgF6TMgOaIFAcpMpKpPTL1U4P_oxNUlBMqe47ww24gDspCINitP5I/s1600/laptop001.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="133" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8ihGjqvvn5275AopVtAH-bJWmRrKtgUj6cykvDsEnvj7dBcMOvN4ptmsCX_LUBPFwKxJKYuytEtYccbrBBE6d6ZrgF6TMgOaIFAcpMpKpPTL1U4P_oxNUlBMqe47ww24gDspCINitP5I/s200/laptop001.jpg" width="200" /></a></div><div style="text-align: justify;">Prendiamo Firenze per esempio, una capitale europea molto visitata dai turisti. Mi piacerebbe visitarla, ma siccome sono pigro non vorrei alzare le terga dal divano. Potevo già farmi una girata con Street View in <a href="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=Piazza+della+Signoria,+Florence,+Italy&aq=0&sll=40.75844,-73.985195&sspn=0.086469,0.173378&ie=UTF8&hq=&hnear=Piazza+della+Signoria,+50122+Firenze,+Italy&t=h&ll=43.769327,11.255558&spn=0.012784,0.026307&z=16&layer=c&cbll=43.76933,11.255596&panoid=Y9cUxsiylbql-eMOKocJPQ&cbp=12,356.72,,0,5">piazza della Signoria</a> senza espormi alle intemperie. Abilitando le foto potevo anche avere una vista di Palazzo Vecchio più reale di quella ricostruita da Street View, abilito il 3D mode metto gli occhialini e posso dare un’occhata al David all’ingresso come se lo potessi toccare. Le gioie del turista pigro, abilito la vista Maps ci seleziono Earth e posso guardarmi un parte dei dettagli dell’architettura della piazza.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Finalmente oggi posso fare anche una girata alla Galleria degli Uffizi grazie alla pubblicazione di ART Project di Google, ci entro con i miei occhialini 3D dallo Street View. Che pacchia, mi preparo una tazza di cioccolato e prendo i miei biscotti preferiti e rimiro le opere della Galleria. Bello il turismo! </div><div style="text-align: justify;">Siccome il turismo è anche imparare qualcosa di nuovo apro una nuova finestra del mio browser preferito e cerco di farmi una cultura sulle opere che sto vedendo mi ha sempre incuriosito la Primavera del Botticelli, Wikipedia da un punto di partenza per comiciare ad approfondire. Ho finito il cioccolato e mi sono perso nelle varie interpretazioni del significato dell’opera. Torno su <a href="http://www.googleartproject.com/museums/uffizi/la-primavera-spring-67">ART Project</a> e mi accorgo di un errore tra le informazioni (Located in: Botticelli). Sorrido e uso il link “Share This Page” che ci fornisce un URI della risorsa (<a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> the ART!) e lo mando agli amici. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Faccio un rapido giro e vedo che solo alcune Opere sono disponibili in formato ad alta risoluzione, ma anche così è una manna per i curiosi del dettaglio come il sottoscritto. Ma volete mettere il gusto di sapere che il Botticelli ha veramente disegnato l’unghia del mignolo del piede destro di Eolo (vi invito a controllare <a href="http://goo.gl/oosNX)">http://goo.gl/oosNX)</a>. Via, io dormo tranquillo adesso, voi no?</div><div style="text-align: justify;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOdMb8QLCj4QdybddlIr5a2oMgxW6H_Lm8lsO0tblINGo8hDIQ-WXjyyNuhWN7s9PhQR1zIbaXH117Jy8-UyX9GlIiS8kt0Fco9iUVVA8fNmk2J4BcDQYjFU2jIUGU0LU1HkmFN8-zoC4/s1600/primavera.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOdMb8QLCj4QdybddlIr5a2oMgxW6H_Lm8lsO0tblINGo8hDIQ-WXjyyNuhWN7s9PhQR1zIbaXH117Jy8-UyX9GlIiS8kt0Fco9iUVVA8fNmk2J4BcDQYjFU2jIUGU0LU1HkmFN8-zoC4/s200/primavera.JPG" width="162" /></a></div><div style="text-align: justify;">Si è fatta una certa ora, devo andare a Bowling! Mi creo una scaletta di musei da guardare: Metropolitan Museum of Art, MoMA, The State Hermitage Museum, Tate Britain & The National Gallery, Museo Reina Sofia, e il Van Gogh Museum.</div><div style="text-align: justify;">Mi ripropongo di crearmi una mia collezione di opere preferite e usando la vista di Art Project passo dalla porta cercando l’uscita dagli Uffizi. Passo dalla porta! Davvero! Merito delle dimensioni ridotte del Google Trolley, butto un occhio al soffitto della galleria, peccato per la definizione alcune parti del Museo erano interessanti.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Sono un pigro soddisfatto, ho fatto il turista usando un nuovo programma che non ho nemmeno dovuto imparare a usare. Sul WEB quando incontri l’usabilità la riconosci, indubbiamente per l’interfaccia hanno raggiunto un grosso risultato (prevedibile) che viene messo in secondo piano dalle opere e dai contenuti. Questa interfaccia che la usi ma nessuno te la deve spiegare non risalta, lascia spazio ai al museo che resta la vera attrazione.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Non è il primo esempio di musei online o virtuale questo è il primo il cui client è interamente Javascript del peso di 400KB. Pensavamo di esserci abituati alle sorprese di Google e alla sua modalità 3D ma vederla usata negli interni è un’altra impressione. Mi chiedo se tutto l’apparato di Street View per servire le immagini è stato usato in questo progetto, oppure se vista la ridotta quantità di dati (rispetto a Maps) hanno sperimentato nuove soluzioni.</div><div style="text-align: justify;"><br />
</div><div>Scritto da Lossentalion</div><div><br />
</div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-9946250556732769022010-12-13T17:44:00.000+01:002010-12-13T17:44:25.971+01:00La call for paper per il Codemotion è aperta!<div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><b><br />
</b></span></div><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><b>E' stata aperta la "call for paper" per il Codemoticon</b></span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;"><b>(<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><a href="http://www.codemotion.it/">www.codemotion.it</a>) del prossimo 5 Marzo.</span></b></div></span><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">Fino al 18 gennaio 2011 sarà possibile inviare le proprie proposte di</div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">talk per partecipare al programma della prima edizione del Codemotion,</div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">l’evento aperto a tutti i linguaggi e tecnologie.</div><div style="text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Tfabr8Ij2i4VM34zagtUqGDt7lYUHef1CGwWXdwemPEP5leH_VlCnl20Sfh1M1wK4PVIco1BDvoMGI1jiFLv-woKf0VXgwG8husPihFbVfmY6HpIEolOXpy2do3Ks1eyU_3N28U_39I/s1600/codemotion.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="139" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8Tfabr8Ij2i4VM34zagtUqGDt7lYUHef1CGwWXdwemPEP5leH_VlCnl20Sfh1M1wK4PVIco1BDvoMGI1jiFLv-woKf0VXgwG8husPihFbVfmY6HpIEolOXpy2do3Ks1eyU_3N28U_39I/s320/codemotion.JPG" width="320" /></a></div><div style="text-align: center;"><br />
</div></span><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><br />
</span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">La selezione delle proposte avverrà con una valutazione a cura dei</div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">rappresentanti delle community ufficiali italiane, legate ai diversi</div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">linguaggi e allo sviluppo del software, che collaborano con il</div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">Codemotion ... il <b>Firenze-GTUG</b> è fra queste!</div></span><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><div style="text-align: center;"><b>Maggiori informazioni al link:</b></div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><div style="text-align: center;"><a href="http://www.codemotion.it/comunicati-stampa#contribuire-codemotion" style="color: #1c51a8;" target="_blank">http://www.codemotion.it/<wbr></wbr>comunicati-stampa#contribuire-<wbr></wbr>codemotion</a></div></span><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><div style="text-align: center;"><b>Per sottomere le proposte potrete usare questa form:</b></div></span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><div style="text-align: center;"><a href="http://www.codemotion.it/call-for-paper" style="color: #1c51a8;" target="_blank">http://www.codemotion.it/call-<wbr></wbr>for-paper</a></div></span><div style="text-align: center;"><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</span></div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><div style="text-align: center;"><b>Alberto e Francesca</b></div></span>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-34027086174692581102010-12-12T10:45:00.001+01:002010-12-13T17:54:08.813+01:00Adlitaly - And the winner is...<div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><b><br />
</b></div><div style="border-collapse: collapse; font-family: arial, sans-serif; text-align: center;"><b>Dopo molte peripezie e un lunghissimo viaggio che lo ha portato da San Francisco a Firenze, finalmente' è arrivato a Torino a casa di @Massimo il premio tanto atteso...</b></div><div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5nOCDNX9nlRXUwrOs63AeDyoWC2fQz4V88baSDJJuS1APSWrjw1KzruZACLcwMhkgXwW66qxTa5CdHGIszFkyqj-_Ic1c8uvPH58UJfvhrWXdzbUobR8c8ensdpOyPqRAt65XvwkXEqk/s1600/prize.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5nOCDNX9nlRXUwrOs63AeDyoWC2fQz4V88baSDJJuS1APSWrjw1KzruZACLcwMhkgXwW66qxTa5CdHGIszFkyqj-_Ic1c8uvPH58UJfvhrWXdzbUobR8c8ensdpOyPqRAt65XvwkXEqk/s320/prize.jpg" width="320" /></a></div><div style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"><br />
</div><div style="border-collapse: collapse; font-family: arial, sans-serif;"><div style="text-align: center;">Ecco il MindStorm, il primo premio dell'<a href="http://firenze-gtug.blogspot.com/2010/11/aadroid-developers-lab-review.html">Android Developers La</a><a href="http://firenze-gtug.blogspot.com/2010/11/aadroid-developers-lab-review.html">b</a> dello scorso mese a Firenze</div><br />
<div style="text-align: center;"><b> Grazie a Massimo Agrò per la foto!</b></div></div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-34727051552851936952010-11-08T17:35:00.007+01:002010-11-08T18:02:56.433+01:00Android Developers Lab review<div style="text-align: justify;">Il 4 novemebre si è tenuto a Firenze il primo <b>il primo Android Developers Lab </b>italiano, organizzato grazie alla collaborazione tra il <b>Firenze-GTUG</b> ed il team di <a href="http://www.androidiani.com/"><b>Androidiani</b></a>! Un importante incontro per gli esperti del settore ma anche per i semplici appassionati. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">- 5 Googler. @Reto. @Roman, @Justin, @Dan e @Nick Android developers and advocates</div><div style="text-align: justify;">- 160 partecipanti provenienti da tutte le parti d'Italia (da Lecce a Torino)</div><div style="text-align: justify;">- la maggior parte dei blogger italiani su Android </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Dimentichiamo qualcosa?</div><div style="text-align: justify;">Sì!</div><div style="text-align: justify;">- tanto entusiasmo</div><div style="text-align: justify;">- voglia di imparare</div><div style="text-align: justify;">- voglia di collaborare</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyubhhNwSkdiBV2seZS4BckIAA521jNU_5GtPWLSdBH9snxXj4DsgMulSFEEmuSuj0DjMExxr3IP8wQqRp42VMHuqxMnGGIsCxzHLyFOtdSMXkkXioDL8N0rp1J1KsBoO9SjOG-LKEXew/s1600/04112010+-+Primo+Android+Developers+Lab+in+Italia+-+photo+by+Fabrizio+Vitale.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyubhhNwSkdiBV2seZS4BckIAA521jNU_5GtPWLSdBH9snxXj4DsgMulSFEEmuSuj0DjMExxr3IP8wQqRp42VMHuqxMnGGIsCxzHLyFOtdSMXkkXioDL8N0rp1J1KsBoO9SjOG-LKEXew/s200/04112010+-+Primo+Android+Developers+Lab+in+Italia+-+photo+by+Fabrizio+Vitale.JPG" width="200" /></a></div>Insomma, gli ingredienti per avere un bell'evento c'erano e infatti così e' stato: <b>il primo Android Developers Lab in Italia </b>(e speriamo non l'ultimo), dopo mesi di intensi preparativi da parte del Firenze-GTUG e degli androidiani, l'incontro e' stato un successo.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Nell'evento sono stati affrontati argomenti molto importanti nello sviluppo di applicaizoni mobile: la <b>user interface</b>, le <b>tool di sviluppo</b>. Sono state date delle anticipazioni circa quello che si prospetta ed è stata fatta una presentazione inedita: <b>NDK</b>, che sarà argomento dei prossimi GDD (Google Developers Day) in giro per il mondo.</div><div style="text-align: justify;">Nell'intervallo tra la prima lecture e l'ultima i google developers si sono resi disponibili per rispondere alle domande che i partecipanti volevano sottoporre loro ed in molti ne hanno approfittato.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Ma ... non finisce quì, come annunciato durante l'evento, bollono in pentola altri meeting con tema "Android" ed il Firenze-GTUG li organizzara' anche con la collaborazione di altri GTUG in giro per il mondo.</div><div><br />
</div><div><b>Francesca Tosi & Alberto Mancini</b></div><div><b><br />
</b></div><div class="separator" style="clear: both; text-align: center;"></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2e2oUkSjhgcLJ9PqBSYXJLGIcBfs2HCTiS8Lpr7vKAoD52crs3W6_mFyFQGLKX4kN6kFrTZip_TxiaaXiiglueNEU4Ouqx2X0WE0IHmY9hmxwBuXF6w8pmD37EvordUdDUQnvuCUsLs/s1600/04112010+-+Primo+Android+Developers+Lab+in+Italia+-+photo+by+Fabrizio+Vitale+&+Cristiano+Baldi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh2e2oUkSjhgcLJ9PqBSYXJLGIcBfs2HCTiS8Lpr7vKAoD52crs3W6_mFyFQGLKX4kN6kFrTZip_TxiaaXiiglueNEU4Ouqx2X0WE0IHmY9hmxwBuXF6w8pmD37EvordUdDUQnvuCUsLs/s320/04112010+-+Primo+Android+Developers+Lab+in+Italia+-+photo+by+Fabrizio+Vitale+&+Cristiano+Baldi.jpg" width="320" /></a></div><b><br />
</b></div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com4tag:blogger.com,1999:blog-6173175868944772482.post-42840299059392586382010-10-25T17:03:00.001+02:002010-11-07T22:45:49.040+01:004 novembre - Primo "Android Lab" italiano<div style="text-align: center;">Il Firenze GTUG annuncia</div><div style="text-align: center;"><b>il primo "Android Lab" Italiano </b></div><div style="text-align: center;">in collaborazione con gli <b>Androidiani (<a href="http://www.androidiani.com/">http://www.androidiani.com/</a>).</b> </div><div style="text-align: center;">Giovedì 4 Novembre 2010</div><div style="text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdCx4_5DJnPYdWR_G3ALmg8288vRon7n1DQ0xe0RZx3auB6EB3huxjCDX9LVyzBm-faQtrOCsB4_VavxCQOp9Qg8ZjWkhMMvMXjey4-g01JIGnIbj3V-88ejmw-L1aUqxYZSWYYlC-jnc/s1600/android+lab.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdCx4_5DJnPYdWR_G3ALmg8288vRon7n1DQ0xe0RZx3auB6EB3huxjCDX9LVyzBm-faQtrOCsB4_VavxCQOp9Qg8ZjWkhMMvMXjey4-g01JIGnIbj3V-88ejmw-L1aUqxYZSWYYlC-jnc/s1600/android+lab.jpg" /></a></div><div style="text-align: center;"><br />
</div><br />
<div style="text-align: center;"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"><b>L'incontro avverrà il 4 Novembre 2010 presso il Dipartimento di Matematica dell'Università di Firenze nel pomeriggio </b>(ore 15:00)</span></div><div style="text-align: center;"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"><br />
</span></div><br />
<div style="font-family: arial, sans-serif; font-size: 12px;">Info e dettagli alla pagina dell'evento<br />
<a href="http://www.google.com/url?sa=D&q=https://sites.google.com/site/firenzegtug/lista-eventi-italiani/android-lab&usg=AFQjCNFxOOv8AtAmFzp9UQK9UMtGGX7HZA" rel="nofollow" style="color: #0000cc;" target="_blank">https://sites.google.com/site/firenzegtug/lista-eventi-italiani/andro...</a><br />
iscrizioni al link:<br />
<a href="http://www.google.com/url?sa=D&q=https://spreadsheets.google.com/viewform%3Fhl%3Den%26formkey%3DdEtSbEdYWHg2VFdJMG1JSkNnVjA1b3c6MQ%23gid%3D0&usg=AFQjCNHr-deallApW27-f-TVz68EpeMD7w" rel="nofollow" style="color: #0000cc;" target="_blank">https://spreadsheets.google.com/viewform?hl=en&formkey=dEtSbEdYWHg2VF...</a> </div><div style="font-family: arial, sans-serif; font-size: 12px; text-align: -webkit-auto;"><br />
</div><div style="font-family: arial, sans-serif; font-size: 12px;"><br />
</div><div style="font-family: arial, sans-serif; font-size: 12px;"><b>All'evento saranno presenti i seguenti google android advocate: </b></div><div style="font-family: arial, sans-serif; font-size: 12px;"> * Reto Meier : Google Android Developer Advocate<br />
* Roman Nurik : Google Android Developer Advocate<br />
* Dan Galpin: Developer Advocate<br />
* Justin Mattson: Developer Advocate </div><div style="font-family: arial, sans-serif; font-size: 12px;"><br />
</div><div style="font-family: arial, sans-serif; font-size: 12px;"><b>Nell'evento ci saranno sicuramente 2 talks della durata di circa 45 minuti l'uno: </b></div><div style="font-family: arial, sans-serif; font-size: 12px;"> 1. Android Best Practices/ What's new<br />
2. Android UI Patterns. </div><div style="font-family: arial, sans-serif; font-size: 12px;"><br />
</div><div style="font-family: arial, sans-serif; font-size: 12px;">Per permetterci di organizzare al meglio è necessario compilare un form di iscrizione ( <a href="http://www.google.com/url?sa=D&q=http://il-bu.ch/MSI&usg=AFQjCNHazW4EkBvcYBuf2d0Ntm8eIkVQMA" rel="nofollow" style="color: #0000cc;" target="_blank">http://il-bu.ch/MSI</a> ). </div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com2tag:blogger.com,1999:blog-6173175868944772482.post-7649040294111675412010-10-11T18:04:00.000+02:002010-10-11T18:04:55.429+02:00Benvenuto!<div style="text-align: center;"><b><br />
</b></div><div style="text-align: center;"><b>È che con piacere che ti diamo il benvenuto nel blog ufficiale del Firenze GTUG.</b></div><div style="text-align: center;"><b><br />
</b></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX9dqPh0Umt0_SToUrSPrYsrApDwrnahVP-yzvL0oLezu7RoerNUjCktwFYl7Y9sZFeEwQ5QjhiA3JhxRBuF4RVLzmdjqgSzP9d6hriK5Uqj0Y0jkCfu2mlMFO8ud9N2bQWzlHA4RnMPE/s1600/customLogo.gif.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiX9dqPh0Umt0_SToUrSPrYsrApDwrnahVP-yzvL0oLezu7RoerNUjCktwFYl7Y9sZFeEwQ5QjhiA3JhxRBuF4RVLzmdjqgSzP9d6hriK5Uqj0Y0jkCfu2mlMFO8ud9N2bQWzlHA4RnMPE/s200/customLogo.gif.jpg" width="200" /></a></div><div style="text-align: justify;">Qui potrai trovare tutte le attività svolte dal Gruppo, la presentazione degli eventi, delle iniziative e delle nuove tecnologie proposte da Google. Questo spazio rappresenta un punto di incontro tra il GTUG, i propri membri, gli altri gruppi e chiunque voglia conoscere meglio le nostre attività o addirittura prenderne parte. </div><div style="text-align: justify;">Speriamo che tu possa trovare qui quello che stai cercando... qual ora ti facesse piacere restare aggiornato sulle novità che verranno pubblicate in futuro o sulle discussioni e le prossime iniziative del gruppo puoi iscriverti ai <a href="http://img535.imageshack.us/img535/6164/feed32x32.png">feed </a>del blog o alla <a href="http://firenze-gtug.blogspot.com/p/mailing-list.html">mailing list ufficiale</a> del Firenze GTUG.</div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-13865784789641269132010-10-11T17:52:00.000+02:002010-10-11T17:52:30.446+02:00Le macchine guideranno da sole grazie a Google<div style="text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ4YbkPnmC9y485oJvchFRC-z9DT65K0AQ3ySaU-JQp-Z4_uu8GrADh0_B00sKaKDtFO1qYQmjXhSzVwjsvSYHd8MCEaEuGceOjVimguVj9nG_78YQY-hJdIrh_HRBs-4zeHnqDFN63Eg/s1600/304435f01.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ4YbkPnmC9y485oJvchFRC-z9DT65K0AQ3ySaU-JQp-Z4_uu8GrADh0_B00sKaKDtFO1qYQmjXhSzVwjsvSYHd8MCEaEuGceOjVimguVj9nG_78YQY-hJdIrh_HRBs-4zeHnqDFN63Eg/s200/304435f01.jpg" width="200" /></a><b>Google, che ormai potrebbe essere chiamata la Casa delle Idee, ha progettato e realizzato una tecnologia che permette alle automobili di muoversi in modo autonomo nel traffico cittadino.</b> </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Solo un incidente si è verificato nei mesi in cui vari test sono stati fatto nelle strade della California e sembrerebbe essere stato causato non dal software ma da un errore umano.</div><div style="text-align: justify;">All'interno di ogni veicolo un conducente "di sicurezza" e un ingegnere monitoravano l'andamento della vettura guidata dal sistema che secondo Google potrebbe dimezzare il numero dei morti vittime di incidenti stradali.</div><div><br />
</div><div><br />
<b>Sembrerebbero essere 4 i principali punti a favore di un sistema autonomo di guid</b>a:<br />
- tempi di reazione istantanei<br />
- controllo costante a 360 gradi dell'ambiente circostante<br />
- riduzione dei consumi di carburante<br />
-risparmio di tempo dei conducenti che potranno impegnare il tempo in macchina in altre attività invece di guidare.<br />
<br />
Si ritiene che la tecnologia non verrà proposta sul mercato prima di 8 anni, poiché ci sono da considerar gli ostacoli di origine legale poiché il codice della strada prevede la presenza al volante di una persona vera e propria.<br />
Senza dubbio tuttavia una tecnologia di questo tipo modificherebbe profondamente il nostro modo di vivere gli spostamenti cittadini e non solo.<div><br />
</div><div><b>Mattia Marasco</b><br />
</div></div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0tag:blogger.com,1999:blog-6173175868944772482.post-80027036253318424352010-10-11T17:45:00.001+02:002010-10-11T18:18:54.516+02:00Google in televisione<div style="text-align: justify;">Dopo mesi dall'unncio ufficiale <b>Google TV</b> è arrivata... perlomeno il suo sito ufficiale e sta per debuttare a tutti gli effetti negli Stati Uniti. Il progetto prevedere un sistema che renda possibile navigare online, accedere ai social network, condividere contenuti e visualizzare film, serie TV e trasmissioni televisive comodamente dal divano di casa nostra utilizzando semplicemente un <b>televisore </b>con la possibilità di connettersi Internet.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwyCHSfuoscVWrbHUhq1_s8h997lchqmw7r5L5tT5Q-OkLHjpuMhWkLn-2DZquqs0vphRiQlDCmIZifjKJD14PtG6KP7JNLoZauuA0qG3elfvnEb4OKZ_VLwED7iY3I0ebs3219MuqmU/s1600/google-tv+(1).jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYwyCHSfuoscVWrbHUhq1_s8h997lchqmw7r5L5tT5Q-OkLHjpuMhWkLn-2DZquqs0vphRiQlDCmIZifjKJD14PtG6KP7JNLoZauuA0qG3elfvnEb4OKZ_VLwED7iY3I0ebs3219MuqmU/s400/google-tv+(1).jpg" width="400" /></a></div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">Il sistema ha una caratteristica centrale che è una <b>barra di ricerca</b> del tutto simile a quella che troviamo nel nostro sito quando consultiamo il motore di ricerca. Quindi, ad esempio, se inseriamo il titolo "Star Wars" il sistema cercherà tutto ciò che è consultabile e visibile riguardo a tale titolo, compreso anche la possibilità o meno di noleggiarlo on-line.</div><div style="text-align: justify;"><br />
<a name='more'></a><br />
</div><div style="text-align: justify;">Google TV permette di navigare in Internet senza problemi (è compatibile infatti sia con Flashe che Adobe) e anche per questo si cominciano a progettare già le versioni ottimizzate dei grandi portali. Grazie ad un <b>telecomando </b>apposito, oppure grazie al proprio <b>smartphone</b>, sarà possibile navigare e consultare siti web anche mentre seguiamo in diretta programmi televisivi o contenuti in streaming. Sarà quindi possibile la consultazione dei <b>social network</b> per commentare l'episodio della serie che state guardando o per conoscere i giudizi dei vostri amici.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElxVqZez1QYYYxXobpHj1LLXFgkzqcE2FzC1ziI3m8-zzcrXBF9yyPtrOulRCvJr3jnbF5D-e_nGPCKUk3pkBBf9Hsax5rRs7gtI9PkFCzQK2lb0TKOWgex-lTDdsHIJwlpYMBoB86-k/s1600/google-tv.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjElxVqZez1QYYYxXobpHj1LLXFgkzqcE2FzC1ziI3m8-zzcrXBF9yyPtrOulRCvJr3jnbF5D-e_nGPCKUk3pkBBf9Hsax5rRs7gtI9PkFCzQK2lb0TKOWgex-lTDdsHIJwlpYMBoB86-k/s200/google-tv.jpg" width="200" /></a>Per poter vedere la Google TV sono necessari dei televisori e dei <b>decoder </b>compatibili col sistema e al momento gli unici adatti sono gli Internet TV della Sony.</div><div style="text-align: justify;">La nuova piattaforma verrà lanciata negli Stati Uniti in queste settimane (totalmente funzionante entro il 2011) ma poiché ancora non è stato comunicato un calendario non è possibile conoscere con certezza la data in cui il servizio sarà disponibile anche nei paesi Esteri.<br />
<br />
<b>Mattia Marasco</b></div>Mattiahttp://www.blogger.com/profile/01839388405726867772noreply@blogger.com0