JQuery: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Inseritore (discussione | contributi)
Aggiornamento della voce
m Versioni: clean up, replaced: lingua=en-US → lingua=en
 
(13 versioni intermedie di 11 utenti non mostrate)
Riga 24:
'''jQuery''' è una [[Libreria (software)|libreria]] [[JavaScript]] per [[applicazione web|applicazioni web]], distribuita come [[software libero]], distribuito sotto i termini della [[Licenza MIT]].<ref name="jquery-mit" />. Nasce con l'obiettivo di semplificare la selezione, la manipolazione, la gestione degli eventi e l'animazione di elementi [[Document Object Model|DOM]] in pagine [[HTML]], nonché semplificare l'uso di funzionalità [[AJAX]], la gestione degli eventi e la manipolazione dei [[CSS]].
 
Le sue caratteristiche permettono agli sviluppatori [[JavaScript]] di astrarre le interazioni a basso livello con i contenuti delle pagine [[HTML]]. L'approccio di tipo modulare di jQuery consente la creazione semplificata di applicazioni web e contenuti dinamici versatili. Nel 2020, jQuery risulta la libreria JavaScript più utilizzata in Internet, ovvero è presente nel 74,4% dei primi 10 milioni di siti Internet più popolari secondo [https://w3techs.com/ W3Techs]<ref>{{Cita web|url=https://w3techs.com/technologies/overview/javascript_library|titolo=Usage Statistics and Market Share of JavaScript Libraries for Websites, February 2020|sito=w3techs.com|accesso=2020-02-28 febbraio 2020}}</ref>.
 
