jQuerified Mit Karl Swedberg

Ich hatte kürzlich das große Vergnügen, mit Karl Swedberg über Javascript und Webentwicklung im Allgemeinen zu chatten. Karl ist Autor mehrerer Javascript-Bücher wie Learning jQuery und jQuery Reference Guide. Begleiten Sie uns, während wir einen Blick in den Geist eines bescheidenen und talentierten Entwicklers werfen.

Für diejenigen von uns, die mit Ihnen und Ihrer Arbeit möglicherweise nicht vertraut sind, erzählen Sie uns mehr über sich und Ihren Lebensunterhalt

Ich bin (hauptsächlich Front-End) Webentwickler bei einer kleinen Agentur, Fusionary Media, in Grand Rapids, Michigan. Mit 41 bin ich wahrscheinlich älter als die meisten Webentwickler, fühle mich aber meistens immer noch wie ein Kind. Außerhalb der Arbeit beschäftige ich mich sehr mit jQuery. Ich bin im jQuery-Projektteam und schreibe darüber, schule andere, wie man es benutzt, und spreche auf Konferenzen darüber.

Wie und warum haben Sie sich zuerst mit Webentwicklung befasst??

Meine allererste Beschäftigung mit der Webentwicklung war 1995, als ich eine einfache Website für ein Kaffeehaus baute, das ich besaß. Danach habe ich mich hier und da mit Web-Material beschäftigt, weil ich wirklich einen Kick bekommen habe, aber ich habe erst vor etwa vier Jahren angefangen, es als Job zu erledigen.

Was sind einige Ihrer Hobbys, wenn Sie nicht arbeiten?

Ich lese und renne gerne mit meiner Familie. Bis vor einem Jahr hatte ich ungefähr sieben Jahre lang Karate gelernt, und ich überlege mir, es noch einmal zu beginnen. Ich mag es auch zu fotografieren, neue Musik zu entdecken und mit meinen Freunden unterwegs zu sein.

Erzählen Sie uns mehr über EnglishRules.com und wie die Website begann.

Es ist ein persönlicher Blog von mir, den ich in letzter Zeit vernachlässigt habe. Ich kann mich nicht genau erinnern, wann ich angefangen habe - 2000? 2001 - Die Idee war jedoch, einige Informationen und Links für meine Schüler bereitzustellen. Ich unterrichtete damals High School English. Seitdem ist es ein Mischmasch meiner flüchtigen Interessen geworden. Im Jahr 2003 habe ich Movable Type geladen und mit dem Bloggen begonnen. Irgendwann dachte ich, es würde Spaß machen, jeden Tag ein neues Wort aus dem zu veröffentlichen, was ich gerade las, also tat ich das eine Weile. Dann hatte ich die verrückte Vorstellung, die Weltfragen zu Grammatik, Interpunktion, Stil, Rechtschreibung usw. beantworten zu können, aber das hielt nicht lange an. Ich habe einige Zeit meine Fotos auf der Website veröffentlicht, aber das ist auch irgendwie ins Stocken geraten. Die größte Motivation für das Weiterbestehen war wahrscheinlich, dass ich Freunden und Familienmitgliedern einen Überblick über meine Aktivitäten gebe, aber in letzter Zeit haben Facebook und Twitter dieses Bedürfnis erfüllt.

Wann haben Sie sich zum ersten Mal für die Javascript-Bibliothek von jQuery interessiert??

Ich fing an, jQuery ungefähr im Mai oder Juni 2006 zu verwenden. Ich habe immer noch eine Version von "Rev 27" der jQuery-Kerndatei vom 2. Mai 2006, noch bevor sie eine Versionsnummer hatte. Es ist eine Schande, dass die Datei komprimiert und verschleiert wird. Es würde wirklich Spaß machen, durchzugehen und zu sehen, wie viel sich verändert hat.

Was zuerst kam, war LearningjQuery.com oder das Buch Learning jQuery?

Die Site stand an erster Stelle. Nachdem ich ein paar Monate mit jQuery herumgespielt hatte, dachte ich, es wäre eine gute Idee, zu dokumentieren, was ich gelernt hatte. Ich fragte John Resig, ob er etwas dagegen hätte, wenn ich den Namen jQuery benutze und über meine Erfahrungen blogge. Er war begeistert von der Idee.

Ein paar Monate, nachdem ich mit dem Blog angefangen hatte, kontaktierte mich jemand von Packt Publishing und fragte, ob ich ein Buch über jQuery schreiben möchte - ein Angebot, das mich sowohl schmeichelt als auch verängstigt. Ich stimmte dem zu, aber nur, wenn mein Freund (Jonathan Chaffer) es mit mir schreiben könnte. Er ist ein viel besserer Programmierer als ich, und ich war zu dieser Zeit noch nur ein Neuling.

