{"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\/pt\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Hist\u00f3ria e legado do jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Hist\u00f3ria e legado do 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\">\u00e9 a biblioteca JavaScript mais popular<\/a><\/noindex> do mundo. A comunidade de desenvolvedores web a criou no final dos anos 2000, o que levou ao surgimento de um rico ecossistema de sites, plugins e frameworks que utilizam o jQuery em seus bastidores.<\/p>\n<p>Mas, nos \u00faltimos anos, seu status como principal ferramenta para desenvolvimento web tem vacilado. Vamos ver por que o jQuery se tornou popular e por que saiu de moda, al\u00e9m de em quais casos ainda \u00e9 sensato utiliz\u00e1-lo para criar sites modernos.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Uma breve hist\u00f3ria do jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) criou a primeira vers\u00e3o da biblioteca em 2005 e <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">publicou-a em 2006<\/a><\/noindex>- em um evento chamado BarCampNYC. No <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">site oficial do jQuery<\/a><\/noindex> o autor escreveu:<\/p>\n<blockquote><p>jQuery \u00e9 uma biblioteca JavaScript que se baseia no lema: Programar em JavaScript deve ser uma experi\u00eancia agrad\u00e1vel. O jQuery pega tarefas comuns e repetitivas, elimina toda a marca\u00e7\u00e3o desnecess\u00e1ria e as torna curtas, elegantes e compreens\u00edveis.<\/p><\/blockquote>\n<p>\nO jQuery possui duas principais qualidades. Primeiro, \u00e9 uma API conveniente para manipular p\u00e1ginas web. Em particular, fornece m\u00e9todos poderosos para sele\u00e7\u00e3o de elementos. \u00c9 poss\u00edvel selecionar n\u00e3o apenas por ID ou classes; o jQuery permite escrever express\u00f5es complexas, por exemplo, para selecionar elementos com base em suas rela\u00e7\u00f5es com outros elementos:<\/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>\nCom o tempo, o mecanismo de sele\u00e7\u00e3o se transformou em uma biblioteca separada chamada <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>A segunda qualidade da biblioteca era que ela abstra\u00eda as diferen\u00e7as entre navegadores. Naquela \u00e9poca, era dif\u00edcil escrever c\u00f3digo que funcionasse de forma confi\u00e1vel em todos os navegadores. <\/p>\n<p>A falta de padroniza\u00e7\u00e3o significava que os desenvolvedores precisavam considerar in\u00fameras diferen\u00e7as entre navegadores e casos limites. D\u00ea uma olhada no <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">c\u00f3digo-fonte inicial do jQuery<\/a><\/noindex> e procure por jQuery.browser. Aqui est\u00e1 um dos exemplos:<\/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>\nE gra\u00e7as ao jQuery, os desenvolvedores puderam transferir as preocupa\u00e7\u00f5es sobre todas essas armadilhas para as costas da equipe que desenvolvia a biblioteca.<\/p>\n<p>Mais tarde, o jQuery facilitou a implementa\u00e7\u00e3o de tecnologias mais complexas, como anima\u00e7\u00f5es e Ajax. A biblioteca acabou se tornando um padr\u00e3o para depend\u00eancia em sites. E hoje ela mant\u00e9m uma enorme parte da internet. O W3Techs estima que <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74% dos sites hoje utilizam jQuery<\/a><\/noindex>.<\/p>\n<p>O controle sobre o desenvolvimento do jQuery tamb\u00e9m se tornou mais formalizado. Em 2011, a equipe <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">criou o jQuery Board<\/a><\/noindex>. E em 2012, o jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> transformou-se na jQuery Foundation<\/a><\/noindex>.<\/p>\n<p>Em 2015, a jQuery Foundation se juntou \u00e0 Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> para criar a JS Foundation<\/a><\/noindex>, que ent\u00e3o se uniu \u00e0 Node.js Foundation em<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>-m para formar a<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> OpenJS Foundation<\/a><\/noindex>, no qual o jQuery foi um dos &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">projetos de destaque<\/a><\/noindex>.&#187;<\/p>\n<h2>Circunst\u00e2ncias em mudan\u00e7a<\/h2>\n<p>\nNo entanto, nos \u00faltimos anos, 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\">perdeu parte de sua popularidade<\/a><\/noindex>. O GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> removeu a biblioteca do frontend de seu site<\/a><\/noindex>. O Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">se livrar\u00e1 do jQuery<\/a><\/noindex>, porque essa \u00e9 sua \"<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">maior depend\u00eancia do cliente para JavaScript puro<\/a><\/noindex>\" (atualmente com um tamanho de 30 KB, minificado e compactado). Algumas tend\u00eancias no desenvolvimento web enfraqueceram a posi\u00e7\u00e3o do jQuery como uma ferramenta essencial.<\/p>\n<h3>Navegadores<\/h3>\n<p>\nPor v\u00e1rias raz\u00f5es, as diferen\u00e7as e limita\u00e7\u00f5es entre navegadores tornaram-se menos importantes. Primeiro, a padroniza\u00e7\u00e3o melhorou. Os principais desenvolvedores de navegadores (Apple, Google, Microsoft e Mozilla) est\u00e3o desenvolvendo em conjunto<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> padr\u00f5es da web<\/a><\/noindex> projeto<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Grupo de Trabalho sobre Tecnologia de Aplica\u00e7\u00f5es Web em Hipertexto<\/a><\/noindex>.<br \/>\nEmbora os navegadores ainda sejam diferentes em v\u00e1rios aspectos importantes, os vendedores pelo menos t\u00eam um meio de encontrar e criar uma base comum em vez de <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">guerra permanente<\/a><\/noindex> entre si. Consequentemente, as APIs dos navegadores ganharam novas funcionalidades. Por exemplo, <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> \u00e9 capaz de substituir as fun\u00e7\u00f5es Ajax do 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>\nM\u00e9todos <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> duplicam as ferramentas de sele\u00e7\u00e3o do 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>\nManipular classes de elementos agora pode ser feito com <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>\nest\u00e1 escrito:<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> Voc\u00ea Pode N\u00e3o Precisar do jQuery<\/a><\/noindex> listou ainda mais algumas situa\u00e7\u00f5es em que o c\u00f3digo jQuery pode ser substitu\u00eddo por c\u00f3digo nativo. Alguns desenvolvedores ainda usam jQuery, porque simplesmente n\u00e3o conhecem as novas APIs, mas quando descobrem, come\u00e7am a usar essa biblioteca com menos frequ\u00eancia.<\/p>\n<p>Usar recursos nativos pode melhorar o desempenho das p\u00e1ginas. Muitos <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">efeitos de anima\u00e7\u00e3o do jQuery<\/a><\/noindex> agora podem ser implementados<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> de forma muito mais eficiente<\/a><\/noindex> com CSS.<\/p>\n<p>A segunda raz\u00e3o \u00e9 que os navegadores est\u00e3o sendo atualizados muito mais rapidamente do que antes. A maioria deles aplica a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">\"estrat\u00e9gia sempre verde\" de atualiza\u00e7\u00e3o<\/a><\/noindex>, exceto o Apple Safari. Eles podem ser atualizados em segundo plano sem interven\u00e7\u00e3o do usu\u00e1rio e n\u00e3o est\u00e3o atrelados a atualiza\u00e7\u00f5es de sistema operacional.<\/p>\n<p>Isso significa que novos recursos e corre\u00e7\u00f5es de bugs dos navegadores s\u00e3o disseminados muito mais rapidamente, e os desenvolvedores n\u00e3o precisam esperar que a participa\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Can I Use<\/a><\/noindex> alcance um n\u00edvel aceit\u00e1vel. Eles podem usar novos recursos e APIs com confian\u00e7a, sem carregar o jQuery ou polifills.<\/p>\n<p>A terceira raz\u00e3o \u00e9 que o Internet Explorer est\u00e1 se aproximando de um estado de total obsolesc\u00eancia. O IE h\u00e1 muito tempo \u00e9 um problema para o desenvolvimento web em todo o mundo. Os bugs caracter\u00edsticos do IE eram amplamente disseminados e, como o IE dominou nos anos 2000 e n\u00e3o adotou uma estrat\u00e9gia de atualiza\u00e7\u00e3o cont\u00ednua, vers\u00f5es antigas ainda s\u00e3o frequentemente encontradas.<\/p>\n<p>Em 2016, a Microsoft acelerou a desativa\u00e7\u00e3o do IE, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">cessando o suporte a<\/a><\/noindex> vers\u00f5es 10 e anteriores, limitando-se a suportar o IE 11. E cada vez mais os desenvolvedores web podem se dar ao luxo de ignorar a compatibilidade com o IE.<\/p>\n<p>At\u00e9 mesmo o jQuery parou de suportar o IE 8 e anterior a partir de <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">vers\u00e3o 2.0<\/a><\/noindex>, lan\u00e7ada em 2013. E embora em alguns casos ainda seja necess\u00e1rio o suporte ao IE, como em sites antigos, essas situa\u00e7\u00f5es est\u00e3o se tornando cada vez mais raras.<\/p>\n<h3>Novos frameworks<\/h3>\n<p>\nDesde o surgimento do jQuery, muitos frameworks foram criados, incluindo os l\u00edderes modernos <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\/\">-projeto, utilizando<\/a><\/noindex>. Eles t\u00eam duas importantes vantagens em rela\u00e7\u00e3o ao jQuery.<\/p>\n<p>Primeiramente, eles permitem dividir facilmente a interface do usu\u00e1rio em componentes. Os frameworks s\u00e3o projetados para lidar com a renderiza\u00e7\u00e3o e atualiza\u00e7\u00e3o da p\u00e1gina. O jQuery, por outro lado, \u00e9 normalmente usado apenas para atualiza\u00e7\u00f5es, deixando ao servidor a tarefa de fornecer a p\u00e1gina inicial.<\/p>\n<p>Por outro lado, os componentes do React, Angular e Vue permitem uma estreita integra\u00e7\u00e3o entre HTML, c\u00f3digo e at\u00e9 CSS. Assim como dividimos a base de c\u00f3digo em muitas fun\u00e7\u00f5es e classes autossuficientes, a capacidade de dividir a interface em componentes reutiliz\u00e1veis facilita a constru\u00e7\u00e3o e manuten\u00e7\u00e3o de sites complexos.<\/p>\n<p>A segunda vantagem \u00e9 que os frameworks mais modernos seguem a abordagem declarativa, em que o desenvolvedor descreve como a interface deve parecer, enquanto a execu\u00e7\u00e3o de todas as mudan\u00e7as necess\u00e1rias para alcan\u00e7ar o desejado \u00e9 feita pelo framework. Essa abordagem contrasta com a abordagem imperativa, caracter\u00edstica do c\u00f3digo jQuery.<\/p>\n<p>No jQuery, voc\u00ea especifica explicitamente os passos para fazer alguma mudan\u00e7a. Em um framework declarativo, voc\u00ea diz: \"Com base nesses dados, a interface deve parecer assim\". Isso pode facilitar bastante a escrita de c\u00f3digo sem bugs.<\/p>\n<p>Os desenvolvedores adotaram novas abordagens para o desenvolvimento de sites, o que resultou em uma diminui\u00e7\u00e3o da popularidade do jQuery.<\/p>\n<h2>Quando usar jQuery?<\/h2>\n<p>\nEnt\u00e3o, quando devemos <i>deve <\/i>usar o jQuery?<\/p>\n<p>Se a complexidade do projeto aumentar, \u00e9 melhor come\u00e7ar com outra biblioteca ou framework que permita gerenciar a complexidade de forma mais significativa. Por exemplo, dividindo a interface em componentes. O uso do jQuery em tais sites inicialmente pode parecer aceit\u00e1vel, mas isso rapidamente levar\u00e1 \u00e0 cria\u00e7\u00e3o de c\u00f3digo espaguete, onde voc\u00ea n\u00e3o ter\u00e1 certeza de qual fragmento afeta qual parte da p\u00e1gina.<\/p>\n<p>J\u00e1 estive nessa situa\u00e7\u00e3o, onde qualquer tentativa de fazer uma altera\u00e7\u00e3o parece uma tarefa dif\u00edcil. N\u00e3o se pode ter certeza de que nada ser\u00e1 quebrado, porque os seletores do jQuery dependem da estrutura HTML criada pelo servidor.<\/p>\n<p>Do outro lado do espectro est\u00e3o os sites simples que precisam apenas de um pouco de interatividade ou conte\u00fado din\u00e2mico. Nesses casos, eu tamb\u00e9m n\u00e3o usaria jQuery por padr\u00e3o, pois com as APIs nativas, \u00e9 poss\u00edvel fazer muito mais.<\/p>\n<p>Mesmo que eu precise de algo mais potente, eu procuraria uma biblioteca especializada, como <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> para Ajax ou<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> para anima\u00e7\u00f5es. Isso ser\u00e1 mais simples do que carregar todo o jQuery por uma funcionalidade menor.<\/p>\n<p>Acredito que a melhor justificativa para usar jQuery \u00e9 que ela oferece uma funcionalidade abrangente para trabalhar no front-end do site. Em vez de estudar v\u00e1rias APIs nativas ou bibliotecas especializadas, voc\u00ea pode apenas ler a documenta\u00e7\u00e3o do jQuery e rapidamente se tornar\u00e1 produtivo.<\/p>\n<p>A abordagem imperativa n\u00e3o escala bem, mas \u00e9 mais f\u00e1cil de aprender do que a abordagem declarativa de outras bibliotecas. Para um site com recursos claramente limitados, \u00e9 melhor aplicar jQuery e trabalhar tranquilamente: a biblioteca n\u00e3o exige montagem ou compila\u00e7\u00e3o complexas.<\/p>\n<p>Al\u00e9m disso, o jQuery \u00e9 bom nos casos em que voc\u00ea tem certeza de que o site n\u00e3o se tornar\u00e1 mais complexo com o tempo e se voc\u00ea n\u00e3o se importa com a funcionalidade nativa, que, sem d\u00favida, exigir\u00e1 escrever mais c\u00f3digo do que o jQuery.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode aplicar essa biblioteca se precisar dar suporte a vers\u00f5es antigas do IE. Ent\u00e3o, o jQuery servir\u00e1 para voc\u00ea como nos tempos em que o IE era o navegador mais popular.<\/p>\n<h2>Uma perspectiva futura<\/h2>\n<p>\nO jQuery n\u00e3o vai desaparecer t\u00e3o cedo. Ela <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">est\u00e1 em ativo desenvolvimento<\/a><\/noindex>, e muitos desenvolvedores preferem usar sua API, mesmo com a disponibilidade de m\u00e9todos nativos. A biblioteca ajudou toda uma gera\u00e7\u00e3o de desenvolvedores a criar sites que funcionam em qualquer navegador. E embora em muitos aspectos tenha sido substitu\u00edda por novas bibliotecas, frameworks e paradigmas, jQuery desempenhou um papel imenso e positivo na cria\u00e7\u00e3o da web moderna.<\/p>\n<p>Se a funcionalidade do jQuery n\u00e3o mudar substancialmente, \u00e9 bem poss\u00edvel que, nos pr\u00f3ximos anos, o uso da biblioteca continue a diminuir lenta, mas constantemente. Novos sites geralmente s\u00e3o criados desde o in\u00edcio usando frameworks mais modernos, e os cen\u00e1rios adequados para usar jQuery est\u00e3o se tornando cada vez mais raros.<\/p>\n<p>Algumas pessoas n\u00e3o gostam da rapidez com que as ferramentas para desenvolvimento web se tornam obsoletas, mas para mim isso \u00e9 um sinal de progresso r\u00e1pido. O jQuery nos permitiu fazer muitas coisas melhor. O mesmo se aplica a seus sucessores.<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.3 - 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\/pt\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Hist\u00f3ria e legado do jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}