== Sviluppo ==
Pubblicato per la prima volta nel gennaio 2006 da [[John Resig]], è un progetto tuttora attivo e in evoluzione, gestito da un gruppo di sviluppatori guidato da Dave Methvin..<ref>{{Cita web|url=https://jquery.org/team/|titolo=The jQuery Team {{!}} jQuery Foundation|autore=JS Foundation- js.foundation|lingua=en-US|accesso=28 febbraio 2020-02-28}}</ref>.
 
La selezione degli oggetti DOM è basata sul motore chiamato [https://github.com/jquery/sizzle/wiki Sizzle], un progetto [[Open source|Open Source]] derivato da jQuery<ref>{{Cita web|url=https://blog.jquery.com/2009/01/14/jquery-13-and-the-jquery-foundation/|titolo=jQuery 1.3 and the jQuery Foundation {{!}} Official jQuery Blog|autore=jQuery Foundation- jquery.org|lingua=en-US|accesso=2020-02-28 febbraio 2020}}</ref>.
 
== API ==
Il [[framework]] fornisce metodi e funzioni per gestire al meglio aspetti grafici e strutturali come posizione di elementi, effetto di click su immagini, manipolazione del [[Document Object Model]] e altro ancora, mantenendo la compatibilità tra [[browser]] diversi e ''standardizzando'' gli oggetti messi a disposizione dall'[[Interprete (informatica)|interprete]] JavaScript del browser.
 
=== Core ===
Riga 46:
** Per ottenere e manipolare elementi nativi (funzioni get() e index())
* I metodi per creare e utilizzare liste e code (di oggetti e funzioni)
* I metodi per estendere il framework mediante [[Plugin (informatica)|plugin]] (funzione <code>extend()</code> e <code>fn.extend()</code>)
* I metodi per eseguire animazioni mediante le funzioni <code>show()</code>, <code>hide()</code> e <code>animate()</code>
 
Riga 100:
 
=== Effetti tridimensionali ===
Con JQuery si possono creare [[Visita virtuale|visite virtuali]]<ref>{{Cita web|url=https://ourcodeworld.com/articles/read/843/top-7-best-360-degrees-equirectangular-image-viewer-javascript-plugins|titolo=Top 7: Best 360° (Equirectangular) Image Viewer JavaScript Plugins|autore=Carlos Delgado|sito=Our Code World|data=2019-01-15 gennaio 2019|lingua=en-US|accesso=15 febbraio 2021-02-15}}</ref> e alcuni effetti che simulano il [[web 3D]]<ref>{{Cita web|url=https://bashooka.com/coding/cool-jquery-3d-effect-plugins/|titolo=16 Cool jQuery 3D Effect Plugins – Bashooka|data=15 settembre 2012-09-15|lingua=en-US|accesso=15 febbraio 2021-02-15}}</ref>.
[[File:Jquery-3d-gallery.png|alt=Galleria JQuery con effetto 3D|centro|miniatura|330x330px|Galleria JQuery con effetto 3D]]
 
Riga 134:
</syntaxhighlight>
 
Concatenazione del codice (''chainability''); quasi ogni funzione,metodo restituisce lo stesso oggetto jQuery dalladal quale è stata chiamatachiamato. Grazie a questo, le righe diil codice siè molto riduconopiù sensibilmenteleggibile.
<syntaxhighlight lang="javascript">
var links = $('a');
Riga 158:
La libreria non collide con altri framework quali [[Prototype JavaScript Framework|Prototype]], MooTools, o YUI, e può essere pertanto utilizzata assieme ad esse.
 
jQuery vanta una discreta varietà di plugin che ne estendono le funzionalità.<ref>{{Cita web|https://www.npmjs.com/browse/keyword/jquery-plugin|Archivio di plugin per jQuery|30 gennaio 2018|lingua=en}}</ref> Fra i plugin ufficiali vi è [[JQuery UI]] (''user interface'' per jQuery), nato per semplificare ed uniformare la gestione di un'interfaccia grafica composta da temi, [[Widget (informatica)|widget]], animazioni, transizioni, ecc.
 
== Versioni ==
Riga 212:
|1.7
|3 novembre 2011
|1.7.2 (21 marzo 2012 )
|92.6
|Nuove API per eventi: .on () e .off (), mentre le vecchie API sono ancora supportate.
Riga 218:
|1.8
|9 agosto 2012
|1.8.3 (13 novembre 2012 )
|91.4
|Sizzle Selector Engine riscritto, animazioni migliorate e flessibilità $ (html, props).
Riga 224:
|1.9
|15 gennaio 2013
|1.9.1 (4 febbraio 2013 )
|90.5
|Rimozione di interfacce deprecate e pulizia del codice
Riga 230:
|1.10
|24 maggio 2013
|1.10.2 (3 luglio 2013 )
|90.9
|Correzioni di bug incorporate e differenze segnalate dai cicli beta 1.9 e 2.0
Riga 236:
|1.11
|24 gennaio 2014
|1.11.3 (28 aprile 2015 )
|93.7
|
Riga 242:
|1.12
|8 gennaio 2016
|1.12.4 (20 maggio 2016 )
|94.9
|
Riga 248:
|2.0
|18 aprile 2013
|2.0.3 (3 luglio 2013 )
|81.7
|Eliminato il supporto di IE 6–8 per i miglioramenti delle prestazioni e la riduzione delle dimensioni dei file
Riga 254:
|2.1
|24 gennaio 2014
|2.1.4 (28 aprile 2015 )
|82.4
|
Riga 260:
|2.2
|8 gennaio 2016
|2.2.4 (20 maggio 2016 )
|83.6
|
|-
|3.0
|9 giugno 2016<ref>{{citeCita web|url=https://www.infoq.com/news/2016/06/jQuery-3|titletitolo=Long-awaited jQuery 3.0 Brings Slim Build|lastcognome=Chesters|firstnome=James|datedata=15 giugno 2016-06-15|publishereditore=infoq.com|access-dateaccesso=28 gennaio 2017-01-28}}</ref>
|3.0.0 (9 giugno 2016 )
|84.3
|Promesse/A + supporto per Deferreds, $ .ajax e $ .when, .data () compatibile con HTML5
Riga 272:
|3.1
|7 luglio 2016
|3.1.1 (23 settembre 2016 )
|84.7
|jQuery.readyException aggiunta, gli errori del gestore pronto ora non vengono silenziati
|-
|3.2
|16 marzo 2017<ref>{{citeCita web|titletitolo=jQuery 3.2.0 Is Out!|workopera=jQuery Blog|url=https://blog.jquery.com/2017/03/16/jquery-3-2-0-is-out/|access-dateaccesso=12 Marchmarzo 2018|datedata=16 Marchmarzo 2017}}</ref>
|3.2.1 (20 marzo 2017 )
|84.6
|Aggiunto supporto per il recupero dei contenuti degli elementi<code><template></code>e deprecazione di alcuni vecchi metodi.
|-
|3.3
|19 gennaio 2018<ref>{{citeCita web|titletitolo=jQuery 3.3.0 – A fragrant bouquet of deprecations and…is that a new feature?|workopera=jQuery Blog|url=https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/|access-dateaccesso=15 aprile 2019-04-15|datedata=19 gennaio 2018-01-19}}</ref>
|3.3.1 (20 gennaio 2018<ref>{{citeCita web|titletitolo=jQuery 3.3.1 – fixed dependencies in release tag|workopera=jQuery Blog|url=https://blog.jquery.com/2018/01/20/jquery-3-3-1-fixed-dependencies-in-release-tag/|access-dateaccesso=15 aprile 2019-04-15|datedata=20 gennaio 2018-01-20}}</ref>)
|84.9
|Deprecazione di vecchie funzioni, le funzioni che accettano le classi ora le supportano anche in formato array.
|-
|3.4
|10 aprile 2019<ref>{{citeCita web|titletitolo=jQuery 3.4.0 Released|workopera=jQuery Blog|url=https://blog.jquery.com/2019/04/10/jquery-3-4-0-released/|access-dateaccesso=15 aprile 2019-04-15|datedata=10 aprile 2018-04-10}}</ref>
|3.4.1 (1 maggio 2019<ref>{{citeCita web|url=https://blog.jquery.com/2019/05/01/jquery-3-4-1-triggering-focus-events-in-ie-and-finding-root-elements-in-ios-10/|titletitolo=jQuery 3.4.1: triggering focus events in IE and finding root elements in iOS 10|publishereditore=jQuery Foundation|workopera=jQuery Blog}}</ref>)
|86.1
|Miglioramenti delle prestazioni <code>nonce</code>e supporto <code>nomodule</code>, correzioni per elementi radio, una correzione minore per la sicurezza.
|-
|3.5
|10 aprile 2020<ref name="blog-350-release">{{citeCita web|titletitolo=jQuery 3.5.0 Released!|workopera=jQuery Blog|url=https://blog.jquery.com/2020/04/10/jquery-3-5-0-released/|access-dateaccesso=11 aprile 2020-04-11|datedata=10 aprile 2020-04-10}}</ref>
|3.5.1 (4 maggio 2020<ref>{{citeCita web|url=https://blog.jquery.com/2020/05/04/jquery-3-5-1-released-fixing-a-regression/|titletitolo=jQuery 3.5.1 Released: Fixing a Regression|publishereditore=jQuery Foundation|workopera=jQuery Blog}}</ref>)
|87.4
|Correzioni di sicurezza <code>.even()</code>e <code>.odd()</code>metodi <code>jQuery.trim</code>deprecati
|-
|3.6
|2 marzo 2021<ref>{{Cita web|url=https://blog.jquery.com/2021/03/02/jquery-3-6-0-released/|titolo=jQuery 3.6.0 Released! {{!}} Official jQuery Blog|autore=jQuery Foundation- jquery.org|lingua=en|accesso=2022-07-24}}</ref>
|3.6.0 (2 marzo 2021)
|90
|Correzioni di bug e miglioramenti
|}
 
Line 308 ⟶ 314:
Nel corso degli anni è nato Vanilla JS, un finto framework JavaScript, il cui scopo è promuovere l'uso di JavaScript senza framework.<ref>{{Cita web|http://vanilla-js.com/|Vanilla JS|30 gennaio 2018|lingua=en|citazione=The Vanilla JS team takes pride in the fact that it is the most lightweight framework available anywhere}}</ref>
 
Con la nascita di [[HTML5|HTML 5]] e [[CSS|CSS 3]] alcune possibilità come la creazione di gallerie d'immagini, effetti e menu a tendina sono fattibili senza l'utilizzo di JQuery e/o [[JQuery UI]] e/o [[AJAX|Ajax]], cosa che con HTML 4 e CSS 2 era spesso impossibile fare<ref name=":0">{{Cita web|url=https://blog.logrocket.com/5-things-you-can-do-with-css-instead-of-javascript/|titolo=5 things you can do with CSS instead of JavaScript|sito=LogRocket Blog|data=29 ottobre 2019-10-29|lingua=en-US|accesso=9 febbraio 2021-02-09}}</ref><ref>{{Cita web|url=https://freefrontend.com/css-gallery/|titolo=49 CSS Galleries|sito=Free Frontend|lingua=en-US|accesso=9 febbraio 2021-02-09}}</ref><ref>{{Cita web|url=https://livecode.com/demo/html5/calculator/|titolo=LiveCode - HTML5 - Calculator App Demo|sito=livecode.com|accesso=9 febbraio 2021-02-09}}</ref><ref>{{Cita web|url=https://www.andreapacchiarotti.it/archivio/menu-responsivo.html|titolo=Menù responsivo in HTML e CSS senza JavaScript e jQuery|autore=Andrea Pacchiarotti|sito=Andrea pacchiarotti|lingua=it|accesso=9 febbraio 2021-02-09}}</ref>.
 
== Esempi di uso JQuery ==
Line 337 ⟶ 343:
 
{{Controllo di autorità}}
 
{{Portale|informatica|software libero}}