Warum jQuery? Warum nicht MooTools oder Prototyp?

Die Auswahl einer JavaScript-Bibliothek ähnelt der Auswahl einer digitalen Spiegelreflexkamera (wenn Sie den Preis natürlich aus der Gleichung herausgenommen haben). Warum Nikon? Warum nicht Canon oder Pentax? Ich bin nicht sicher, ob jemand diese Fragen allein aufgrund des technischen Wertes zufriedenstellend beantworten kann. Viel hat mit immateriellen Gütern zu tun: Community, Unterstützung, Kompatibilität mit Ihren bereits etablierten Denkmodellen, wie Dinge funktionieren und aussehen und sich anfühlen sollen. Die Menschen erwägen auch die Erweiterbarkeit - in Form von Objektiven und Zubehör für Kameras, Plugins und Widgets für JavaScript-Bibliotheken. Klar, technischer Wert spielt eine Rolle. Leistung, Funktionen und Zuverlässigkeit sind wichtig. Aber wie bei den Kamerafirmen überspringen sich die JavaScript-Bibliotheksentwickler in diesen Bereichen immer noch gegenseitig, und die Besten in diesen Bereichen sind heute vielleicht nicht die Besten in diesem Bereich in einem halben Jahr.

Der Grund, warum ich mich für jQuery entschieden habe, ist, dass es für mich fast sofort Sinn machte. Ich habe gesehen, dass ich mein Wissen über CSS mit seinem DOM-zentrierten Ansatz leicht auf jQuery übertragen kann. Seitdem ich mehr über fortgeschrittene JavaScript-Techniken gelernt habe, habe ich festgestellt, dass reines JavaScript ausreichend ist, um mit den Bereichen der Sprache umzugehen, die von jQuery nicht behandelt werden . Ich liebe auch den Gemeinschaftsgeist und die Großzügigkeit und Freundlichkeit der anderen Mitglieder des Projektteams und der Mitwirkenden der Diskussionslisten.

Mit welchem ​​Teil von jQuery oder Javascript im Allgemeinen haben neue Entwickler Probleme mit den meisten Problemen?

Die häufigste Frage, die in der jQuery-Diskussionsliste (Google Group) häufig gestellt wird, lautet wie folgt: "Warum funktionieren meine Ereignisse nicht mehr, nachdem ich Elemente in mein Dokument eingefügt habe?" Wir haben ein ausführliches FAQ-Thema, das diese Frage beantwortet. Ich habe darüber ein paar Artikel auf learningjquery.com geschrieben. Wir haben das Live Query-Plugin und ab jQuery 1.3 die .live () -Methode, die das Problem löst. Trotzdem stellt sich die Frage ein paar Mal pro Woche.

Neben den jQuery-Dokumenten finden Benutzer weitere jQuery-Ressourcen, die bei der Lösung eventueller Probleme mit der Bibliothek helfen?

Abgesehen von learningjquery.com und dem Learning jQuery 1.3-Buch gibt es einige großartige Ressourcen. Remy Sharp hat einige großartige Screencasts auf seiner jQuery for Designers-Website, und ich habe einige großartige Artikel von Marc Grabanski und James Padolsey in ihren jeweiligen Blogs gesehen. Die jQuery Google Group ist mit über 16.000 Mitgliedern sehr beliebt und der IRC-Kanal #jquery auf freenode.net ist sehr aktiv und hilfreich.

Können Sie eine Funktion nennen, die mit jQuery geliefert wurde und die derzeit nicht verfügbar ist

Ich wünschte, die .live () -Methode würde mit allen Ereignistypen funktionieren. Momentan funktioniert es nur mit einer Teilmenge, sodass Sie es nicht mit Änderung, Fokus, Unschärfe, Senden, Mausklick oder Mauszeiger verwenden können. Ich finde es auch cool, eine anonyme Funktion als Argument für .css (), .val () und .html () zu verwenden, genauso wie für .attr ()..

Welche Tipps oder Ratschläge können Sie denen anbieten, die relativ neu bei Javascript sind? Sollten sie Javascript lernen, bevor sie zu jQuery wechseln, um das Thema besser zu verstehen?

Ich fürchte, diese klingen wie Plattitüden, aber hier heißt es: Fürchte dich nicht davor, es zu lernen. Sie müssen nicht alles im Voraus wissen. Seien Sie bereit, Fehler zu machen. Lernen Sie immer wieder neue Dinge über die Sprache und versuchen Sie, Verbindungen zwischen dem, was Sie bereits wissen, und dem, was Sie gerade lernen, herzustellen.

Können Sie einige "schlechte Praktiken" nennen, die häufig mit jQuery verwendet werden?

