{"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\/ro\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Istoria \u0219i mo\u0219tenirea jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Istoria \u0219i mo\u0219tenirea 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\">este cea mai popular\u0103<\/a><\/noindex> bibliotec\u0103 JavaScript din lume. Comunitatea dezvoltatorilor web a creat-o la sf\u00e2r\u0219itul anilor 2000, ceea ce a dus la apari\u021bia unui ecosistem bogat de site-uri, plugin-uri \u0219i framework-uri care folosesc jQuery la baz\u0103.<\/p>\n<p>Dar \u00een ultimii ani, statutul s\u0103u de instrument principal pentru dezvoltarea web a \u00eenceput s\u0103 vacile. S\u0103 vedem de ce jQuery a devenit popular\u0103 \u0219i de ce a ie\u0219it din mod\u0103, dar \u0219i \u00een ce situa\u021bii este \u00eenc\u0103 oportun s\u0103 o folose\u0219ti pentru crearea de site-uri moderne.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>O istorie pe scurt a jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) a creat prima versiune a bibliotecii \u00een 2005, iar <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">a publicat-o \u00een 2006<\/a><\/noindex>-a, la un eveniment numit BarCampNYC. Pe <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">site-ul oficial jQuery,<\/a><\/noindex> autorul a scris:<\/p>\n<blockquote><p>jQuery este o bibliotec\u0103 JavaScript, bazat\u0103 pe deviza: Programarea \u00een JavaScript trebuie s\u0103 fie pl\u0103cut\u0103. jQuery preia sarcinile frecvente, repetitive, elimina toat\u0103 markup-ul inutil \u0219i le face scurte, elegante \u0219i clare.<\/p><\/blockquote>\n<p>\njQuery are dou\u0103 mari avantaje. Primul este API-ul convenabil pentru manipularea paginilor web. \u00cen special, ofer\u0103 metode puternice pentru selectarea elementelor. Po\u021bi alege nu doar dup\u0103 ID sau clase, jQuery permite scrierea de expresii complexe, de exemplu, pentru a selecta elemente pe baza rela\u021biilor lor cu alte elemente:<\/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>\nDe-a lungul timpului, mecanismul de selec\u021bie a evoluat \u00eentr-o bibliotec\u0103 separat\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>Al doilea avantaj al bibliotecii a fost c\u0103 a abstractizat diferen\u021bele dintre browsere. \u00cen acele vremuri, era dificil s\u0103 scrii cod care s\u0103 func\u021bioneze fiabil \u00een toate browserele. <\/p>\n<p>Lipsa standardiz\u0103rii \u00eensemna c\u0103 dezvoltatorii trebuiau s\u0103 \u021bin\u0103 cont de numeroasele diferen\u021be dintre browsere \u0219i cazurile limit\u0103. Uit\u0103-te la <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">acest cod surs\u0103 timpuriu al jQuery<\/a><\/noindex> \u0219i caut\u0103 dup\u0103 jQuery.browser. Iat\u0103 un exemplu:<\/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>\n\u0218i datorit\u0103 jQuery, dezvoltatorii puteau s\u0103-\u0219i transfere grijile legate de toate aceste capcane pe umerii echipei care dezvolta biblioteca.<\/p>\n<p>Ulterior, jQuery a facilitat introducerea unor tehnologii mai complexe, cum ar fi anima\u021biile \u0219i Ajax. Biblioteca a devenit, de fapt, o dependen\u021b\u0103 standard pentru site-urile web. \u0218i ast\u0103zi, asigur\u0103 func\u021bionarea unei p\u0103r\u021bi uria\u0219e din internet. W3Techs consider\u0103 c\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74 % dintre site-uri folosesc ast\u0103zi jQuery.<\/a><\/noindex>.<\/p>\n<p>Controlul asupra dezvolt\u0103rii jQuery a devenit, de asemenea, mai formalizat. \u00cen 2011, echipa <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">a creat jQuery Board<\/a><\/noindex>. Iar \u00een 2012, jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> s-a transformat \u00een jQuery Foundation.<\/a><\/noindex>.<\/p>\n<p>\u00cen 2015, jQuery Foundation s-a al\u0103turat Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> pentru a crea JS Foundation<\/a><\/noindex>, care apoi s-a unit cu Node.js Foundation \u00een<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>-ul pentru a crea<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> OpenJS Foundation<\/a><\/noindex>, \u00een cadrul c\u0103ruia jQuery a fost unul dintre &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">proiectele de frunte<\/a><\/noindex>.&#187;<\/p>\n<h2>Circumstan\u021bele schimb\u0103toare<\/h2>\n<p>\nTotu\u0219i, \u00een ultimii ani, 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\">a pierdut din popularitate<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> a eliminat biblioteca din frontendul site-ului s\u0103u<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">se va descurca f\u0103r\u0103 jQuery<\/a><\/noindex>, deoarece este \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">cea mai mare dependen\u021b\u0103 client pentru JavaScript obi\u0219nuit<\/a><\/noindex>\u201e (\u00een prezent av\u00e2nd o dimensiune de 30 KB, minificat\u0103 \u0219i comprimat\u0103). Vor exista c\u00e2teva tendin\u021be \u00een dezvoltarea web care au sl\u0103bit pozi\u021bia jQuery ca instrument necesar.<\/p>\n<h3>Butoane<\/h3>\n<p>\nDin mai multe motive, diferen\u021bele \u0219i limit\u0103rile browserelor au devenit mai pu\u021bin relevante. \u00cen primul r\u00e2nd, standardizarea s-a \u00eembun\u0103t\u0103\u021bit. Principalele companii care dezvolt\u0103 browsere (Apple, Google, Microsoft \u0219i Mozilla) colaboreaz\u0103 pentru a dezvolta<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> standardele web<\/a><\/noindex> \u00een cadrul<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nDe\u0219i browserele \u00eenc\u0103 difer\u0103 unele de altele \u00een mai multe aspecte importante, furnizorii au acum m\u0103suri pentru a g\u0103si \u0219i crea o baz\u0103 comun\u0103 \u00een loc de <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">o r\u0103zboi permanent<\/a><\/noindex> \u00eentre ei. Prin urmare, API-urile browserelor au c\u00e2\u0219tigat noi capacit\u0103\u021bi. De exemplu, <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> poate \u00eenlocui func\u021biile Ajax din 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>\nMetode <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> \u0219i<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> replic\u0103 instrumentele de selec\u021bie din 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>\nManipularea claselor elementelor se poate face acum cu ajutorul <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>\nse men\u021bioneaz\u0103:<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> S-ar putea s\u0103 nu ai nevoie de jQuery<\/a><\/noindex> sunt enumerate \u0219i alte situa\u021bii \u00een care codul jQuery poate fi \u00eenlocuit cu cod nativ. Unii dezvoltatori continu\u0103 s\u0103 foloseasc\u0103 jQuery, deoarece pur \u0219i simplu nu \u0219tiu despre noile API-uri, dar c\u00e2nd afl\u0103, \u00eencep s\u0103 foloseasc\u0103 mai rar aceast\u0103 bibliotec\u0103.<\/p>\n<p>Utilizarea func\u021bionalit\u0103\u021bilor native poate \u00eembun\u0103t\u0103\u021bi performan\u021ba paginilor. Multe <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">efecte de anima\u021bie din jQuery<\/a><\/noindex> pot fi acum implementate<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> mult mai eficient<\/a><\/noindex> folosind CSS.<\/p>\n<p>A doua cauz\u0103 este c\u0103 browserele se actualizeaz\u0103 mult mai repede dec\u00e2t \u00eenainte. \u00cen majoritatea lor se aplic\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">strategia de actualizare \u201eevergreen\u201d<\/a><\/noindex>, cu excep\u021bia Apple Safari. Ele pot primi actualiz\u0103ri \u00een fundal f\u0103r\u0103 a necesita interven\u021bia utilizatorului \u0219i nu sunt legate de actualiz\u0103rile sistemului de operare.<\/p>\n<p>Aceasta \u00eenseamn\u0103 c\u0103 noile capacit\u0103\u021bi ale browserelor \u0219i remedierile de bug-uri sunt distribuite mult mai repede, iar dezvoltatorii nu trebuie s\u0103 a\u0219tepte p\u00e2n\u0103 c\u00e2nd cota <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Can I Use<\/a><\/noindex> ajunge la un nivel acceptabil. Ei pot folosi cu \u00eencredere noile caracteristici \u0219i API-uri f\u0103r\u0103 a \u00eenc\u0103rca jQuery sau polyfill-uri.<\/p>\n<p>A treia cauz\u0103 este c\u0103 Internet Explorer se apropie de starea de desuetudine total\u0103. IE a fost de mult un co\u0219mar pentru dezvoltarea web \u00een \u00eentreaga lume. Bug-urile caracteristice au fost r\u0103sp\u00e2ndite pe scar\u0103 larg\u0103, iar din moment ce IE a dominat anii 2000 \u0219i nu a folosit o strategie de actualizare \u201eevergreen\u201d, versiunile sale vechi sunt \u00eenc\u0103 frecvent \u00eent\u00e2lnite.<\/p>\n<p>\u00cen 2016, Microsoft a accelerat procesul de retragere a IE din uz, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">oprind suportul pentru<\/a><\/noindex> versiunile zece \u0219i mai vechi, limit\u00e2ndu-se la sus\u021binerea IE 11. \u0218i din ce \u00een ce mai des, dezvoltatorii web \u00ee\u0219i pot permite luxul de a ignora compatibilitatea cu IE.<\/p>\n<p>Chiar \u0219i jQuery a \u00eencetat s\u0103 mai sus\u021bin\u0103 IE 8 \u0219i versiunile anterioare \u00eencep\u00e2nd cu <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">versiunea 2.0,<\/a><\/noindex>lansat\u0103 \u00een 2013. \u0218i, de\u0219i \u00een unele cazuri \u00eenc\u0103 este necesar suportul pentru IE, de exemplu pe site-uri vechi, aceste situa\u021bii se \u00eent\u00e2lnesc din ce \u00een ce mai rar.<\/p>\n<h3>Noi framework-uri<\/h3>\n<p>\nDe la apari\u021bia jQuery-ului, au fost create numeroase framework-uri, inclusiv lideri moderni <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> \u0219i <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">Vue<\/a><\/noindex>. Ele au dou\u0103 avantaje importante fa\u021b\u0103 de jQuery.<\/p>\n<p>\u00cen primul r\u00e2nd, permit separarea u\u0219oar\u0103 a interfe\u021bei utilizatorului \u00een componente. Framework-urile sunt proiectate s\u0103 se ocupe de redarea \u0219i actualizarea paginii. Iar jQuery este folosit de obicei doar pentru actualizare, l\u0103s\u00e2nd sarcina de a oferi pagina ini\u021bial\u0103 pe server.<\/p>\n<p>Pe de alt\u0103 parte, componentele React, Angular \u0219i Vue permit o leg\u0103tur\u0103 str\u00e2ns\u0103 \u00eentre HTML, cod \u0219i chiar CSS. A\u0219a cum separ\u0103m baza de cod \u00een func\u021bii \u0219i clase auto-suficiente, astfel \u0219i posibilitatea de a separa interfa\u021ba \u00een componente reutilizabile simplific\u0103 construirea \u0219i \u00eentre\u021binerea site-urilor complexe.<\/p>\n<p>Al doilea avantaj este c\u0103 framework-urile mai recente ader\u0103 la paradigma declarativ\u0103, \u00een cadrul c\u0103reia dezvoltatorul descrie cum ar trebui s\u0103 arate interfa\u021ba, iar realizarea tuturor modific\u0103rilor necesare pentru a atinge rezultatul dorit este l\u0103sat\u0103 \u00een seama framework-ului. Aceast\u0103 abordare contrazice abordarea imperativ\u0103, caracteristic\u0103 codului jQuery.<\/p>\n<p>\u00cen jQuery, specifici \u00een mod explicit pa\u0219ii pentru a face orice schimbare. Iar \u00eentr-un framework declarativ, spui: \u201eConform acestor date, interfa\u021ba ar trebui s\u0103 arate astfel\u201d. Acest lucru poate facilita semnificativ scrierea codului f\u0103r\u0103 erori.<\/p>\n<p>Dezvoltatorii au adoptat noi abord\u0103ri \u00een dezvoltarea site-urilor, motiv pentru care popularitatea jQuery a sc\u0103zut.<\/p>\n<h2>C\u00e2nd s\u0103 folose\u0219ti jQuery?<\/h2>\n<p>\nAtunci c\u00e2nd <i>urm\u0103re\u0219te <\/i>s\u0103 folose\u0219ti jQuery?<\/p>\n<p>Dac\u0103 complexitatea proiectului va cre\u0219te, este mai bine s\u0103 \u00eencepi cu o alt\u0103 bibliotec\u0103 sau cadru care permite gestionarea semnificativ\u0103 a complexit\u0103\u021bii. De exemplu, \u00eemp\u0103r\u021bind interfa\u021ba \u00een componente. Utilizarea jQuery pe astfel de site-uri, la \u00eenceput, poate p\u0103rea acceptabil\u0103, dar acest lucru va duce rapid la apari\u021bia unui cod de tip spaghetti, c\u00e2nd nu vei fi sigur ce fragment influen\u021beaz\u0103 ce parte a paginii.<\/p>\n<p>Am fost \u00een situa\u021bii asem\u0103n\u0103toare, la \u00eencercarea de a face orice modificare se simte ca o sarcin\u0103 dificil\u0103. Nu po\u021bi fi sigur c\u0103 nu vei strica nimic, pentru c\u0103 selectoarele jQuery depind de structura HTML creat\u0103 de server.<\/p>\n<p>La cel\u0103lalt cap\u0103t al scalei se afl\u0103 site-urile simple, care necesit\u0103 doar un pic de interactivitate sau con\u021binut dinamic. \u00cen astfel de cazuri, nu a\u0219 folosi jQuery \u00een mod implicit, deoarece cu API-urile native po\u021bi realiza mult mai mult.<\/p>\n<p>Chiar dac\u0103 \u00eemi va trebui ceva mai puternic, voi c\u0103uta o bibliotec\u0103 specializat\u0103, de exemplu, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> pentru Ajax sau<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> pentru anima\u021bii. Va fi mai simplu dec\u00e2t s\u0103 \u00eencarci \u00eentreaga jQuery pentru func\u021bionalitate mic\u0103.<\/p>\n<p>Cred c\u0103 cel mai bun motiv pentru a folosi jQuery este c\u0103 ofer\u0103 o func\u021bionalitate cuprinz\u0103toare pentru munca de front-end a site-ului. \u00cen loc s\u0103 \u00eenve\u021bi diverse API-uri native sau biblioteci specializate, po\u021bi citi doar documenta\u021bia jQuery \u0219i vei deveni productiv imediat.<\/p>\n<p>Abordarea imperativ\u0103 nu se scalabil\u0103 bine, dar este mai u\u0219or de st\u0103p\u00e2nit dec\u00e2t abordarea declarativ\u0103 a altor biblioteci. Pentru un site cu capabilit\u0103\u021bi evident limitate, este mai bine s\u0103 aplici jQuery \u0219i s\u0103 lucrezi lini\u0219tit: biblioteca nu necesit\u0103 o compilare sau asamblare complex\u0103.<\/p>\n<p>\u00cen plus, jQuery este bun\u0103 \u00een acele cazuri c\u00e2nd e\u0219ti sigur c\u0103 site-ul nu va deveni mai complex \u00een timp, \u0219i dac\u0103 nu \u00ee\u021bi pas\u0103 de func\u021bionalitatea nativ\u0103 care, f\u0103r\u0103 \u00eendoial\u0103, va necesita scrierea mai multor coduri dec\u00e2t jQuery.<\/p>\n<p>De asemenea, po\u021bi aplica aceast\u0103 bibliotec\u0103 dac\u0103 trebuie s\u0103 sus\u021bii versiunile vechi de IE. Atunci jQuery \u00ee\u021bi va fi de folos a\u0219a cum era pe vremuri, c\u00e2nd IE era cel mai popular browser.<\/p>\n<h2>Privind spre viitor<\/h2>\n<p>\njQuery nu va disp\u0103rea cur\u00e2nd. Ea <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">se dezvolt\u0103 activ<\/a><\/noindex>, \u0219i mul\u021bi dezvoltatori prefer\u0103 s\u0103 utilizeze API-ul s\u0103u, chiar \u0219i atunci c\u00e2nd metodele native sunt disponibile. Biblioteca a ajutat o \u00eentreag\u0103 genera\u021bie de dezvoltatori s\u0103 creeze site-uri care func\u021bioneaz\u0103 pe orice browser. \u0218i, de\u0219i \u00een multe privin\u021be a fost \u00eenlocuit\u0103 de noi biblioteci, cadre \u0219i paradigme, jQuery a jucat un rol enorm \u0219i pozitiv \u00een crearea webului modern.<\/p>\n<p>Dac\u0103 func\u021bionalitatea jQuery nu se va schimba semnificativ, este foarte probabil ca, \u00een urm\u0103torii c\u00e2\u021biva ani, utilizarea bibliotecii s\u0103 continue s\u0103 scad\u0103 lent, dar constant. Noile site-uri web sunt, de obicei, create de la bun \u00eenceput folosind cadre mai moderne, iar scenariile de utilizare adecvate pentru jQuery devin tot mai rare.<\/p>\n<p>Unii nu le place ritmul rapid al \u00eenvechirii instrumentelor pentru dezvoltarea web, dar pentru mine este o dovad\u0103 a progresului rapid. jQuery ne-a permis s\u0103 facem multe lucruri mai bine. Acela\u0219i lucru este adev\u0103rat \u0219i pentru succesorii s\u0103i.<br \/>\n<br \/>Sursa: <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.2.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\/ro\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Istoria \u0219i mo\u0219tenirea jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}