Technikwürze

Wer suchet, der findet!

S3 · E32 · #159
Reguläre Folge

Einführung

  • jQuery ist in Version 1.4 erschienen
  • Einen Einstieg in jQuery selbst gibt es in Folge 147
  • jQuery ist gewachsen: 23 KB ist die Version 1.4 nun groß und somit um 5 KB schwerer
  • Kompiliert wird jQuery jetzt mit dem Google Closure Compiler und nicht mehr mit dem YUI Compressor - das spart 13 %
  • Google liefert bereits jQuery 1.4 aus, wenn man lediglich Version 1 angegeben hat
  • Rund um den Release wird das Webevent 14 Days of jQuery veranstaltet
  • Ebenfalls mit dem Release wurde die neue jQuery Dokumentation veröffentlicht - und lässt nun auch Kommentare zu

Kompatibilität

Performance

  • Der Flaschenhals liegt oft anderswo
  • Trotz allem: Nach eigenen Angaben hat jQuery deutlich an Performance gewonnen
    • .addClass(), .removeClass(), .hasClass() und .html() sind jetzt 3x so performant
    • .remove() und .empty() sollen nun 4x so schnell verarbeitet werden
    • HTML Fragmente werden jetzt gecached
    • JSON kann mit der Version 1.4 nativ geparst werden

Funktionen

jQuery bringt in der Version 1.4 zahlreiche neu Funktionen.

Easy Setter Functions

  • Alle Setter-Methoden können nun eigene Funktionen enthalten
  • Vorteil: Return der Funktion kann direkt verarbeitet werden, muss nicht mehr in einem Zwischenschritt abgelegt werden

Core

  • .jQuery() erstellt komplexe DOM-Elemente. Damit können Elemente in einem Aufruf z.B. direkt mit Click-Events und weiteren Attributen erstellt werden
  • .eq() und .get() können jetzt auch mit negativen Werten umgehen und haben mit .first() und .last() komfortable Aliase erhalten
  • .toArray() erweitert .get() und stellt sicher, dass immer ein Array zurück gegeben wird

Ajax

  • Dank Etag-Support kann man ab sofort mit ifModified: trü überprüfen, ob das Dokument oder die Datei überhaupt seit dem letzten Aufruf geändert wurden
  • JSON und Script werden nun automatisch erkannt und muss nicht im dataType angegeben werden

Attributes

Events

  • .bind() unterstützt nun mehrere Events in einem Aufruf
  • .focusin() und .focusout() sind als Equivalent zu .focus() und .blur() hinzugekommen, unterstützten jedoch Event-Bubbling
  • Das neue .live() unterstützt nun (fast) alle Events, die sich mit .bind() ansprechen lassen (Ausnahmen: .focus(), .blur() und .ready()) und kann einem Context zugewiesen werden

Traversing

Manipulation

  • .unwrap() entfernt das umschließende Element, behält jedoch die Kinder
  • .detach() entfernt ein Element, behält jedoch die verknüpfen Events und kann so später neu verwendet werden

Effects

  • Mit .delay() lassen sich auf sehr komfortable Weise Animationen pausieren. Die Zeit wird einfach in Millisekunden angegeben
  • In Animationen können nun einzelnen Eigenschaften einzelne Effekte zugewiesen werden

Erwähnungen 25

Kommentare 8

  • jQuery 1.4 unterstützt bei @.live()@ statt focus nun @focusin@ und @focusout@. Somit könnt ihr durchaus dieses Event abgreifen.

  • Yeah, ein OM'ler aus Furtwangen in der Technikwürze. Glückwunsch und weiter so. Sendung wie immer Top, gibt einen guten Überblick über die Änderungen. Hier noch ein, wie ich finde, sehr gutes jQuery 1.4 Cheat Sheet: http://www.futurecolors.ru/jquery/

  • Sehr interessanter PodCast zum Thema - das macht "Hunger" auf mehr.

    Ich hatte vor Kurzem auf nettuts.com auch noch eine gute Übersicht zu den neuen Features gefunden -> http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/

  • cooler Podcast... kam bisher nicht dazu mir die Neuerungen der neusten Version anzuschauen bzw. sie zu vertiefen. Habt ihr gut erklärt. Bin gespannt auf weiteres...

  • Gratulation auch zu der, wie ich finde, wieder sehr gelungenen Sendung!
    Könnt ihr doch den "Neuen" (Christian Haller) mit ins Moderatoren-Team aufnehmen, er hat seine Erfahrungen gut rübergebracht.

    Macht bitte weiter so ;-).

  • Danke für das Fabrizieren dieser kleinen knackigen Folge. Kompliment auch an Neu-Moderator Christian Haller. Premiere ohne Kratzer überstanden, würde ich sagen!

    Was mir beim Hören in den Sinn kam zu ergänzen wäre folgendes:

    jQuery von Content Delivery Networks à la Google AJAX APIs einbinden ist nicht nur aus Gründen potentiell mangelnder Kontrolle nicht immer zu favorisieren, tatsächlich bieten CDNs gerade bei den JS-Frameworks in Sachen Ladebeschleunigung in der Praxis keinen Vorteil. Bestenfalls entsteht aktuell kein Nachteil. Das widerspricht jetzt zwar allen grauen CDN-Theorien, wird aber hier schön mit Zahlen untermauert:
    http://zoompf.com/blog/2010/01/should-you-use-javascript-library-cdns/
    Die Nachteile gelten aber im Speziellen für JavaScript, weil es die Eigenschaft hat das Laden aller anderen Ressourcen zu blockieren. CDNs machen allerdings durchaus Sinn für alle sonstigen statischen Bestandteile einer Seite, und spielt seine Stärken aus, wenn man seine Inhalte global ausliefert (also kein generelles Kontra).

    So, weiter geht's mit Musik...

  • Ich muss ganz ehrlich sagen:

    Technikwürze wird mir zu jQuery-lastig :(

    • Hallo Lukas,

      keine Angst, wir werde es nicht übertreiben. Jedoch ist jQuery inzwischen das wohl verbreitetste Framework und mit der neuen Version sind viele erklärungsbedürftige Features hinzu gekommen. Die kommenden Wochen stehen aber nun wieder Themen fernab von JavaScript an.

      Marcel

Kommentar hinterlassen

Mit dem Absenden stimmst du zu, dass deine eingegebenen Daten gespeichert und als Kommentar veröffentlicht werden dürfen (weitere Infos in der Datenschutzerklärung). Dein Beitrag spiegelt deine persönliche Meinung wider – bitte behandle andere respektvoll und halte dich an geltendes Recht. Rechtswidrige Inhalte behalten wir uns vor zu entfernen.