{"id":38523,"date":"2019-10-31T22:24:17","date_gmt":"2019-10-31T19:24:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/istoriya-i-nasledie-jquery\/"},"modified":"2019-10-31T22:24:17","modified_gmt":"2019-10-31T19:24:17","slug":"istoriya-i-nasledie-jquery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Storia e patrimonio di jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Storia e patrimonio di jQuery\" src=\"\/wp-content\/uploads\/2019\/10\/beb7b33761181e6b478031cf1b85e6c6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\njQuery \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.builtwith.com\/javascript\/jQuery\">\u00e8 la libreria JavaScript pi\u00f9 popolare<\/a><\/noindex> del mondo. La comunit\u00e0 dei web developer l'ha creata all'inizio del 2000, dando vita a un ricco ecosistema di siti, plugin e framework che utilizzano jQuery sotto il cofano.<\/p>\n<p>Negli ultimi anni, per\u00f2, il suo status di principale strumento per lo sviluppo web \u00e8 diminuito. Vediamo perch\u00e9 jQuery \u00e8 diventata popolare e perch\u00e9 \u00e8 uscita di moda, oltre ai casi in cui \u00e8 ancora utile utilizzarla per creare siti web moderni.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Breve storia di jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) ha creato la prima versione della libreria nel 2005 e l'ha <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">pubblicata nel 2006<\/a><\/noindex>- durante un evento chiamato BarCampNYC. Sul <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">sito ufficiale di jQuery<\/a><\/noindex> l'autore ha scritto:<\/p>\n<blockquote><p>jQuery \u00e8 una libreria JavaScript il cui motto \u00e8: Programmare in JavaScript deve essere piacevole. jQuery prende compiti comuni e ripetitivi, estrae tutto il codice ridondante e li rende brevi, eleganti e comprensibili.<\/p><\/blockquote>\n<p>\njQuery ha due principali vantaggi. Il primo \u00e8 una API conveniente per manipolare le pagine web. In particolare, fornisce metodi potenti per selezionare gli elementi. Non si possono selezionare solo per ID o classi, jQuery consente di scrivere espressioni complesse, ad esempio, per selezionare elementi in base alle loro relazioni con altri elementi:<\/p>\n<pre><code class=\"javascript\">\/\/ Select every item within the list of people within the contacts element\n$('#contacts ul.people li');<\/code><\/pre>\n<p>\nCon il tempo, il meccanismo di selezione si \u00e8 trasformato in una libreria a s\u00e9 stante <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>Il secondo vantaggio della libreria era che astraeva le differenze tra i browser. All'epoca era difficile scrivere codice che funzionasse in modo affidabile su tutti i browser. <\/p>\n<p>La mancanza di standardizzazione significava che gli sviluppatori dovevano tenere conto delle numerose differenze tra i browser e dei casi limite. Dai un'occhiata a <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">questo codice sorgente iniziale di jQuery<\/a><\/noindex> e cerca jQuery.browser. Ecco uno dei tanti esempi:<\/p>\n<pre><code class=\"javascript\">\/\/ If Mozilla is used\nif ( jQuery.browser == \"mozilla\" || jQuery.browser == \"opera\" ) {\n        \/\/ Use the handy event callback\n        jQuery.event.add( document, \"DOMContentLoaded\", jQuery.ready );\n\n\/\/ If IE is used, use the excellent hack by Matthias Miller\n\/\/ http:\/\/www.outofhanwell.com\/blog\/index.php?title=the_window_onload_problem_revisited\n} else if ( jQuery.browser == \"msie\" ) {\n\n        \/\/ Only works if you document.write() it\n        document.write(\"&lt;scr\" + \"ipt id=__ie_init defer=true \" + \n                \"src=javascript:void(0)&gt;&lt;\/script&gt;\");\n\n        \/\/ Use the defer script hack\n        var script = document.getElementById(\"__ie_init\");\n        script.onreadystatechange = function() {\n                if ( this.readyState == \"complete\" )\n                        jQuery.ready();\n        };\n\n        \/\/ Clear from memory\n        script = null;\n\n\/\/ If Safari  is used\n} else if ( jQuery.browser == \"safari\" ) {\n        \/\/ Continually check to see if the document.readyState is valid\n        jQuery.safariTimer = setInterval(function(){\n                \/\/ loaded and complete are both valid states\n                if ( document.readyState == \"loaded\" || \n                        document.readyState == \"complete\" ) {\n\n                        \/\/ If either one are found, remove the timer\n                        clearInterval( jQuery.safariTimer );\n                        jQuery.safariTimer = null;\n\n                        \/\/ and execute any waiting functions\n                        jQuery.ready();\n                }\n        }, 10);\n}<\/code><\/pre>\n<p>\nGrazie a jQuery, gli sviluppatori potevano trasferire le preoccupazioni riguardo a tutte queste insidie sulle spalle del team che sviluppava la libreria.<\/p>\n<p>In seguito, jQuery ha semplificato l'implementazione di tecnologie pi\u00f9 complesse, come le animazioni e Ajax. La libreria \u00e8 diventata di fatto un dipendente standard per i siti web. Oggi supporta una grande parte di Internet. W3Techs stima che <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">il 74% dei siti oggi utilizzi jQuery<\/a><\/noindex>.<\/p>\n<p>Il controllo sullo sviluppo di jQuery \u00e8 diventato anche pi\u00f9 formalizzato. Nel 2011, il team <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">ha creato il jQuery Board<\/a><\/noindex>. E nel 2012, il jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> si \u00e8 trasformato nella jQuery Foundation<\/a><\/noindex>.<\/p>\n<p>Nel 2015, la jQuery Foundation si \u00e8 unita alla Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> per creare la JS Foundation<\/a><\/noindex>, che poi si \u00e8 unita alla Node.js Foundation per<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>- creare<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> l'OpenJS Foundation<\/a><\/noindex>, nell'ambito del quale jQuery \u00e8 stata una delle &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">progetti pionieristici<\/a><\/noindex>.&#187;<\/p>\n<h2>Circostanze mutate<\/h2>\n<p>\nTuttavia, negli ultimi anni jQuery <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.google.com\/trends\/explore\/TIMESERIES\/1564319400?hl=en-US&amp;tz=240&amp;date=all&amp;geo=US&amp;q=jquery&amp;sni=3\">ha perso parte della sua popolarit\u00e0<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> ha rimosso la libreria dal frontend del suo sito<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">si liberer\u00e0 di jQuery<\/a><\/noindex>, perch\u00e9 \u00e8 il suo \"<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">principale dipendenza client per JavaScript standard<\/a><\/noindex>\" (attualmente di 30 KB, minificato e impacchettato). Diverse tendenze nello sviluppo web hanno indebolito la posizione di jQuery come strumento indispensabile.<\/p>\n<h3>Browser<\/h3>\n<p>\nPer vari motivi, le differenze e i limiti dei browser sono diventati meno rilevanti. In primo luogo, \u00e8 migliorata la standardizzazione. I principali sviluppatori di browser (Apple, Google, Microsoft e Mozilla) stanno collaborando per sviluppare<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> gli standard web<\/a><\/noindex> nell'ambito di<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nAnche se i browser differiscono ancora in diversi aspetti importanti, i fornitori hanno almeno uno strumento per trovare e creare una base comune invece di <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">una guerra permanente<\/a><\/noindex> tra di loro. Di conseguenza, le API dei browser hanno acquisito nuove possibilit\u00e0. Ad esempio, <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> \u00e8 in grado di sostituire le funzioni Ajax di jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$.getJSON('https:\/\/api.com\/songs.json')\n    .done(function (songs) {\n        console.log(songs);\n    })\n\n\/\/ native\nfetch('https:\/\/api.com\/songs.json')\n    .then(function (response) {\n        return response.json();\n    })\n    .then(function (songs) {\n        console.log(songs);\n    });<\/code><\/pre>\n<p>\nMetodi <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> e<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> duplicano i metodi di selezione di jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\nconst fooDivs = $('.foo div');\n\n\/\/ native\nconst fooDivs = document.querySelectorAll('.foo div');<\/code><\/pre>\n<p>\nOra \u00e8 possibile manipolare le classi degli elementi con <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Element\/classList\">classList<\/a><\/noindex>:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$('#warning').toggleClass('visible');\n\n\/\/ native\ndocument.querySelector('#warning').classList.toggle('visible');<\/code><\/pre>\n<p>\nSul sito<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> Potresti non avere bisogno di jQuery<\/a><\/noindex> sono state indicate altre situazioni in cui il codice jQuery pu\u00f2 essere sostituito da codice nativo. Alcuni sviluppatori continuano ad affidarsi a jQuery perch\u00e9 semplicemente non conoscono le nuove API, ma quando le scoprono, iniziano a usarla meno.<\/p>\n<p>Utilizzare le funzionalit\u00e0 native permette di migliorare le prestazioni delle pagine. Molti <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">effetti di animazione di jQuery<\/a><\/noindex> possono ora essere implementati<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> in modo molto pi\u00f9 efficiente<\/a><\/noindex> attraverso il CSS.<\/p>\n<p>La seconda ragione \u00e8 che i browser vengono aggiornati molto pi\u00f9 rapidamente rispetto al passato. La maggior parte di essi adotta <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">una strategia di aggiornamento \"evergreen\"<\/a><\/noindex>, ad eccezione di Apple Safari. Possono aggiornarsi in background senza intervento dell'utente e non sono legati agli aggiornamenti del sistema operativo.<\/p>\n<p>Questo significa che le nuove funzionalit\u00e0 dei browser e le correzioni dei bug vengono diffuse molto pi\u00f9 rapidamente, e gli sviluppatori non devono aspettare che la quota di <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Can I Use<\/a><\/noindex> raggiunga livelli accettabili. Possono utilizzare con sicurezza nuove funzionalit\u00e0 e API senza dover caricare jQuery o polyfill.<\/p>\n<p>Il terzo motivo \u00e8 che Internet Explorer sta gradualmente diventando obsoleto. IE \u00e8 da tempo un incubo per gli sviluppatori web in tutto il mondo. I bug caratteristici erano molto diffusi e, poich\u00e9 IE ha dominato nel 2000 e non ha utilizzato una strategia di aggiornamento \u201cevergreen\u201d, \u00e8 ancora comune imbattersi nelle sue vecchie versioni.<\/p>\n<p>Nel 2016, Microsoft ha accelerato il ritiro di IE dal mercato, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">sospendendo il supporto<\/a><\/noindex> per la decima versione e le precedenti, limitandosi a supportare IE 11. Sempre pi\u00f9 spesso, gli sviluppatori web possono permettersi il lusso di ignorare la compatibilit\u00e0 con IE.<\/p>\n<p>Anche jQuery ha smesso di supportare IE 8 e versioni inferiori a partire da <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">versione 2.0<\/a><\/noindex>, rilasciata nel 2013. E sebbene in alcuni casi il supporto a IE sia ancora necessario, ad esempio sui siti web datati, queste situazioni stanno diventando sempre pi\u00f9 rare.<\/p>\n<h3>Nuovi framework<\/h3>\n<p>\nDalla nascita di jQuery, sono stati creati numerosi framework, tra cui i moderni leader <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">Vue<\/a><\/noindex>. Questi presentano due vantaggi significativi rispetto a jQuery.<\/p>\n<p>In primo luogo, consentono di suddividere facilmente l'interfaccia utente in componenti. I framework sono progettati per gestire il rendering e l'aggiornamento della pagina. Al contrario, jQuery viene solitamente utilizzato solo per l'aggiornamento, demandando al server il compito di fornire la pagina iniziale.<\/p>\n<p>D'altra parte, i componenti di React, Angular e Vue permettono di legare strettamente HTML, codice e persino CSS. Come suddividiamo la base di codice in molte funzioni e classi autonome, cos\u00ec la possibilit\u00e0 di dividere l'interfaccia in componenti riutilizzabili semplifica la costruzione e la manutenzione di siti complessi.<\/p>\n<p>Il secondo vantaggio \u00e8 che i framework pi\u00f9 recenti seguono la paridima dichiarativa, in cui lo sviluppatore descrive come dovrebbe apparire l'interfaccia e il framework si occupa di apportare tutte le modifiche necessarie per raggiungere il risultato desiderato. Questo approccio contrasta con l'approccio imperativo, tipico del codice jQuery.<\/p>\n<p>In jQuery si devono specificare esplicitamente i passi per apportare modifiche. In un framework dichiarativo, si dice: \"In base a questi dati, l'interfaccia deve apparire in questo modo\". Questo pu\u00f2 semplificare notevolmente la scrittura di codice privo di bug.<\/p>\n<p>Gli sviluppatori hanno adottato nuovi approcci nello sviluppo dei siti, il che ha ridotto la popolarit\u00e0 di jQuery.<\/p>\n<h2>Quando utilizzare jQuery?<\/h2>\n<p>\nQuando si usa <i>si deve <\/i>jQuery?<\/p>\n<p>Se la complessit\u00e0 del progetto aumenta, \u00e8 meglio iniziare con un'altra libreria o framework che consenta di gestire razionalmente la complessit\u00e0. Ad esempio, suddividere l'interfaccia in componenti. L'uso di jQuery in tali siti inizialmente pu\u00f2 sembrare accettabile, ma porter\u00e0 rapidamente alla creazione di codice spaghetti, dove non si sar\u00e0 certi di quale frammento influisca su quale parte della pagina.<\/p>\n<p>Mi sono trovato in situazioni in cui, cercando di apportare qualsiasi modifica, si ha la sensazione di affrontare un compito difficile. Non puoi essere sicuro di non rompere nulla, perch\u00e9 i selettori jQuery dipendono dalla struttura HTML generata dal server.<\/p>\n<p>Dall'altra parte dello spettro ci sono siti semplici che richiedono solo un po' di interattivit\u00e0 o contenuti dinamici. In questi casi anche io non userei jQuery come impostazione predefinita, perch\u00e9 con le API native si possono ottenere risultati molto migliori.<\/p>\n<p>Anche se avessi bisogno di qualcosa di pi\u00f9 potente, cercherei librerie specializzate, per esempio, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> per Ajax o<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> per animazioni. Sar\u00e0 pi\u00f9 semplice che caricare l'intera jQuery per una funzionalit\u00e0 ridotta.<\/p>\n<p>Penso che la migliore giustificazione per usare jQuery sia che offre funzionalit\u00e0 complete per il lavoro front-end di un sito. Invece di studiare diverse API native o librerie specializzate, puoi semplicemente leggere la documentazione di jQuery e diventare subito produttivo.<\/p>\n<p>L'approccio imperativo non scala bene, ma \u00e8 pi\u00f9 facile da apprendere rispetto all'approccio dichiarativo di altre librerie. Per un sito con funzionalit\u00e0 chiaramente limitate, \u00e8 meglio usare jQuery e lavorare serenamente: la libreria non richiede una compilazione complessa.<\/p>\n<p>Inoltre, jQuery \u00e8 utile nei casi in cui sei certo che il sito non si complicher\u00e0 nel tempo e se non ti preoccupa la funzionalit\u00e0 nativa, che sicuramente richiederebbe pi\u00f9 codice rispetto a jQuery.<\/p>\n<p>Puoi anche usare questa libreria se hai bisogno di supporto per versioni precedenti di IE. Allora jQuery ti sar\u00e0 utile come nei tempi in cui IE era il browser pi\u00f9 popolare.<\/p>\n<h2>Uno sguardo al futuro<\/h2>\n<p>\njQuery non scomparir\u00e0 presto. Essa <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">si sta sviluppando attivamente<\/a><\/noindex>, e molti sviluppatori preferiscono utilizzare la sua API, anche quando sono disponibili metodi nativi. La libreria ha aiutato un'intera generazione di sviluppatori a creare siti web funzionanti su qualsiasi browser. E sebbene molte sue funzioni siano state sostituite da nuove librerie, framework e paradigmi, jQuery ha giocato un enorme ruolo positivo nella creazione del web moderno.<\/p>\n<p>Se la funzionalit\u00e0 di jQuery non cambier\u00e0 sostanzialmente, \u00e8 probabile che nei prossimi anni l'uso della libreria continuer\u00e0 a diminuire lentamente ma inesorabilmente. I nuovi siti web sono generalmente costruiti sin dall'inizio utilizzando framework pi\u00f9 moderni, e gli scenari di utilizzo appropriati per jQuery stanno diventando sempre pi\u00f9 rari.<\/p>\n<p>A qualcuno non piace l'intensit\u00e0 con cui gli strumenti per lo sviluppo web diventano obsoleti, ma per me \u00e8 una testimonianza di un progresso rapido. jQuery ci ha permesso di fare molte cose meglio. Lo stesso vale per i suoi successori.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/468169\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>jQuery \u2014 \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 JavaScript-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430. \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u043b\u043e \u0435\u0451 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044e \u0431\u043e\u0433\u0430\u0442\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u0439\u0442\u043e\u0432, \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c jQuery. \u041d\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0435\u0451 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0448\u0430\u0442\u043d\u0443\u043b\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 jQuery \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"jQuery \u2014\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"jQuery \u2014\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Storia e eredit\u00e0 di jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster","og:description":"jQuery \u2014","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/istoriya-i-nasledie-jquery","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:24:17+00:00","article:modified_time":"2019-10-31T19:24:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38523","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:22:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:07:40","updated":"2026-01-23 22:22:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}