SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
jQuery e i suoi plugin Pasquale Puzio 26 Maggio 2011, Bologna
Agenda Fondamenti di jQuery jQuery DOM & CSS Ajax & Gestionedeglieventi Animazioni Plugin RICH Internet (Web) Application DEMO ‘All in one’
Fondamenti di jQuery jQuery è unalibreria/framework open-source per Javascriptconcepita per semplificarenotevolmente e cambiareradicalmenteilmodo di programmare in Javascript
Perché scegliere jQuery GRATIS Semplicità Piena compatibilità Cross-Browser:IE 6+, FireFox 2+, Safari 3+, Opera 9+, Chrome Documentazione Community di supporto Quantità enorme di plugin Integrazione con i principali IDE tra cui Visual Studio
Perché scegliere jQuery Perché è meglio di questo: function assegnaXMLHttpRequest() { var XHR = null; browserUtente= navigator.userAgent.toUpperCase(); If (typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object")    XHR = new XMLHttpRequest(); else if( window.ActiveXObject&& browserUtente.indexOf("MSIE 4") < 0 ) { If (browserUtente.indexOf("MSIE 5") < 0)     XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }
PerchèsceglierejQuery
PerchèsceglierejQuery
PerchèsceglierejQuery
Filosofia di jQuery Per accedere agli elementi del DOM si utilizzano i selettori CSS I selettori restituiscono un’istanza di jQuery sulla quale è possibile eseguire alcune azioni (manipolazione del DOM, CSS, gestione degli eventi, chiamate Ajax, ecc.)
Filosofia di jQuery Funzione principale: jQuery() Alias: $() Selezione Azione
DOM & CSS (Selettori) $("#ID") 					// id  $("div") 					// div tag name  $('[name*="value"]') 			// name contains  $('[name^="value"]') 			// name start  $(".myCssClass") 				// css class name  $("form input") 				// descendant(s)  $("#main > div") 				// child(s)  $("#main ~ div") 				// sibling(s)  $("input[name='radio']:checked") 	// radio checked  $("td:first-child a") 			//<a> in first td  $("input:disabled") 			// disabled input a[href^="http://"]			// external links
DOM & CSS (Manipolazione DOM) $(‘div#content’).html(‘<p>Contenuto</p>’); $(‘div#content’).append(‘<a>Link</a>’); $(‘div#content’).addClass(‘red’); $(‘div#content’).toggleClass(‘yellow’); $(‘div#contenta’).attr(‘href’,’http://www.jquery.org’); $(‘div#contenta’).css(‘font-weight’,’bold’); $(‘div#content p’).parent(); $(‘div#content p’).after(); $(‘div#contenta’).before();
DOM & CSS DEMO
Ajax e Gestione degli eventi $(document).ready(function() { alert(‘DOM is ready!’); }); $(‘a#button’).click(function() { 	$(this).css(‘color’,’green’); });
Ajax e Gestione degli eventi $(‘div#sidebar’).load(‘sidebar.php’); // metodi Ajax $.get(url, [data], callback); $.post(url, [data], callback); $.getJSON(url, params, callback); $.getScript(url, callback);
Ajax e Gestione degli eventi DEMO
Animazioni $(‘p#myParagraph’).show(); $(‘p#myParagraph’).hide(); $(‘p#myParagraph’).toggle(); $(‘p#myParagraph’).fadeIn(); $(‘p#myParagraph’).fadeOut(); // animazioni custom $(‘p#myParagraph’).animate(params);
Animazioni DEMO
Plugin Innumerevoli plugin per qualsiasi esigenza Animazioni (slideshow, carousel, ecc.) User Interface Rich Internet (Web) Application E’ facile sviluppare un plugin E’ facile utilizzare un plugin <script src=‘jquery.js’ type=‘text/javascript’></script> <script src=‘myplugin.js’ type=‘text/javascript’></script>
Plugin (Template) Sviluppato da Microsoft Permette a partire da strutture dati Javascript di generare codice HTML mediante l’uso di Template
Plugin (Template)
jQuery (Data Link) Anch’esso sviluppato da Microsoft Permette di creare un bind tra gli elementi di un form e un oggetto Javascript
Plugin (Data Link)
DEMO ‘ALL IN ONE’ DEMO $(‘#demo’).show()
Conclusioni Semplicità Completezza Flessibilità Supporto Potenzialità
Per iniziarea sviluppare Visual Studio Express 2010 o Visual Studio 2010 Professional (MSDN Academic Alliance): http://www.microsoft.com/express/Web/ Eclipse + plugin Aptana: http://www.aptana.com/
DOMANDE? Grazie per l’attenzione
Riferimenti jQuery (UI): http://www.jquery.com http://www.jqueryui.com MSDN Academic Alliance Unibo: http://msdn60.e-academy.com/elms/Storefront/Home.aspx?campus=dsdi_si Slide e materiale del seminario: http://www.pasqualepuzio.it/seminari/jquery-bologna
Contatti puzio@cs.unibo.it http://www.pasqualepuzio.it
RISORSE

Más contenido relacionado

La actualidad más candente

Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Datisegarva
 
PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)Asmir Mustafic
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerMatteo Magni
 
PHP Template Engine (introduzione)
PHP Template Engine (introduzione)PHP Template Engine (introduzione)
PHP Template Engine (introduzione)Asmir Mustafic
 
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
 
Javascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerJavascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerMatteo Magni
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cmsorestJump
 
Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Marco Albarelli
 

La actualidad más candente (9)

Progetto di Basi di Dati
Progetto di Basi di DatiProgetto di Basi di Dati
Progetto di Basi di Dati
 
Umarells
UmarellsUmarells
Umarells
 
PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)PHP 5.3 Attribute Template Language (Template Engine)
PHP 5.3 Attribute Template Language (Template Engine)
 
jQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesignerjQuery - 5 | WebMaster & WebDesigner
jQuery - 5 | WebMaster & WebDesigner
 
PHP Template Engine (introduzione)
PHP Template Engine (introduzione)PHP Template Engine (introduzione)
PHP Template Engine (introduzione)
 
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
 
Javascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesignerJavascript - 8 | WebMaster & WebDesigner
Javascript - 8 | WebMaster & WebDesigner
 
Php mysql e cms
Php mysql e cmsPhp mysql e cms
Php mysql e cms
 
Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)Autenticazione delle api con jwt e symfony (Italian)
Autenticazione delle api con jwt e symfony (Italian)
 

Similar a jQuery e i suoi plugin

Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQueryXeDotNet
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Davide Cerbo
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuerySandro Marcon
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chromeMarco Vito Moscaritolo
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Pietro Polsinelli
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)jampslide
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàskam
 
Introduzione a java script
Introduzione a java scriptIntroduzione a java script
Introduzione a java scriptMatteo Ceserani
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0firenze-gtug
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5JBug Italy
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoJava User Group Roma
 

Similar a jQuery e i suoi plugin (20)

Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)Non Conventional Android Programming (Italiano)
Non Conventional Android Programming (Italiano)
 
Introduzione a jQuery
Introduzione a jQueryIntroduzione a jQuery
Introduzione a jQuery
 
Oo Javascript
Oo JavascriptOo Javascript
Oo Javascript
 
Sviluppare estensioni per google chrome
Sviluppare estensioni per google chromeSviluppare estensioni per google chrome
Sviluppare estensioni per google chrome
 
Yagwto
YagwtoYagwto
Yagwto
 
eZ publish - Extension
eZ publish - ExtensioneZ publish - Extension
eZ publish - Extension
 
Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5Matteo Bicocchi - Introducing HTML5
Matteo Bicocchi - Introducing HTML5
 
Pycon Jungle
Pycon JunglePycon Jungle
Pycon Jungle
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)
 
Django
DjangoDjango
Django
 
Django: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalitàDjango: utilizzo avanzato e nuove funzionalità
Django: utilizzo avanzato e nuove funzionalità
 
Introduzione a java script
Introduzione a java scriptIntroduzione a java script
Introduzione a java script
 
Corso di php01
Corso di php01Corso di php01
Corso di php01
 
Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0Luca Masini: Introduzione a GWT 2.0
Luca Masini: Introduzione a GWT 2.0
 
Ajax
AjaxAjax
Ajax
 
Presentazione wicket
Presentazione wicketPresentazione wicket
Presentazione wicket
 
Java Advanced
Java AdvancedJava Advanced
Java Advanced
 
April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5April 2010 - Seam unifies JEE5
April 2010 - Seam unifies JEE5
 
Seam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano CiccazzoSeam unifies Java EE by Massimiliano Ciccazzo
Seam unifies Java EE by Massimiliano Ciccazzo
 

jQuery e i suoi plugin

  • 1. jQuery e i suoi plugin Pasquale Puzio 26 Maggio 2011, Bologna
  • 2. Agenda Fondamenti di jQuery jQuery DOM & CSS Ajax & Gestionedeglieventi Animazioni Plugin RICH Internet (Web) Application DEMO ‘All in one’
  • 3. Fondamenti di jQuery jQuery è unalibreria/framework open-source per Javascriptconcepita per semplificarenotevolmente e cambiareradicalmenteilmodo di programmare in Javascript
  • 4. Perché scegliere jQuery GRATIS Semplicità Piena compatibilità Cross-Browser:IE 6+, FireFox 2+, Safari 3+, Opera 9+, Chrome Documentazione Community di supporto Quantità enorme di plugin Integrazione con i principali IDE tra cui Visual Studio
  • 5. Perché scegliere jQuery Perché è meglio di questo: function assegnaXMLHttpRequest() { var XHR = null; browserUtente= navigator.userAgent.toUpperCase(); If (typeof(XMLHttpRequest) === "function" || typeof(XMLHttpRequest) === "object") XHR = new XMLHttpRequest(); else if( window.ActiveXObject&& browserUtente.indexOf("MSIE 4") < 0 ) { If (browserUtente.indexOf("MSIE 5") < 0) XHR = new ActiveXObject("Msxml2.XMLHTTP"); else XHR = new ActiveXObject("Microsoft.XMLHTTP"); } return XHR; }
  • 9. Filosofia di jQuery Per accedere agli elementi del DOM si utilizzano i selettori CSS I selettori restituiscono un’istanza di jQuery sulla quale è possibile eseguire alcune azioni (manipolazione del DOM, CSS, gestione degli eventi, chiamate Ajax, ecc.)
  • 10. Filosofia di jQuery Funzione principale: jQuery() Alias: $() Selezione Azione
  • 11. DOM & CSS (Selettori) $("#ID") // id $("div") // div tag name $('[name*="value"]') // name contains $('[name^="value"]') // name start $(".myCssClass") // css class name $("form input") // descendant(s) $("#main > div") // child(s) $("#main ~ div") // sibling(s) $("input[name='radio']:checked") // radio checked $("td:first-child a") //<a> in first td $("input:disabled") // disabled input a[href^="http://"] // external links
  • 12. DOM & CSS (Manipolazione DOM) $(‘div#content’).html(‘<p>Contenuto</p>’); $(‘div#content’).append(‘<a>Link</a>’); $(‘div#content’).addClass(‘red’); $(‘div#content’).toggleClass(‘yellow’); $(‘div#contenta’).attr(‘href’,’http://www.jquery.org’); $(‘div#contenta’).css(‘font-weight’,’bold’); $(‘div#content p’).parent(); $(‘div#content p’).after(); $(‘div#contenta’).before();
  • 13. DOM & CSS DEMO
  • 14. Ajax e Gestione degli eventi $(document).ready(function() { alert(‘DOM is ready!’); }); $(‘a#button’).click(function() { $(this).css(‘color’,’green’); });
  • 15. Ajax e Gestione degli eventi $(‘div#sidebar’).load(‘sidebar.php’); // metodi Ajax $.get(url, [data], callback); $.post(url, [data], callback); $.getJSON(url, params, callback); $.getScript(url, callback);
  • 16. Ajax e Gestione degli eventi DEMO
  • 17. Animazioni $(‘p#myParagraph’).show(); $(‘p#myParagraph’).hide(); $(‘p#myParagraph’).toggle(); $(‘p#myParagraph’).fadeIn(); $(‘p#myParagraph’).fadeOut(); // animazioni custom $(‘p#myParagraph’).animate(params);
  • 19. Plugin Innumerevoli plugin per qualsiasi esigenza Animazioni (slideshow, carousel, ecc.) User Interface Rich Internet (Web) Application E’ facile sviluppare un plugin E’ facile utilizzare un plugin <script src=‘jquery.js’ type=‘text/javascript’></script> <script src=‘myplugin.js’ type=‘text/javascript’></script>
  • 20. Plugin (Template) Sviluppato da Microsoft Permette a partire da strutture dati Javascript di generare codice HTML mediante l’uso di Template
  • 22. jQuery (Data Link) Anch’esso sviluppato da Microsoft Permette di creare un bind tra gli elementi di un form e un oggetto Javascript
  • 24. DEMO ‘ALL IN ONE’ DEMO $(‘#demo’).show()
  • 25. Conclusioni Semplicità Completezza Flessibilità Supporto Potenzialità
  • 26. Per iniziarea sviluppare Visual Studio Express 2010 o Visual Studio 2010 Professional (MSDN Academic Alliance): http://www.microsoft.com/express/Web/ Eclipse + plugin Aptana: http://www.aptana.com/
  • 27. DOMANDE? Grazie per l’attenzione
  • 28. Riferimenti jQuery (UI): http://www.jquery.com http://www.jqueryui.com MSDN Academic Alliance Unibo: http://msdn60.e-academy.com/elms/Storefront/Home.aspx?campus=dsdi_si Slide e materiale del seminario: http://www.pasqualepuzio.it/seminari/jquery-bologna