by Davide Cerbo e Stefano Linguerri.
Javascript viene sempre consiederato un linguaggio di serie B in cui 竪 impossibile seguire le buone regole della programmazione ad oggetti. Ma non 竪 cos狸! In questa presentazione scopriremo come questo sia un linguaggio in continua evoluzione e come sia possibile sviluppare seguendo i paradigmi della programmazione ad oggetti. Scopriremo tool e librerie che ci permetteranno di sviluppare creando batterie di test, oggetti mock e inserire istruzioni di log nel nostro codice. Durante questa presentazione illustreremo anche la libreria Prototype che ci sar di supporto durante gli esempi.
Una rassegna sul framework per lo sviluppo in Javascript jQuery ed alcuni suoi plugin sviluppati da Microsoft: Template e Datalink
http://www.pasqualepuzio.it
Ho incontrato django 8 mesi fa e mi ha riconciliato con la programmazione web che francamente detestavo. Ne ho apprezzato il disegno e la chiarezza.
Qui presento una libreria -- jungle -- ed alcune applicazioni costruite attorno a django sostituendo il sistema di templating originario con 'mako', un sistema di templating recente di Michael Bayer autore fra l'altro di sqlalchemy.
Il sistema di templating di django 竪 forse uno degli elementi pi湛 criticati e pi湛 difesi dagli sviluppatori di django. L'idea di base 竪 che deve restare facilmente utilizzabile da una utenza (il grafico web) che ha normalmente poca dimestichezza con la programmazione motivo per cui i tradizionali elementi di programmazione sono ridotti o mancanti.
L'esperienza mia 竪 che in molte realt invece chi scrive le pagine 竪 il programmatore stesso o persona che pu嘆 imparare con uguale sforzo i rudimenti per potere usare dei sistemi di templating che permettono alcuni costrutti python.
A questo punto si aprono molte possibilit decisamente efficaci. I template risultano molto pi湛 leggibili senza perdere in chiarezza. Particolarmente efficace 竪 l'uso di layout simbolici per la creazione di form e tabelle.
La relazione vuole presentare il lavoro fatto in Thunder Systems srl negli ultimi 8 mesi e disponibile con licenza GNU tramite lo studio di alcune piccole applicazioni costruite con questa libreria fra cui un sistema di ticketing ed un sistema di gestione orari dipendenti/cartellino/badge.
by Davide Cerbo e Stefano Linguerri
La programmazione web sta facendo passi da gigante e oggi lutente si aspetta che lesperienza di utilizzo si avvicini sempre di pi湛 a quella a cui 竪 abituato nei classici applicativi desktop. Il mondo degli sviluppatori ha risposto inventanto una nuova sigla: RIA, cio竪 Rich Internet Application. Google non 竪 stata a guardare e ha fornito la sua risposta a questa esigenza donando alla community Google Web Toolkit. Questo nuovo framework permette di sviluppare in Java tutta linterfaccia utente per poi ottenere un codice javascript che funzioner su qualsiasi browser web senza linstallazione di plugin aggiuntivi. In questa presentazione vedremo:
* perch竪 sviluppare applicazioni RIA
* perch竪 usare GWT
* come GWT utilizza AJAX per comunicare con il server
* le ottimizzazione che avremo utilizzando GWT
* come uscire dal browser con Google Gear e Mozilla Prism
* e non solo
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
油
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in pi湛 agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialit di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarit 竪 la potenziale versatilit di tale sistema e la sua applicabilit a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrer l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Quante volte in questi ultimi mesi abbiamo sentito parlare di AJAX?
In effetti molti articoli che ho letto presuppongono una qualche conoscenza di AJAX stesso o comunque una buona conoscenza da parte dei lettori delle tecnologie alla sua base, ad esempio Javascript.
Ho avuto la sensazione che AJAX sia percepito dai neofiti come una cosa per soli programmatori esperti e quindi ho pensato di scrivere un articolo per cercare di aiutare coloro che si avvicinano a questo mondo per la prima volta permettendogli di scrivere le loro prime semplici applicazioni.
Sperando di riuscire nel mio intento vi auguro buona lettura.
How create a single page apps using html5 and javascript Stefano Marchisio
油
Create a html5/javascript apps with mvc/ajax using knockout.js/mvvm. Javascript to IQueryable is a framework that allows you to write a simple query in javascript client side and then execute it server side with EntityFramework or a linq provider that implement IQueryable. On the server is used "Dynamic Expressions and Queries in LINQ by Microsoft" to compose dynamically your query. In this way you can create a grid with filter, paging and sort functions. There is also support for: mvc3 unobtrusive jquery validation and jquery mobile/phonegap. - http://Javascriptiqueryable.codeplex.com - http://www.youtube.com/watch?v=qjwyKwsXHKs - http://www.linqitalia.com/articoli/entity-framework/sfruttare-javascript-eseguire-query-linq-server-tramite-dynamic-iqueryable.aspx
Non Conventional Android Programming (Italiano)Davide Cerbo
油
Android 竪 il nuovo sistema operativo open source per dispositivi mobili e realizzato da Google che si 竪 posta la missione di rendere linternet mobile accessibile a tutti tramite dispositi a basso costo.
Durante questo intervento mostrer嘆 come sia possibile sviluppare per questo sistema operativo (e non solo) senza lutilizzo di Java e come sia possibile utilizzare una versione light di Spring Framework nelle applicazioni mobili.
The HTTP protocol was created in 1990 and led to the establishment of the World Wide Web by English physicist Tim Berners-Lee. It led to what is now the world's most used language, HTML (Hyper Text Markup Language). HTML5 is being developed as the next major revision of HTML: what is it about? What will it change?
jQuery 竪 un framework javascript che permette di semplificare la scrittura di codice javascript, facilitando l'iterazione con gli elementi della pagina (controlli, stili, eventi, animazioni, ...), e permettendo di aumentare la user experience delle applicazioni, riducendone al tempo stesso la complessit di scrittura. Vista la sua diffusione e potenza, 竪 stato anche incluso nei project templete di Visual Studio. In questa sessione vedremo cos'竪 jQuery, e scopriremo le potenzialit e funzionalit che offre, verificando se il motto "write less do more" sia vero o meno.
by Davide Cerbo e Stefano Linguerri
La programmazione web sta facendo passi da gigante e oggi lutente si aspetta che lesperienza di utilizzo si avvicini sempre di pi湛 a quella a cui 竪 abituato nei classici applicativi desktop. Il mondo degli sviluppatori ha risposto inventanto una nuova sigla: RIA, cio竪 Rich Internet Application. Google non 竪 stata a guardare e ha fornito la sua risposta a questa esigenza donando alla community Google Web Toolkit. Questo nuovo framework permette di sviluppare in Java tutta linterfaccia utente per poi ottenere un codice javascript che funzioner su qualsiasi browser web senza linstallazione di plugin aggiuntivi. In questa presentazione vedremo:
* perch竪 sviluppare applicazioni RIA
* perch竪 usare GWT
* come GWT utilizza AJAX per comunicare con il server
* le ottimizzazione che avremo utilizzando GWT
* come uscire dal browser con Google Gear e Mozilla Prism
* e non solo
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
油
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in pi湛 agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialit di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarit 竪 la potenziale versatilit di tale sistema e la sua applicabilit a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrer l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Quante volte in questi ultimi mesi abbiamo sentito parlare di AJAX?
In effetti molti articoli che ho letto presuppongono una qualche conoscenza di AJAX stesso o comunque una buona conoscenza da parte dei lettori delle tecnologie alla sua base, ad esempio Javascript.
Ho avuto la sensazione che AJAX sia percepito dai neofiti come una cosa per soli programmatori esperti e quindi ho pensato di scrivere un articolo per cercare di aiutare coloro che si avvicinano a questo mondo per la prima volta permettendogli di scrivere le loro prime semplici applicazioni.
Sperando di riuscire nel mio intento vi auguro buona lettura.
How create a single page apps using html5 and javascript Stefano Marchisio
油
Create a html5/javascript apps with mvc/ajax using knockout.js/mvvm. Javascript to IQueryable is a framework that allows you to write a simple query in javascript client side and then execute it server side with EntityFramework or a linq provider that implement IQueryable. On the server is used "Dynamic Expressions and Queries in LINQ by Microsoft" to compose dynamically your query. In this way you can create a grid with filter, paging and sort functions. There is also support for: mvc3 unobtrusive jquery validation and jquery mobile/phonegap. - http://Javascriptiqueryable.codeplex.com - http://www.youtube.com/watch?v=qjwyKwsXHKs - http://www.linqitalia.com/articoli/entity-framework/sfruttare-javascript-eseguire-query-linq-server-tramite-dynamic-iqueryable.aspx
Non Conventional Android Programming (Italiano)Davide Cerbo
油
Android 竪 il nuovo sistema operativo open source per dispositivi mobili e realizzato da Google che si 竪 posta la missione di rendere linternet mobile accessibile a tutti tramite dispositi a basso costo.
Durante questo intervento mostrer嘆 come sia possibile sviluppare per questo sistema operativo (e non solo) senza lutilizzo di Java e come sia possibile utilizzare una versione light di Spring Framework nelle applicazioni mobili.
The HTTP protocol was created in 1990 and led to the establishment of the World Wide Web by English physicist Tim Berners-Lee. It led to what is now the world's most used language, HTML (Hyper Text Markup Language). HTML5 is being developed as the next major revision of HTML: what is it about? What will it change?
jQuery 竪 un framework javascript che permette di semplificare la scrittura di codice javascript, facilitando l'iterazione con gli elementi della pagina (controlli, stili, eventi, animazioni, ...), e permettendo di aumentare la user experience delle applicazioni, riducendone al tempo stesso la complessit di scrittura. Vista la sua diffusione e potenza, 竪 stato anche incluso nei project templete di Visual Studio. In questa sessione vedremo cos'竪 jQuery, e scopriremo le potenzialit e funzionalit che offre, verificando se il motto "write less do more" sia vero o meno.
Web Semantico: da XHTML a RDF in 3 clickSimone Onofri
油
Web Semantico: da XHTML a RDF in 3 click propone una via molto semplice per entrare nel Semantic Web senza fatica. Dopo una brevissima introduzione al concetto di Web Semantico vedremo come creare con un click un hCalendar (Microformat per gli eventi), convertirlo in RDF/XML tramite un XSL con GRDDL (una nuova tecnologia del W3C che permette di estrarre RDF) e utilizzare i dati ottenuti come desideriamo (Storage, Timeline, Grafo o altro).
13. C ODICE JS <DOCTYPE油html油PUBLIC油"-//W3C//DTD油XHTML油1.0油Strict//EN"油"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">油油 <html油xmlns="http://www.w3.org/1999/xhtml"油lang="en">油油 油油油油 <head>油 油油油油油油油油油油油油 <meta油http-equiv="Content-Type"油content="text/html;油charset=UTF-8"油/>油油 油油油油油油油油油油油油 <title>JavaScript!</title>油油 油油 油油油 油油油 油 <script type="text/javascript" src=/slideshow/rich-ajax-web-interfaces-in-jquery/7298073/"my-script.js"></script> 油油油油 </head>油油 油油油油 <body>油油 油油 <!-- cdata per evitare problemi di validazione xhtml e commentati per impedire di non interpretare il codice javascript nei vecchi browser che non comprendono il tag cdata --> 油油油油油油油油 <script油type="text/javascript">油油 油油油油油油油油 //油<![CDATA[油油 油油 油油油油油油油油 //油]]>油油 油油油油油油油油 </script>油油 油油 油油油油 </body>油油 </html> 油
14. DOM (1) Utilizza il DOM (Document Object Model): rappresentazione dei documenti strutturati come modello orientato ad oggetti ;
15. DOM (2) Costituito da nodi. I tipi di nodi pi湛 interessanti: Element : elemento dentro una pagina (contiene altri nodi);
32. O GGETTI DI JS Hanno propriet , eseguono metodi e reagiscono ad eventi ; Window: la finestra del browser, oggetto di default di JS; Document: oggetto document; Location: url della pagina corrente; Navigator: info sul browser; History: oggetto della cronologia; Forms, Ancors, Links: oggetti html del documento; Array: var myArray = new Array(4);
40. description :"", showDescription: function(){油alert (this.name.toUpperCase() + " is a tropical fish!");} } var MyFish = Object.create(Fish); MyFish.name="guppy"; MyFish.descrizione="Pesce tropicale ....." Uso del costruttore Object (utile se necessita una sola istanza) // Using the Object constructor: var profile = new Object(); profile.name = 'Bob'; profile.age = 99; profile.job = 'Freelance Hitman Con definizione del costruttore // costruttore, senza dichiarare un return in modo da restituire l'oggetto appena creato. function MyObject(parameter1, parameter2) { this.property1 = parameter1 this.property2 = parameter2 } // creazione di un oggetto var myobj = new MyObject('franco', 77)
41. Funzioni Le funzioni sono istanze del tipo base Function; Non necessario scrivere tutti i parametri (arguments[i]) function name(argumentlist) block;
43. Function operator : function name(argumentlist) block -->crea un oggetto di tipo Function. Senza nome crea funzione anonima
44. Function constructor : new Function(strings...) --> corpo della funzione come stringa come parametro (deprecata)
45. Estendere un oggetto var Fish = function (name, description) { this.name=name; this.description=description; var peso=0; //propriet privata! }; Fish.prototype.showDescription = function(){ $('div.descr').append("<p>Nome:<p/><p>" +this.name + "</p> " + <p>Descrizione:</p><p>" +this.description+"</p>);油 } Il prototype 竪 una base reference dell'oggetto che serve per tutte le copie figlie dell'oggetto parent; Creo delle propriet pubbliche. In sostanza f l'ereditariet estendendo l'oggetto base;
46. Sintassi Javascript e Java a confronto JavaScript function Impiegato () { this.nome = ""; this.dipartimento = "generale"; } Java public class Impiegato { public String nome; public String dipartimento; public Impiegato () { this.nome = ""; this.dipartimento = "generale"; } } function Manager () { this.reports = []; } Manager.prototype = new Impiegato; function Progettista () { this.progetti = []; } Progettista.prototype = new Impiegato; public class Manager extends Impiegato { public String[] reports; public Manager () { this.reports = new String[0]; } } public class Progettista extends Impiegato { public String[] progetti; public Progettista () { this.progettista = new String[0]; } }
47. DOM TRAVERSING Traversing DOM: getter //referenziare un elemento DOM
81. Ajax: operation if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET","ajax_info.txt",true); //open(method,url,async) xmlhttp.send(); //xmlhttp.open("POST","ajax_test.asp",true); //xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //settiamo l'handler onreadystatechange xmlhttp.onreadystatechange=function() //chiamata quando cambia il readyState { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } Property Description readyState Status of the XMLHttpRequest. 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready status 200: "OK" 404: Page not found
204. J QUERY : UI $("#draggable").draggable(); $('div.myclass').droppable({ drop: function(ui,event){}, over: function...., //si attiva quando un draggable 竪 dragged over out: function..., //si attiva mentre si fa il drag fuori dal droppable (se era dentro) tolerance: function //la condizione che lancia il drop viene richiamato il drop (Es. 'fit', 'touch',...) })