{"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\/de\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Die Geschichte und das Erbe von jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Die Geschichte und das Erbe von 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\">ist die beliebteste<\/a><\/noindex> JavaScript-Bibliothek der Welt. Die Community der Webentwickler gr\u00fcndete sie Ende der 2000er Jahre, was zur Entstehung eines reichen \u00d6kosystems von Websites, Plugins und Frameworks f\u00fchrte, die jQuery im Hintergrund nutzen.<\/p>\n<p>Doch in den letzten Jahren hat sich ihr Status als wichtigstes Werkzeug f\u00fcr die Webentwicklung gewandelt. Lassen Sie uns untersuchen, warum jQuery so popul\u00e4r wurde und warum sie aus der Mode kam, sowie in welchen F\u00e4llen es noch sinnvoll ist, sie f\u00fcr die Erstellung moderner Websites zu verwenden.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Eine kurze Geschichte von jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) schuf die erste Version der Bibliothek im Jahr 2005 und <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">ver\u00f6ffentlichte sie 2006<\/a><\/noindex>- auf einer Veranstaltung namens BarCampNYC. Auf der <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">offiziellen jQuery-Website<\/a><\/noindex> schrieb der Autor:<\/p>\n<blockquote><p>jQuery ist eine JavaScript-Bibliothek, die dem Motto folgt: Programmieren mit JavaScript sollte Spa\u00df machen. jQuery \u00fcbernimmt h\u00e4ufige, sich wiederholende Aufgaben, entfernt unn\u00f6tigem Markup und macht sie kurz, elegant und verst\u00e4ndlich.<\/p><\/blockquote>\n<p>\njQuery hat zwei Hauptvorteile. Erstens ist es eine benutzerfreundliche API zur Manipulation von Webseiten. Insbesondere bietet es leistungsstarke Methoden zur Auswahl von Elementen. Man kann nicht nur nach ID oder Klassen ausw\u00e4hlen, jQuery erm\u00f6glicht komplexe Ausdr\u00fccke, um Elemente basierend auf ihren Beziehungen zu anderen Elementen auszuw\u00e4hlen:<\/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>\nIm Laufe der Zeit entwickelte sich der Auswahlmechanismus zu einer eigenst\u00e4ndigen Bibliothek <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>Der zweite Vorteil der Bibliothek war, dass sie die Unterschiede zwischen den Browsern abstrahierte. In jenen Jahren war es schwierig, Code zu schreiben, der in allen Browsern zuverl\u00e4ssig funktionierte. <\/p>\n<p>Das Fehlen von Standards bedeutete, dass Entwickler zahlreiche Unterschiede zwischen Browsern und Grenzf\u00e4lle ber\u00fccksichtigen mussten. Sehen Sie sich <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">diesen fr\u00fchen jQuery-Quellcode an<\/a><\/noindex> und suchen Sie nach jQuery.browser. Hier ist ein Beispiel:<\/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>\nDank jQuery konnten Entwickler die Sorgen \u00fcber all diese T\u00fccken dem Team \u00fcberlassen, das die Bibliothek weiterentwickelte.<\/p>\n<p>Sp\u00e4ter erleichterte jQuery die Implementierung komplexerer Technologien wie Animationen und Ajax. Die Bibliothek wurde nahezu zur Standardabh\u00e4ngigkeit f\u00fcr Websites. Heute sorgt sie daf\u00fcr, dass ein gro\u00dfer Teil des Internets funktioniert. W3Techs sch\u00e4tzt, dass <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74 % der Websites jQuery heute verwenden<\/a><\/noindex>.<\/p>\n<p>Die Kontrolle \u00fcber die Entwicklung von jQuery wurde ebenfalls formalisierter. Im Jahr 2011 errichtete das Team <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">das jQuery Board<\/a><\/noindex>. Im Jahr 2012 wurde das jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> verwandelte sich in die jQuery Foundation<\/a><\/noindex>.<\/p>\n<p>Im Jahr 2015 schloss sich die jQuery Foundation der Dojo Foundation an,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> um die JS Foundation zu gr\u00fcnden<\/a><\/noindex>, die sich dann mit der Node.js Foundation zusammenschloss<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>- um die<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> OpenJS Foundation<\/a><\/noindex>, in dessen Rahmen jQuery eines der &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">bahnbrechenden Projekte<\/a><\/noindex>.&#187;<\/p>\n<h2>Ver\u00e4nderte Umst\u00e4nde<\/h2>\n<p>\nIn den letzten Jahren hat jedoch 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\">an Popularit\u00e4t eingeb\u00fc\u00dft<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> hat die Bibliothek aus dem Frontend seiner Website entfernt<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">wird jQuery loswerden<\/a><\/noindex>, weil es die \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">gr\u00f6\u00dfte clientseitige Abh\u00e4ngigkeit f\u00fcr normales JavaScript<\/a><\/noindex>\u201c (derzeit 30 KB gro\u00df, minifiziert und verpackt). Einige Trends in der Webentwicklung haben die Position von jQuery als unverzichtbares Tool geschw\u00e4cht.<\/p>\n<h3>Browser<\/h3>\n<p>\nAus verschiedenen Gr\u00fcnden sind die Unterschiede und Einschr\u00e4nkungen zwischen Browsern weniger wichtig geworden. Erstens hat sich die Standardsituation verbessert. Die Hauptentwickler der Browser (Apple, Google, Microsoft und Mozilla) arbeiten gemeinsam an<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> Webstandards<\/a><\/noindex> im Rahmen der<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nObwohl sich Browser in mehreren wichtigen Punkten noch unterscheiden, haben die Anbieter zumindest ein Mittel gefunden, eine gemeinsame Grundlage zu suchen und zu schaffen, anstatt <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">einen dauerhaften Krieg<\/a><\/noindex> ineinander zu f\u00fchren. Dementsprechend haben die Browser-APIs neue M\u00f6glichkeiten erlangt. Zum Beispiel ist <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> in der Lage, Ajax-Funktionen von jQuery zu ersetzen:<\/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>\nMethoden <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> und<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> duplizieren die Auswahlmethoden von 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>\nDas Manipulieren von Klassen von Elementen ist jetzt mit <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>\nAuf der Website<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> You Might Not Need jQuery<\/a><\/noindex> sind noch einige Situationen aufgef\u00fchrt, in denen jQuery-Code durch nativen Code ersetzt werden kann. Einige Entwickler halten immer noch an jQuery fest, weil sie schlichtweg nicht \u00fcber die neuen APIs informiert sind, aber sobald sie davon erfahren, verwenden sie diese Bibliothek seltener.<\/p>\n<p>Die Verwendung nativer Funktionen erm\u00f6glicht es, die Leistungsf\u00e4higkeit der Seiten zu steigern. Viele <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">Animationseffekte von jQuery<\/a><\/noindex> lassen sich jetzt<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> viel effizienter<\/a><\/noindex> mit CSS umsetzen.<\/p>\n<p>Ein zweiter Grund ist, dass Browser heute viel schneller aktualisiert werden als fr\u00fcher. In den meisten wird eine <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">\u201eevergreen\u201c Update-Strategie<\/a><\/noindex>verwendet, mit Ausnahme von Apple Safari. Sie k\u00f6nnen im Hintergrund aktualisiert werden, ohne dass der Nutzer aktiv werden muss, und sind nicht an Betriebssystem-Updates gebunden.<\/p>\n<p>Das bedeutet, dass neue Funktionen der Browser und Bugfixes viel schneller verbreitet werden, und die Entwickler m\u00fcssen nicht darauf warten, dass der Anteil <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Can I Use<\/a><\/noindex> ein akzeptables Niveau erreichen. Sie k\u00f6nnen neue Funktionen und APIs ohne das Laden von jQuery oder Polyfills sicher verwenden.<\/p>\n<p>Der dritte Grund liegt darin, dass Internet Explorer dem v\u00f6lligen Verfall nahe ist. IE war schon lange ein Fluch f\u00fcr die Webentwicklung weltweit. Die typischen Bugs waren weit verbreitet, und da IE in den 2000ern dominierte und keine \"Evergreen\"-Update-Strategie verfolgte, sind seine alten Versionen bis heute h\u00e4ufig anzutreffen.<\/p>\n<p>Im Jahr 2016 beschleunigte Microsoft das Ausscheiden von IE aus dem Betrieb, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">indem es die Unterst\u00fctzung f\u00fcr<\/a><\/noindex> die zehnte und fr\u00fchere Versionen einstellte und sich auf IE 11 beschr\u00e4nkte. Immer h\u00e4ufiger k\u00f6nnen sich Webentwickler die Freiheit leisten, die Kompatibilit\u00e4t mit IE zu ignorieren.<\/p>\n<p>Selbst jQuery hat die Unterst\u00fctzung f\u00fcr IE 8 und darunter ab <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">Version 2.0<\/a><\/noindex>, die 2013 ver\u00f6ffentlicht wurde, eingestellt. Und obwohl in einigen F\u00e4llen noch eine Unterst\u00fctzung f\u00fcr IE erforderlich ist, beispielsweise auf alten Websites, treten diese Situationen zunehmend seltener auf.<\/p>\n<h3>Neue Frameworks<\/h3>\n<p>\nSeit dem Erscheinen von jQuery wurden viele Frameworks entwickelt, darunter die modernen Marktf\u00fchrer <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">Vue<\/a><\/noindex>. Sie haben zwei wichtige Vorteile gegen\u00fcber jQuery.<\/p>\n<p>Erstens erm\u00f6glichen sie es, die Benutzeroberfl\u00e4che einfach in Komponenten zu unterteilen. Die Frameworks sind so konzipiert, dass sie das Rendering und die Aktualisierung der Seite \u00fcbernehmen. jQuery wird normalerweise nur zur Aktualisierung verwendet und \u00fcberl\u00e4sst dem Server die Aufgabe, die Anfangsseite bereitzustellen.<\/p>\n<p>Andererseits erm\u00f6glichen die Komponenten von React, Angular und Vue eine enge Verkn\u00fcpfung von HTML, Code und sogar CSS. So wie wir den Code in viele eigenst\u00e4ndige Funktionen und Klassen gliedern, vereinfacht die M\u00f6glichkeit, die Benutzeroberfl\u00e4che in wiederverwendbare Komponenten zu unterteilen, den Aufbau und die Wartung komplexer Websites.<\/p>\n<p>Der zweite Vorteil besteht darin, dass modernere Frameworks der deklarativen Paradigmen folgen, bei denen der Entwickler beschreibt, wie die Benutzeroberfl\u00e4che aussehen soll, w\u00e4hrend die notwendigen \u00c4nderungen zur Erreichung des gew\u00fcnschten Ziels vom Framework \u00fcbernommen werden. Dieser Ansatz steht im Gegensatz zum imperativen Ansatz, der f\u00fcr jQuery-Code charakteristisch ist.<\/p>\n<p>In jQuery geben Sie explizit die Schritte an, um \u00c4nderungen vorzunehmen. In einem deklarativen Framework sagen Sie: \u201eGem\u00e4\u00df diesen Daten sollte die Benutzeroberfl\u00e4che so aussehen\u201c. Dies kann das Schreiben von fehlerfreiem Code erheblich erleichtern.<\/p>\n<p>Die Entwickler haben neue Ans\u00e4tze zur Webseitenentwicklung \u00fcbernommen, weshalb die Popularit\u00e4t von jQuery gesunken ist.<\/p>\n<h2>Wann sollte man jQuery verwenden?<\/h2>\n<p>\nWann also <i>sollte <\/i>man jQuery verwenden?<\/p>\n<p>Wenn die Komplexit\u00e4t des Projekts steigt, ist es besser, mit einer anderen Bibliothek oder einem Framework zu beginnen, das es erm\u00f6glicht, die Komplexit\u00e4t sinnvoll zu verwalten. Zum Beispiel, indem man das Interface in Komponenten unterteilt. Der Einsatz von jQuery in solchen Webseiten kann anfangs akzeptabel erscheinen, f\u00fchrt jedoch schnell zu Spaghetticode, wenn man sich nicht sicher ist, welcher Teil auf welchen Teil der Seite Einfluss hat.<\/p>\n<p>Ich war schon in einer solchen Situation, bei dem Versuch, eine \u00c4nderung vorzunehmen, entsteht der Eindruck einer m\u00fchseligen Aufgabe. Man kann sich nicht sicher sein, dass man nichts kaputt macht, da die jQuery-Selektoren von der vom Server erzeugten HTML-Struktur abh\u00e4ngen.<\/p>\n<p>Am anderen Ende des Spektrums stehen einfache Webseiten, die nur ein wenig Interaktivit\u00e4t oder dynamische Inhalte ben\u00f6tigen. In solchen F\u00e4llen w\u00fcrde ich ebenfalls nicht standardm\u00e4\u00dfig jQuery verwenden, da mit nativen APIs viel mehr m\u00f6glich ist.<\/p>\n<p>Selbst wenn ich etwas M\u00e4chtigeres brauche, suche ich nach einer spezialisierten Bibliothek, wie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> f\u00fcr Ajax oder<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> f\u00fcr Animationen. Das ist einfacher, als die gesamte jQuery-Bibliothek f\u00fcr ein kleines St\u00fcck Funktionalit\u00e4t zu laden.<\/p>\n<p>Ich denke, das beste Argument f\u00fcr die Verwendung von jQuery ist, dass es eine umfassende Funktionalit\u00e4t f\u00fcr die Frontend-Arbeit einer Webseite bietet. Anstatt verschiedene native APIs oder spezialisierte Bibliotheken zu lernen, kann man sich einfach die jQuery-Dokumentation durchlesen und ist sofort produktiv.<\/p>\n<p>Der imperative Ansatz l\u00e4sst sich schlecht skalieren, ist aber einfacher zu erlernen als der deklarative Ansatz anderer Bibliotheken. F\u00fcr eine Website mit klar begrenzten M\u00f6glichkeiten ist es besser, jQuery anzuwenden und in Ruhe zu arbeiten: Die Bibliothek erfordert keine komplexe Zusammenstellung oder Kompilierung.<\/p>\n<p>Dar\u00fcber hinaus ist jQuery in F\u00e4llen n\u00fctzlich, in denen man sich sicher ist, dass die Seite im Laufe der Zeit nicht komplexer wird, und wenn einen die native Funktionalit\u00e4t nicht interessiert, die definitiv mehr Code erfordert als jQuery.<\/p>\n<p>Sie k\u00f6nnen diese Bibliothek auch verwenden, wenn Sie alte Versionen von IE unterst\u00fctzen m\u00fcssen. Dann wird jQuery Ihnen dienen wie in den Zeiten, als IE der beliebteste Browser war.<\/p>\n<h2>Ein Blick in die Zukunft<\/h2>\n<p>\njQuery wird noch lange nicht verschwinden. Es <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">entwickelt sich aktiv weiter<\/a><\/noindex>, und viele Entwickler ziehen es vor, ihre API zu nutzen, selbst wenn native Methoden verf\u00fcgbar sind. Die Bibliothek hat einer ganzen Generation von Entwicklern geholfen, Websites zu erstellen, die in allen Browsern funktionieren. Und obwohl sie in vielen Aspekten durch neue Bibliotheken, Frameworks und Paradigmen ersetzt wurde, hat jQuery eine enorme positive Rolle bei der Schaffung des modernen Web gespielt.<\/p>\n<p>Wenn sich die Funktionalit\u00e4t von jQuery nicht wesentlich \u00e4ndert, ist es sehr wahrscheinlich, dass die Nutzung der Bibliothek in den n\u00e4chsten Jahren weiterhin langsam, aber stetig abnehmen wird. Neue Websites werden in der Regel von Anfang an mit moderneren Frameworks erstellt, und die passenden Anwendungsszenarien f\u00fcr jQuery treten immer seltener auf.<\/p>\n<p>Einigen gef\u00e4llt die Intensit\u00e4t der Veraltung von Werkzeugen f\u00fcr die Webentwicklung nicht, aber f\u00fcr mich ist das ein Zeichen schnellen Fortschritts. jQuery hat uns erm\u00f6glicht, vieles besser zu machen. Das gilt auch f\u00fcr ihre Nachfolger.<br \/>\n<br \/>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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\udd47Die Geschichte und das Erbe von jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}