際際滷

際際滷Share a Scribd company logo
Rich Ajax Web Interfaces A LBERTO  B USCHETTU
S UMMARY Javascript: breve introduzione;
Ajax: la svolta del web 2.0;
Jquery: introduzione;
Jquery: operazioni pi湛 comuni e utili;
UI Jquery;
Casi d'uso e dettagli;
Jquery e Struts;
Guide, books e link utili.
J AVASCRIPT :  BREVE   INTRODUZIONE 油 Basato sullo standard ECMAScript ( ECMA-262 ) ed 竪 stato creato da Brendan Eich of Netscape;
Loosely typed, prototype based ed油 interpretato dal browser;
E' un linguaggio funzionale: tratta le funzioni come oggetti;
C ODICE  JS <DOCTYPE油html油PUBLIC油&quot;-//W3C//DTD油XHTML油1.0油Strict//EN&quot;油&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;>油油 <html油xmlns=&quot;http://www.w3.org/1999/xhtml&quot;油lang=&quot;en&quot;>油油 油油油油 <head>油  油油油油油油油油油油油油 <meta油http-equiv=&quot;Content-Type&quot;油content=&quot;text/html;油charset=UTF-8&quot;油/>油油 油油油油油油油油油油油油 <title>JavaScript!</title>油油 油油 油油油 油油油 油 <script type=&quot;text/javascript&quot; src=/slideshow/rich-ajax-web-interfaces-in-jquery/7298073/&quot;my-script.js&quot;></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=&quot;text/javascript&quot;>油油 油油油油油油油油 //油<![CDATA[油油 油油 油油油油油油油油 //油]]>油油 油油油油油油油油 </script>油油 油油 油油油油 </body>油油 </html> 油
DOM (1) Utilizza il DOM (Document Object Model):  rappresentazione dei documenti strutturati come modello orientato ad oggetti ;
DOM (2) Costituito da nodi. I tipi di nodi pi湛 interessanti: Element : elemento dentro una pagina (contiene altri nodi);
Text : il testo dentro un element;
Document : la root della gerarchia DOM (es.: tag html); Attualmente si usa il livello 2 del DOM;
Il DOM cambia a seconda del  layout-engine  usato dal browser:  Firefox,Camino, Flock, SeaMonkey,.., usano   Gecko  ;
IE usa  Trident ;
油 Safari, Chrome, Konqueror usano  WebKit ;
http://it.wikipedia.org/wiki/Document_Object_Model Anche i blank sono dei nodi del DOM (B rowser OM); <html>
<head>
<title>My Document</title>
</head>
<body>
<h1>Header</h1>
<p>
Paragraph
</p>
</body>
</html> DOM in Html
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);
String: var myString = &quot;mio nome&quot;;
Date: var Data = new Date();
Math: Math.acos(x);
Object, Function, Boolean, RegExp.
ps. Undefined, Null, Boolean, Number, and String sono primitive Quelli definiti dall'utente
O GGETTI definiti dall'utente: Creazione 油 Notazione compatta
// Literal (curly braces): var Fish = { name: &quot;&quot;,
description :&quot;&quot;, showDescription: function(){油alert (this.name.toUpperCase() + &quot; is a tropical fish!&quot;);}  } var MyFish = Object.create(Fish); MyFish.name=&quot;guppy&quot;; MyFish.descrizione=&quot;Pesce tropicale .....&quot; 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)
Funzioni Le funzioni sono istanze del tipo base Function; Non necessario scrivere tutti i parametri (arguments[i]) function name(argumentlist) block;
Function statement :  var name= function name(argumentlist) block
Function operator :  function name(argumentlist) block   -->crea un oggetto di tipo Function. Senza nome crea funzione anonima
Function constructor :  new Function(strings...) -->  corpo della funzione come stringa come parametro (deprecata)
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(&quot;<p>Nome:<p/><p>&quot; +this.name + &quot;</p> &quot; + <p>Descrizione:</p><p>&quot; +this.description+&quot;</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;
Sintassi Javascript e Java a confronto JavaScript   function Impiegato () { this.nome = &quot;&quot;; this.dipartimento = &quot;generale&quot;; } Java public class Impiegato { public String nome; public String dipartimento; public Impiegato () { this.nome = &quot;&quot;; this.dipartimento = &quot;generale&quot;;  } } 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]; } }

More Related Content

What's hot (10)

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
Matteo Magni
Yagwto
YagwtoYagwto
Yagwto
maraexception
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella View
Manuel Scapolan
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
Mavigex srl
Js intro
Js introJs intro
Js intro
Daniele Cruciani
Perl Template Toolkit
Perl Template ToolkitPerl Template Toolkit
Perl Template Toolkit
Stefano Rodighiero
Ajax Primi Passi Per Iniziare
Ajax Primi Passi Per IniziareAjax Primi Passi Per Iniziare
Ajax Primi Passi Per Iniziare
astanco
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript
Stefano Marchisio
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
Manuel Scapolan
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
Luciano Colosio
Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
Matteo Magni
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella View
Manuel Scapolan
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
Mavigex srl
Ajax Primi Passi Per Iniziare
Ajax Primi Passi Per IniziareAjax Primi Passi Per Iniziare
Ajax Primi Passi Per Iniziare
astanco
How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript How create a single page apps using html5 and javascript
How create a single page apps using html5 and javascript
Stefano Marchisio
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
Manuel Scapolan
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
Luciano Colosio

Similar to Rich Ajax Web Interfaces in Jquery (20)

Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
Davide Cerbo
Java Advanced
Java AdvancedJava Advanced
Java Advanced
Antonio Furone
Presentazione wicket
Presentazione wicketPresentazione wicket
Presentazione wicket
Andrea Del Bene
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
Pietro Polsinelli
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
DrupalDay
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
Franco Lombardo
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.js
eugenio pombi
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
XeDotNet
Ajax - Presente e futuro delle applicazioni web
Ajax - Presente e futuro delle applicazioni webAjax - Presente e futuro delle applicazioni web
Ajax - Presente e futuro delle applicazioni web
Dominopoint - Italian Lotus User Group
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storage
ameft
JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)
jampslide
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
Giampiero Granatella
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
Simone Gentili
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
Programmare Google Maps con Javascript
Programmare Google Maps con JavascriptProgrammare Google Maps con Javascript
Programmare Google Maps con Javascript
extrategy
Web Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 clickWeb Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 click
Simone Onofri
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
Davide Cerbo
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
Pietro Polsinelli
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case studyMantenere una distribuzione Drupal attraverso test coverage: Paddle case study
Mantenere una distribuzione Drupal attraverso test coverage: Paddle case study
DrupalDay
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
Franco Lombardo
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.js
eugenio pombi
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
XeDotNet
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storage
ameft
JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)
jampslide
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
jgiudici
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
Simone Gentili
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
Matteo Magni
Programmare Google Maps con Javascript
Programmare Google Maps con JavascriptProgrammare Google Maps con Javascript
Programmare Google Maps con Javascript
extrategy
Web Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 clickWeb Semantico: da XHTML a RDF in 3 click
Web Semantico: da XHTML a RDF in 3 click
Simone Onofri

Rich Ajax Web Interfaces in Jquery