Sabato 5 marzo, a Roma si è svolto il Codemotion, evento informatico rivolto a tutti gli appassionati di programmazione e nuove tecnologie. Come potremo vedere, molti e diversificati sono stati i temi trattati: in questo articolo raccontiamo come è andata.
Introduzione
Il 5 marzo si è svolto a Roma, nella facoltà di Ingegneria dell’Università Roma Tre, uno dei più importanti eventi per appassionati, studenti e professionisti del mondo che ruota intorno alla “programmazione” in senso lato, il Codemotion 2011.
L’evento era alla sua prima edizione in questa veste rinnovata, ma non possiamo considerarlo una novità senza storia, poiche’, come molti sapranno, in precedenza si trattava del Javaday, che si limitava a tematiche inerenti in qualche modo solo al linguaggio Java. Un po’ come è successo a MokaByte negli ultimi anni, da quest’anno l’evento è diventato più maturo e ha deciso abbracciare anche altre tecnologie, occupandosi di tutta una fetta di programmazione che prima mancava: questo ha richiamato, tra l’altro, un cospicuo numero di partecipanti.
I punti di forza di questo evento sono stati sicuramente i seminari rivolti ai nuovi standard HTML5 (argomento caldo che stiamo trattando anche su queste pagine e la cui serie sarà completata con gli ultimi articoli a partire dal prossimo mese), e al mondo mobile, con grande attenzione soprattutto ad Android e iOS, settore di assoluta preminenza, in questo momento, sul mercato IT.ù
Ingresso
Appena arrivati gli organizzatori ci hanno subito accolto dandoci informazioni sull’evento, fornendoci una mappa con la dislocazione dei talk nelle varie aule dell’Università e una maglietta molto carina, che riportava su un lato la scritta “The most powerful computer is in my heart” e sull’altro aveva stampato un simpatico snippet di programmazione.
Figura 1 – L’ingresso alla conferenza.
Al centro dell’area dell’evento era possibile trovare gli stand delle più famose Software House come potete ben vedere dalle foto, stand ai quali era possibile lasciare il proprio curriculum per essere magari un giorno, contattati da loro!
Gli argomenti
Come spesso accade in questo tipo di kermesse, talk, presentazioni e seminari sono distribuiti in contemporanea in diverse aule, in maniera da offrire possibilità diversificate a chi partecipa, consentendo la creazione di un percorso personalizzato, a piacere dei visitatori. Pertanto, riporteremo i titoli e le indicazioni relative ai diversi spezzoni, ma ci limiteremo ovviamente a descrivere solo i talk e le presentazioni cui abbiamo potuto partecipare.
I diversi interventi erano divisi per tematiche parallele: invitiamo vivamente i lettori a guardare, dai link riportati nei riferimenti in coda all’articolo i programmi completi delle presentazioni e dei seminari afferenti alle diverse “parallele” [1] nonche’ il quadro sinottico dell’intero evento [2].
I temi indviduati per quest’anno erano Web & Beyond, Tools & Process, Hacking & OS, Gaming, Mobile, Languages, Enterprise, i cui titoli sono decisamente autoesplicativi, e un più onnicomprensivo What’s Hot dedicato ad argomenti particolarmenti importanti in questo momento, primo fra tutti il tema dei database non relazionali (cui anche su queste pagine stiamo dedicano spazio con la serie su NoSQL).
Il nostro percorso
Ore 09:00
Decidiamo di cominciare con un argomento stimolante e “leggero”, seguendo il seminario di Davide Coppola, “Sviluppo di giochi indipendenti multi-piattaforma”, nell’area tematica Gaming.
In questo seminario ci viene fatta una panoramica su cosa fare prima di sviluppare un gioco multipiattaforma, su quali sistemi di sviluppo usare e su quale hardware ci serva veramente. Vengono poi illustrati quali framework, librerie e linguaggi di programmazione scegliere per implementare il nostro gioco. Inoltre è stato presentato il movimento di programmazione definito come “Indie game”, molto interessante da un punto di vista del possibile impatto sul mercato delle applicazioni, poicheì in forte crescita: si tratta si sviluppatori indipendenti di videogiochi, che propongono applicazioni semplici e realizzate con mezzi relativamente “poveri”, ma con risultati di tutto rispetto. Come per molti altri interventi, i lettori più interessati possono approfondire l’argomento grazie alle slide del corso [3].
ore 09:50
Proseguiamo la nostra partecipazione a Codemotion seguendo uno dei talk sicuramente più attesi: Marco Casario, “HTML5 Up and Running”, per la tematica Web & Beyond. Come c’era da aspettarsi, l’aula è gremita per conoscere le caratteristiche del nuovo linguaggio di programmazione per il web. A presentarle c’è Marco Casario, CTO di ComTaste. Viene illustrato tutto il percorso che si sta facendo per arrivare allo standard 5.0, raccontando la storia di HTML a partire dalla versione 1.0: come i nostri lettori più attenti sapranno, almeno a livello teorico lo standard sarà pronto solo nel 2020! Ma con la scadenza del 2012 quando le API da inglobare nel linguaggio saranno state presentate, e con la forte spinta da parte di alcuni giganti del mondo IT, già nei prossimi anni si cominceranno a vedere i primi frutti concreti, pur in assenza di una nuova specifica definitiva approvata.
Uno degli elementi sicuramente più interessanti del lingugaggio è il tag Canvas, il quale permettere di disegnare figure geometriche all’interno di una pagine web e quindi sarà possibile anche creare giochi o animazioni. Le note dolenti invece restano le solite: non si ha ancora uno standard definito per quali formati audio o video utilizzare per HTML5. Infatti i browser che supportano tale linguaggio supportano file audio e video diversi tra loro, anche in virtù dei diversi sistemi operativi all’interno di cui nascono, e questo è un bel problema. La carrellata delle nuove caratteristiche di HTML5 passa veloce [4] davanti al gran numero di presenti.
ore 10:40
In questa finestra temporale, siamo andati ad ascoltare Andrea Amadeo, “Web, Apps, Mobile, Flash, Html 5… Adobec’è!”, inserito nella parallela denominata Enterprise.
Eravamo molto curiosi di sentire come Adobe avrebbe gestito l’avvento di HTML5 e il suo “conflitto” con il famoso Flash player. Adobe ha ribadito che HTML5 non esclude di per se’ la possibilità di usare Flash player o Adobe AIR, e crede che il suo player non verrà sopraffatto dal nuovo linguaggio web: molto dipenderà anche dallo sviluppatore che potrà preferire una determinata scelta implementativa con la quale portare a termine il proprio lavoro [5].
Figura 2 – La presentazione di Adobe.
L’impressione personale che ho avuto è che Flash ancora per anni la farà da padrone visto che HTML5 non ha ancora il suo grado di maturità, specie per applicazioni complesse. Resta aperto il problema dell’incompatibilità di formati soprattutto video tuttora irrisolto, ma sono convinto che una volta preso il volo, molti programmatori preferiranno l’HTML5, essendo tra l’altro Flash un software proprietario, fattore di non poco conto.
ore 11.30
Uno dei talk più interessanti presenti all’interno del codemotion è stato sicuramente quello di Ugo Landini, “Stato dell’arte del Mobile Game Programming: pubblicare un gioco sugli app store in pochi giorni”, nell’area tematica Gaming. Questo intervento ha lasciato tutti i presenti a bocca aperta, non solo per l’argomento, i famosi “app store”, ma soprattutto per l’esposizione e per l’impatto comunicativo che ha avuto su chi assisteva.
Sviluppare App per iPhone, non è difficile, ma basta avere un idea! L’esempio più riccorrente da lui fatto è stato quello di Angry Birds, i famosi “Uccelli Arrabbiati”, un gioco assolutamente semplice, con un grafica stile cartone animato, che ha avuto la fortuna di essere scaricato su supporti digitali 50 milioni di vote! Se fate il conto di 50 milioni x 0,79 € capite bene che stiamo parlando di cifre importanti!
Il “Buon Ugo” ha fatto una panoramica [6] di quello che serve per poter iniziare a sviluppare app per Apple app store. Innanzitutto, serve un Mac! Dopodiche’ occorre scaricare l’ambiente di sviluppo xcode e registrarsi come Developer nel portale Apple. E infine, cosa fondamentale, occorre conoscere il linguaggio di programmazione Objective-C.
Sono stati mostrati oltre ai vari tool per costruire mappe di gioco, suoni, icone etc. due framework, uno free e uno a pagamento, molto utili per poter costruire il nostro gioco per iPhone: si tratta di Cocos2D e Corona.
Cocos2D è un framework gratuito e open source ricco di documentazione e tutorial, mentre per Corona bisogna pagare una licenza annua; il secondo, anche se ha meno documentazione, è più facile da usare e offre la possibilità, all’interno del gioco che vogliamo creare, di usare codice di programmazione Lua oltre a quello in Objective-C.
ore 12:20
Dopo il talk sul gaming per il mondo iPhone, decidiamo di puntare, per una sorta di par condicio, su un intervento dedicato (apparentemente) ad Android: Marco Pacchetti, “Sony Ericsson Xperia PLAY: Android is ready to play”, nella parallela dedicata al Gaming.
Rimaniamo un po’ delusi, poiche’ questa presentazione, più che altro, rimane un momento abbastanza autoreferenziale e pubblicitario, durante il quale si parla fin troppo dei progressi dell’azienda Sony Ericsson rispetto ad Android, ma soprattutto rispetto ad iPhone. Con spirito aziendalista, che per un certo verso sarebbe anche encomiabile ma stona in un contesto come quello di cui stiamo parlando, il relatore è apparso estremamente compiaciuto soprattutto quando gli astanti, interrogati al riguardo, hanno risposto in massa di possedere PS3 e PSP.
Figura 3 – La presentazione di Sony.
Nel momento in cui la presentazione sembra volgere al suo punto di stanca, viene tirata fuori la fantomatica Playstation Phone con tanto di filmato introduttivo che risveglia decisamente l’attenzione di noi spettatori; ma quando è stato chiesto il prezzo di tale dispositivo (circa 600 euro), siamo diventati immediatamente un pò tutti meno contenti. Concludendo: tanta pubblicità, poco codice e direi anche presentazione un pò fuori tema.
ore 13:10
All’ora di pranzo scegliamo qualcosa che ci solletica l’appetito, ovviamente in senso informatico! La fisica di un picchiaduro, come raccontato nell’intervento di Riccardo Rosapepe, “Ragdoll Blending con HAVOK: la fisica di un picchiaduro”, area tematica Gaming [8].
Il relatore sembra sapere il fatto suo, parla della sua esperienza (ha fatto parte del team che ha sviluppato SuperBike) e del suo progetto che sta portando avanti ovvero la realizzazione di un picchiaduro [9] e di come sta cercando di realizzarlo, attraverso la scelta di alcuni motori grafici.
ore 14:30
Restiamo nella parallela Gaming ma passiamo a un’altra piattaforma: XNA per giochi Xbox di cui ci parla Giovanni Simotti, nel suo “Sviluppare Indie Games su Xbox360 con C# e XNA Game Studio” [10].
Nell’intervento, viene mostrato il ciclo di vita e il processo di sviluppo che un videogioco percorre dalla nascita, alla realizzazione, alla messa in vendita, fino all’arrivo nelle case dei videogiocatori. A mio modesto parere, Microsoft ha delle idee vincenti al riguardo. Da un lato gli incentivi per i programmatori: premia i migliori 3 videogiochi. Dall’altro le modalità di vendita: permette di provare il videogioco per 10 minuti dopodiche’ l’utente deve scegliere se comprarlo oppure no, in modo tale di mettere il videogiocatore nella condizione, se risulta “preso” dal videogioco, di comprarlo immediatamente.
ore 15:20
Finalmente proviamo l’ebbrezza di seguire un talk in inglese riguardante le google API: Ales Justin, “JavaEE and Google AppEngine”, nell’area tematica What’s Hot.
Figura 4 – Il rapporto tra la piattaforma enterprise Java e il Google AppEngine è fra i temi caldi dell’evento.
Il relatore parla di come sono strutturate le google API, quali sono e come funzionano. Certo un pò di codice è qualche esempio pratico sarebbe stato gradito [11].
Il Game Barcamp
Concludiamo la nostra visita al codemotion parlando di un evento che ha dello straordinario in italia: il game barcamp [12]. Come funziona? A questo evento partecipano vari team di sviluppatori che presentano la loro idea e tra il pubblico sono presenti degli investitori che possono decidere quale progetto finanziare! Non è magnifico?
Figura 5 – Il Game Barcamp.
Pertanto, i più grandi sviluppatori del panorama italiano si sono dati battaglia cercando di far prevalere le loro idee. È stato uno spettacolo bellissimo, di sicuro impatto per tutti gli entusiasti del mondo dell’informatica: dagli occhi di questi sviluppatori si percepiva una luce particolare, che solo la passione per il mondo della programmazione riesce a trasmettere.
Conclusioni
Sicuramente il Codemotion è stata una bella esperienza, soprattutto per chi, solitamente rinchiuso tra le aule universitarie a studiare e nelle proprie aziende a lavorare, ha potuto respirare un po’ d’aria fresca! È stata l’occasione per stringere nuove intese di lavoro e approfondire qualche argomento che si conosce poco.
A mio avviso, la pur ottima riuscita di Codemotion ha anche delle pecche: e in tal senso, secondo me, un aspetto sottovalutato è stato il poco “codice” che è stato mostrato all’evento. Speriamo che il prossimo anno ci siano più “esperienze di programmazione” piuttosto che semplici presentazioni della propria azienda. Insomma Codemotion = poco codice, ma tante emozioni!
Riferimenti
[1] Il programma per “parallele”, ossia le diverse aree tematiche affrontate
http://www.codemotion.it/programma-parallele
[2] Il quadro sinottico della manifestazione
http://www.codemotion.it/programma-talks
[3] Davide Coppola (Lowpoly Studios), “Sviluppo di giochi indipendenti multi-piattaforma”, area tematica Gaming
http://www.codemotion.it/evento/talk–sviluppo–di–giochi–indipendenti–multi–piattaforma
[4] Marco Casario (FlexGala), “HTML5 Up and Running”, area tematica Web & Beyond
http://www.codemotion.it/evento/talk–html5-and–running
[5] Andrea Amadeo (Adobe), “Web, Apps, Mobile, Flash Html 5… Adobe c’è!”, area tematica Enterprise
http://www.codemotion.it/evento/talk–web–apps–mobile–flash–html-5adobe–c039è
[6] Ugo Landini (Jug Roma), ” Stato dell’arte del Mobile Game Programming: pubblicare un gioco sugli app store in pochi giorni”, area tematica Gaming
[7] Marco Pacchetti (Sony Ericsson), “Sony Ericsson Xperia PLAY: Android is ready to play”, area tematica Gaming
http://www.codemotion.it/evento/talk–sony–ericsson–xperia–play–android–ready–play
[8] Riccardo Rosapepe, “Ragdoll Blending con HAVOK: la fisica di un picchiaduro”, area tematica Gaming
http://www.codemotion.it/evento/talk-ragdoll-blending-con-havok-la-fisica-di-un-picchiaduro
[9] Il video dimostrativo del picchiaduro
http://www.youtube.com/watch?v=Yr2F7TSfvB0&feature=player_embedded
[10] Giovanni Simotti, “Sviluppare Indie Games su Xbox360 con C# e XNA Game Studio”, area tematica Gaming
http://www.codemotion.it/evento/talk–sviluppare–indie–games–su–xbox360-con–c–e–xna–game–studio
[11] Ales Justin, “JavaEE and Google AppEngine”, area tematica What’s Hot.
http://www.codemotion.it/evento/talk–javaee–and–google–appengine
[12] Il game barcamp
http://www.codemotion.it/game–barcamp