Sicher. Eine schlechte Praxis ist die Verwendung von jQuery für etwas, das Sie mit CSS einfacher und effizienter ausführen können. Beispielsweise haben Webentwickler seit Jahren die Hintergrundposition eines Image-Sprites geändert, wenn die Maus des Benutzers über einen Link bewegt wird. Es gibt absolut keinen Grund, jQuery dafür zu verwenden, es sei denn, der Entwickler möchte, dass die Änderung des Hover-Zustands animiert wird.

Eine andere schlechte Praxis ist das unnötige Wiederholen von Selektoren. Anstatt jedes Mal ein anderes jQuery-Objekt zu erstellen, wenn Sie eine bestimmte Gruppe von Elementen bearbeiten möchten, verketten Sie die Methoden oder speichern Sie einen Verweis auf das jQuery-Objekt in einer Variablen und verwenden Sie das.

Wie kann man ihr Wissen über jQuery verbessern und beim Arbeiten mit dem Framework effizienter werden??

Lesen Sie die Tutorials von seriösen Sites. Stellen Sie Fragen auf der Diskussionsliste und lesen Sie die Antworten auf die Fragen anderer Personen. Lesen Sie insbesondere alles, was Michael Geary und Dave Methvin auf die Liste setzen. Versuchen Sie, den Code großer Plugin-Autoren wie Mike Alsup, Ariel Flesler, Jörn Zaefferer und Brandon Aaron zu emulieren.

Die Entwicklung des jQuery-Plugins hat sich in den letzten zwei Jahren stark entwickelt. Haben Sie Lieblings-Plugins, die Sie häufig verwenden, oder schreiben Sie lieber eigene?

Ich schreibe oft meine eigenen, benutze aber einige häufig. Jeder Kunde scheint eine Art Bild-Rotator auf seiner Homepage zu haben, daher verwende ich das Cycle-Plugin von Mike Alsup. Ich benutze auch ziemlich oft seine Form- und Media-Plugins. Ich verlasse mich oft auf das Superfish-Plugin von Joel Birch und das HoverIntent-Plugin von Brian Cherne, wenn ein Kunde Dropdown-Menüs wünscht. In letzter Zeit habe ich die jQuery-Benutzeroberfläche mehr und mehr für allgemeine Widget-Themen, erweiterte Effekte, Schieberegler und ziehbare / abwerfbare Elemente verwendet.

Gibt es bestimmte Funktionen (oder deren Fehlen), die Ihnen an jQuery nicht gefallen??

Ich bin nicht verrückt nach einigen Methodennamen in der API. In sehr frühen Versionen von jQuery gab es zwei Methodennamen zum Durchlaufen des gesamten DOM-Baums: .parents () und .ancestors (). Beim Zuschneiden der API wurde .ancestors () gelöscht. Ich hätte es vorgezogen, .parents () zu löschen, weil "Vorfahren" meiner Meinung nach besser beschreibt, was ausgewählt wird. Im Allgemeinen mag ich es, wie jQuery Methoden überlädt. Ich denke, dass die Methoden .load () und .toggle () die Idee etwas zu weit bringen.

Sie haben zahlreiche Bücher über jQuery geschrieben. Was ist der schwierigste Teil bei der Veröffentlichung dieser Bücher??

Der schwierigste Teil ist wahrscheinlich nur im Zeitplan. Es ist jedoch absolut wichtig, vorab einen vernünftigen Zeitplan festzulegen und den ganzen Weg durchzuhalten.

Wie sehen Sie die Zukunft für das jQuery-Framework??

Die meisten Änderungen am jQuery-Kern betreffen die Bereiche Leistung, Stabilität und Fehlerbehebungen. Ich sehe nicht viele neue Funktionen, die zum Kern hinzugefügt werden. Halten Sie für neue Funktionen die jQuery-Benutzeroberfläche im Auge. Dort wird sehr viel Neues entwickelt.

Haben Sie weitere Bücher, die Sie bald veröffentlichen möchten??

Ich bin einer von mehreren technischen Gutachtern für ein jQuery-Kochbuch, das in Arbeit ist. Aber ich schreibe zurzeit keine Bücher und habe auch keine Pläne, dies in Kürze zu tun.

Haben Sie irgendwelche schamlosen Stecker, über die unsere Leser Bescheid wissen sollen??

Nichts, was noch nicht erwähnt wurde, aber danke für das Angebot!

Vielen Dank, dass Sie sich die Zeit genommen haben, mit mir zu plaudern, Karl, und vielen Dank für all die großartigen jQuery-Ressourcen, Tricks und Tutorials, die Sie der Community im Laufe der Jahre gegeben haben.

Gern geschehen! Ich bin geschmeichelt von Ihrem Interesse an dem, was ich zu sagen habe.

  • Folgen Sie uns auf Twitter oder abonnieren Sie den NETTUTS-RSS-Feed für mehr tägliche Webentwicklungsberichte und -artikel.