SlideShare uma empresa Scribd logo
1 de 46
Rich Ajax Web Interfaces A LBERTO  B USCHETTU
S UMMARY ,[object Object]
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 ,[object Object]
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=&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) ,[object Object]
DOM (2) ,[object Object]
Text : il testo dentro un element;
Document : la root della gerarchia DOM (es.: tag html); ,[object Object]
Il DOM cambia a seconda del  layout-engine  usato dal browser:  ,[object Object]
IE usa  Trident ;
  Safari, Chrome, Konqueror usano  WebKit ;
http://it.wikipedia.org/wiki/Document_Object_Model ,[object Object],[object Object]
<head>
<title>My Document</title>
</head>
<body>
<h1>Header</h1>
<p>
Paragraph
</p>
</body>
</html> DOM in Html
O GGETTI   DI  JS ,[object Object],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; ,[object Object],[object Object]
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 ,[object Object]
// 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; ,[object Object],// 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 ,[object Object]
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>);   } ,[object Object]
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]; } }

Mais conteúdo relacionado

Mais procurados

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerMatteo 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 ViewManuel 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'intrattenimentoMavigex srl
 
Ajax Primi Passi Per Iniziare
Ajax Primi Passi Per IniziareAjax Primi Passi Per Iniziare
Ajax Primi Passi Per Iniziareastanco
 
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 ControllerManuel Scapolan
 

Mais procurados (10)

Javascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesignerJavascript - 4 | WebMaster & WebDesigner
Javascript - 4 | WebMaster & WebDesigner
 
Yagwto
YagwtoYagwto
Yagwto
 
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
 
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
 
Js intro
Js introJs intro
Js intro
 
Perl Template Toolkit
Perl Template ToolkitPerl Template Toolkit
Perl Template Toolkit
 
Ajax Primi Passi Per Iniziare
Ajax Primi Passi Per IniziareAjax Primi Passi Per Iniziare
Ajax Primi Passi Per Iniziare
 
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
 
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
 
Introduzione a node.js
Introduzione a node.jsIntroduzione a node.js
Introduzione a node.js
 

Semelhante a Rich Ajax Web Interfaces in Jquery

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 HTML5Pietro 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 studyDrupalDay
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con ScalaFranco Lombardo
 
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.jseugenio pombi
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storageameft
 
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 & WebDesignerMatteo Magni
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Libraryjgiudici
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Libraryjgiudici
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Libraryjgiudici
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiSimone Gentili
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerMatteo Magni
 
Programmare Google Maps con Javascript
Programmare Google Maps con JavascriptProgrammare Google Maps con Javascript
Programmare Google Maps con Javascriptextrategy
 
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 clickSimone Onofri
 

Semelhante a 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)
 
Java Advanced
Java AdvancedJava Advanced
Java Advanced
 
Presentazione wicket
Presentazione wicketPresentazione wicket
Presentazione wicket
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
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
 
Primo Incontro Con Scala
Primo Incontro Con ScalaPrimo Incontro Con Scala
Primo Incontro Con Scala
 
breve introduzione a node.js
breve introduzione a node.jsbreve introduzione a node.js
breve introduzione a node.js
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
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
 
Abusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side StorageAbusing HTML 5 Client-side Storage
Abusing HTML 5 Client-side Storage
 
JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)JAMP DAY 2010 - ROMA (3)
JAMP DAY 2010 - ROMA (3)
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
 
JSP Tag Library
JSP Tag LibraryJSP Tag Library
JSP Tag Library
 
Javascript Camp - Listener Per Eventi
Javascript Camp - Listener Per EventiJavascript Camp - Listener Per Eventi
Javascript Camp - Listener Per Eventi
 
jQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesignerjQuery - 1 | WebMaster & WebDesigner
jQuery - 1 | WebMaster & WebDesigner
 
Programmare Google Maps con Javascript
Programmare Google Maps con JavascriptProgrammare Google Maps con Javascript
Programmare Google Maps con Javascript
 
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
 

Rich Ajax Web Interfaces in Jquery