Christian Schubert: jQuery - ein MUSS! ....oder?

Hallo,
in Zeiten von HTML5 und CSS3 scheint die Prämisse der möglichst effizienten Projektumsetzung bei möglichst geringem Datenvolumen zugunsten aufwendiger Designrealisierungen immer öfter ins Hintertreffen zu geraten. Zuweilen fühle ich mich gar an die Anfangstage von Flash zurückversetzt, als es noch schick war, wenn alles blinkte und sich bewegte. Der content-seitig nicht oder kaum relevante Funktionsumfang wird durch die Einbindung sperriger Bibliotheken wie jQuery erkauft, in Zeiten, in denen aufgrund ubiquitär variabler Mobilfunkqualität die Reduktion auf das Wesentliche doch eigentlich als oberstes Gebot gelten sollte.

Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die Hälfte reduzieren.

Was meint ihr dazu?

LG,
Christian.

  1. Moin Christian,

    Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die Hälfte reduzieren.

    Was meint ihr dazu?

    Gratulation, top Leistung.

    Ne, mal im Ernst ;-) Was erwartest du für eine Antwort? Natürlich ist jQuery Bloatware. Andererseits erkauft man sich damit vor allem Bequemlichkeit (und damit Entwicklungs-Tempo) und Browser-Kompatiblität. Ob man es im spezifischen Fall wirklich braucht (Stichwort Zielgruppe) muss halt jeder selber entscheiden.

    LG,
     CK

    1. ...
      scheint die Prämisse der möglichst effizienten Projektumsetzung bei möglichst geringem
      Datenvolumen zugunsten aufwendiger Designrealisierungen immer öfter ins Hintertreffen zu
      geraten.

      Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und
      konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die
      Hälfte reduzieren.

      Das ist lobenswert, wohl aber auch mit viel Arbeit verbunden.

      So wie viele WebDesigner lieber noch'nen div-wrapper oder-container um ihre Seite ziehen, anstatt die html-Struktur zu verschlanken, kopiert man wohl lieber einige Zeilen JavaScript-Code, der dann von jQuery verarbeitet wird, als eigene Script-Snippets zu entwickeln.

      Bei mir als JavaScript-Anfänger stoßen komplexere Aufgaben schnell an meine Grenzen und dann sind 10 Zeilen Code, die ich zwar nicht verstehe aber funktionieren, doch zu verlockend.

      LG Matthias

      BTW: Entwickelt und präsentiert werden Web-Projekte wohl immer auf Geräten, bei denen alle Daten schon im cache liegen und die Ladezeit deshalb vernachlässigbar scheint! :-)

    2. Tag,

      Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die Hälfte reduzieren.

      Was meint ihr dazu?

      wenn dir dein Projekt auch nach Entschlackung noch gut gefällt, hast du wohl vorher tatsächlich etwas übertrieben.

      Natürlich ist jQuery Bloatware.

      So natürlich finde ich das nicht. Die Bibliothek ist eine der am meisten verwendesten und bringt quasi ein eigenes CDN mit. Von diesem Gesichtspunkt aus ist es sehr gut möglich, dass jQuery von allen in einem Projekt verwendeten Resourcen in der Regel die geringste Last verursacht, weil der Kram schon von der vorvorvorvorvorvorletzten besuchten Seite im Browser-Cache liegt.

      Andererseits erkauft man sich damit vor allem Bequemlichkeit (und damit Entwicklungs-Tempo) und Browser-Kompatiblität. Ob man es im spezifischen Fall wirklich braucht (Stichwort Zielgruppe) muss halt jeder selber entscheiden.

      So ist es, man kann nicht das halbe Web über einen Kamm scheren.

  2. Hallo,
    in Zeiten von HTML5 und CSS3 scheint die Prämisse der möglichst effizienten Projektumsetzung bei möglichst geringem Datenvolumen zugunsten aufwendiger Designrealisierungen immer öfter ins Hintertreffen zu geraten.

    Ersetze "in Zeiten von HTML5 und CSS3" mit "in Zeiten immer schnellerer Internetverbindungen". Auch bei Smartphones werden die Tarife besser und die Netzabdeckung verbessert sich (siehe z.B. LTE).

    Zuweilen fühle ich mich gar an die Anfangstage von Flash zurückversetzt, als es noch schick war, wenn alles blinkte und sich bewegte. Der content-seitig nicht oder kaum relevante Funktionsumfang wird durch die Einbindung sperriger Bibliotheken wie jQuery erkauft

    jQuery und sperrig? Das Ding ist keine 100KB groß. Zudem wird es vom Browser gecached. Wenn man die Version von z.B. Google verwendet, müssen die meisten Besucher sogar gar nichts herunterladen.

    , in Zeiten, in denen aufgrund ubiquitär variabler Mobilfunkqualität die Reduktion auf das Wesentliche doch eigentlich als oberstes Gebot gelten sollte.

    Das Wesentliche ist in diesem Zusammenhang allerdings Benutzbarkeit / responsive Webdesign. Das kann jQuery ganz gut helfen.
    Natürlich gibt es auch Seiten, die außer Blinkblink nichts zu bieten haben, aber dafür jQuery verantwortlich zu machen? Ich finde diese Seiten sind sogar eher weniger geworden.

    Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die Hälfte reduzieren.

    Was meint ihr dazu?

    Dass du bei deinem Projekt etwas falsch gemacht hast.

    1. Moin Whouzuo,

      Ersetze "in Zeiten von HTML5 und CSS3" mit "in Zeiten immer schnellerer Internetverbindungen". Auch bei Smartphones werden die Tarife besser und die Netzabdeckung verbessert sich (siehe z.B. LTE).

      Das ist eine sehr Europa- bzw. USA-zentrische sicht auf die Dinger. Sag mal den Leuten in Afrika oder Süd-Amerika, dass deren Mobil-Verbindungen immer schneller werden, die werden sich sicherlich freuen das zu hören :) Oder sogar nur gerad uns Leuten auf dem Lande.

      LG,
       CK

      1. Moin moin,

        Ersetze "in Zeiten von HTML5 und CSS3" mit "in Zeiten immer schnellerer Internetverbindungen". Auch bei Smartphones werden die Tarife besser und die Netzabdeckung verbessert sich (siehe z.B. LTE).

        Das ist eine sehr Europa- bzw. USA-zentrische sicht auf die Dinger. Sag mal den Leuten in Afrika oder Süd-Amerika, dass deren Mobil-Verbindungen immer schneller werden, die werden sich sicherlich freuen das zu hören :) Oder sogar nur gerad uns Leuten auf dem Lande.

        Dann ist dort auch kein entsprechender Markt. Wird sich mit der Zeit wahrscheinlich ändern, aber im Moment siehts eben so aus.

        1. Moin Whouzuo,

          Das ist eine sehr Europa- bzw. USA-zentrische sicht auf die Dinger. Sag mal den Leuten in Afrika oder Süd-Amerika, dass deren Mobil-Verbindungen immer schneller werden, die werden sich sicherlich freuen das zu hören :) Oder sogar nur gerad uns Leuten auf dem Lande.

          Dann ist dort auch kein entsprechender Markt. Wird sich mit der Zeit wahrscheinlich ändern, aber im Moment siehts eben so aus.

          Naja. Damit machst du es dir natürlich argh einfach. Warum sollten Leute in strukturell schwächeren Gebieten nicht auch ein potentielles Zielpublikum sein? Das hängt doch wohl stark von Produkt/Inhalt ab.

          LG,
           CK

          1. Moin Whouzuo,

            Das ist eine sehr Europa- bzw. USA-zentrische sicht auf die Dinger. Sag mal den Leuten in Afrika oder Süd-Amerika, dass deren Mobil-Verbindungen immer schneller werden, die werden sich sicherlich freuen das zu hören :) Oder sogar nur gerad uns Leuten auf dem Lande.

            Dann ist dort auch kein entsprechender Markt. Wird sich mit der Zeit wahrscheinlich ändern, aber im Moment siehts eben so aus.

            Naja. Damit machst du es dir natürlich argh einfach. Warum sollten Leute in strukturell schwächeren Gebieten nicht auch ein potentielles Zielpublikum sein? Das hängt doch wohl stark von Produkt/Inhalt ab.

            Schon, aber die meisten Blinkblink Websites sind ja schon auf den deutschen Markt bzw den jeweiligen regionalen Markt bezogen. Internationale Websites sind meistens "relativ" schlicht gehalten.
            Ausnahmen bestätigen die Regel. =)

      2. Das ist eine sehr Europa- bzw. USA-zentrische sicht auf die Dinger. Sag mal den Leuten in Afrika oder Süd-Amerika, dass deren Mobil-Verbindungen immer schneller werden, die werden sich sicherlich freuen das zu hören :) Oder sogar nur gerad uns Leuten auf dem Lande.

        In der Tat! Welcher Webentwickler kennt nicht das Problem das er keine Aufträge bekommt weil er kein Suaheli kann.
        Ich hab letztens eine Webseite gebaut bei der man Lebensmittel bestellen kann. Da sollte man meinen das Afrika ein guter Absatzmarkt ist. Aber... nix. Die Resonanz war echt zu niedrig. Die möglichen Ursachen waren:

        • schlechtes Handynetz.
        • schlechte Suaheliumsetzung.
        • Designgeschmack der Afrikaner nicht getroffen.
        • Marktübersättigung (gibt ja genug Hilfsorganisationen die den Markt kaputt machen)

        Müller von der Buchhandlung hat den lächerlichen Einwandt gebracht dass die alle kein Geld und keine Handys. Der war schneller geflogen als ein Äthophier bei einer leichten Brise.

        Gruß
        mein Humor ist so schwarz der pflückt schon Baumwolle
        T-Rex

        1. Moin T,

          Müller von der Buchhandlung hat den lächerlichen Einwandt gebracht dass die alle kein Geld und keine Handys. Der war schneller geflogen als ein Äthophier bei einer leichten Brise.

          Das ist eine fundamentale Fehleinschätzung. Zahlung via Handy ist in Afrika weit verbreitet, und die Nutzung des Internets dort geschieht zu großen Teilen im Mobilfunk-Netz – dort wurde die PC-Ära schlicht übersprungen. Siehe auch diesen Spiegel-Artikel von 2008 (sic!) oder diesen Welt-Artikel von 2010.

          LG,
           CK

          1. Ist das der gleiche Autor der die Hitlertagebücher gefunden hat?
            Na mal im Ernst, wie viele hier im Forum haben Webseiten für Afrikaner gemacht?

            Gruß
            Toastbrot
            T-Rex

            1. Mahlzeit,

              Na mal im Ernst, wie viele hier im Forum haben Webseiten für Afrikaner gemacht?

              Ich hatte schon Kunden auf allen Kontinenten, ausser dem Sübpol (oder ist der Nordpol der Kontinent von beiden?)
              Und so nebenbei gibt es noch Menschen, die in diesem Bereich arbeiten, die nicht im Forum vertreten sind ;)

              --
              42
              1. Hallo,

                Ich hatte schon Kunden auf allen Kontinenten, ausser dem Sübpol (oder ist der Nordpol der Kontinent von beiden?)

                nein, war schon richtig, es ist der Südpol (Antarktis). Der Nordpol ist nur eine riesige, langsam vor sich hin driftende Packeis-Scholle. Noch.
                Deswegen fahren ja gelegentlich U-Boote die polnahe Route unter dem Polareis hindurch. Das wäre nicht möglich, wenn die Arktis ein Kontinent wäre.

                Ich fand's damals in der Schule interessant, dass man uns im Erdkundeunterricht eingeschärft hat, wir mögen doch bitte die traditionelle Vorstellung von fünf Kontinenten vergessen, es seien sieben: Europa, Asien, Afrika, Ozeanien, Nordamerika, Südamerika und die Antarktis.
                Auch im Biologieunterricht wurde zu meiner Schulzeit gelehrt, das mit den fünf Sinnen des Menschen sei ein längst überholtes Märchen, der gesunde, normal entwickelte Mensch habe acht Sinne: Die traditionellen (Sehen, Hören, Riechen, Schmecken, Tasten), und zu noch den Gleichgewichtssinn, den Temperatur- und den Schmerzsinn. Daher sollte man bei der gern verwendeten Floskel des "sechsten Sinns" oder des "siebten Sinns" immer fragen, in welcher Reihenfolge man denn die acht Sinne zähle.

                Und so nebenbei gibt es noch Menschen, die in diesem Bereich arbeiten, die nicht im Forum vertreten sind ;)

                Mit Sicherheit.

                Einen guten Start in 2014,
                 Martin

                --
                "Wie geht eigentlich dein neues Auto?"
                "Es geht nicht, es fährt!"
                "Äh, ja. Und wie fährt es?"
                "Och, es geht."
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            2. Moin T,

              Na mal im Ernst, wie viele hier im Forum haben Webseiten für Afrikaner gemacht?

              wie ich bereits sagte: das ist stark abhängig vom Produkt oder dem Inhalt. Ich habe das zwar selber noch nicht machen müssen, aber ich weiß von mindestens einer Firma, die meine technische Umsetzung genommen hat und eine Afrikaans-Variante dazu gemacht hat. Und wir dürfen auch nicht vergessen, dass dort teilweise immer noch Deutsch eine gesprochene Sprache ist.

              LG,
               CK

    2. Ersetze "in Zeiten von HTML5 und CSS3" mit "in Zeiten immer schnellerer Internetverbindungen". Auch bei Smartphones werden die Tarife besser und die Netzabdeckung verbessert sich (siehe z.B. LTE).

      Leider völlig an der Realität vorbei.
      Schon mal in der U-Bahn mit einer Edge Verbindung gesessen?
      Wir optimieren unsere Websites für sämtliche Browser, gleichzeitig ignorieren wir die durch den Einsatz von Smartphones wieder in den Fokus gerückte Relevanz variabler Verbindungskapazitäten aber völlig.

      Natürlich gibt es auch Seiten, die außer Blinkblink nichts zu bieten haben, aber dafür jQuery verantwortlich zu machen? Ich finde diese Seiten sind sogar eher weniger geworden.

      Es war überhaupt nicht meine Intention, jQuery für Seiten die 'außer Blinkblink nichts zu bieten haben' verantwortlich zu machen. Im Gegenteil, jQuery kann prinzipiell ein überaus wertvolles Tool sein, keineswegs nur eine profane Ausrede für Stümper und Wichtigmacher. Es war also nicht meine Absicht, jQuery zu diffamieren; vielmehr wollte ich das unüberlegte Vorgehen mancher Entwickler thematisieren, die blindlings derartige Bibliotheken einbinden, um in Folge vielleicht bloß eine Funktion aufzurufen (wobei jQuery selbst dann in manchen Fällen Sinn ergeben kann).

      Euch allen ein frohes neues Jahr!

      LG,
      Chris.

      1. Ersetze "in Zeiten von HTML5 und CSS3" mit "in Zeiten immer schnellerer Internetverbindungen". Auch bei Smartphones werden die Tarife besser und die Netzabdeckung verbessert sich (siehe z.B. LTE).

        Leider völlig an der Realität vorbei.
        Schon mal in der U-Bahn mit einer Edge Verbindung gesessen?
        Wir optimieren unsere Websites für sämtliche Browser, gleichzeitig ignorieren wir die durch den Einsatz von Smartphones wieder in den Fokus gerückte Relevanz variabler Verbindungskapazitäten aber völlig.

        Die paar KB Javascript machen da aus meiner Sicht keinen Unterschied. Und ja, ich bin mehr als oft genug unterwegs, z.B. auf in der Bahn. Den Unterschied machen da viel eher die Bilder. DAS ist ein Punkt, an dem man mal ansetzen könnte (z.B. Gerätabhängige Komprimierungen/Auflösungen).

        Natürlich gibt es auch Seiten, die außer Blinkblink nichts zu bieten haben, aber dafür jQuery verantwortlich zu machen? Ich finde diese Seiten sind sogar eher weniger geworden.

        Es war überhaupt nicht meine Intention, jQuery für Seiten die 'außer Blinkblink nichts zu bieten haben' verantwortlich zu machen. Im Gegenteil, jQuery kann prinzipiell ein überaus wertvolles Tool sein, keineswegs nur eine profane Ausrede für Stümper und Wichtigmacher. Es war also nicht meine Absicht, jQuery zu diffamieren; vielmehr wollte ich das unüberlegte Vorgehen mancher Entwickler thematisieren, die blindlings derartige Bibliotheken einbinden, um in Folge vielleicht bloß eine Funktion aufzurufen (wobei jQuery selbst dann in manchen Fällen Sinn ergeben kann).

        Selbst in diesem Fällen sehe ich den Einsatz von jQuery besser an, als das ganze selbst zu machen. Es sei denn, man weiß genau, dass man niemals mehr Anpassungen/Erweiterungen vornehmen wird oder dass eine eigene Implementierung schneller als das Einbinden von jQuery ist (von der Entwicklungszeit her).

  3. Was meint ihr dazu?

    Das kommt stark auf dein Projekt an. Dass du dich überhaupt mit der Problematik befasst hast finde ich an sich schon lobenswert.

    jquery ist eine sehr umfangreiche Sammlung von Funktionen für alles mögliche. Ich habe schon eine Reduzierung auf vielleicht 1% geschafft indem ich statt komplettem jquery nur die eine von mir benötigte Funktion eingebunden habe ;-)
    Wenn ich mehr gebraucht hätte wäre ich mit eigener Entwicklung viel länger beschäftigt gewesen und Code gespart hätte ich je nach Umfang auch nicht.

  4. Hallo,

    Ich selbst habe mein aktuelles Projekt nach einigen Überlegungen nachhaltig entschlackt und konnte das durch JavaScript anfallende Datenvolumen durch den Verzicht auf jQuery über die Hälfte reduzieren.

    Und was hat das zu bedeuten? Dass man durch den Verzicht von jQuery Daten sparen kann. Ja, das ist richtig. Von Hand geschriebener, spezialisierter Code ist immer schlanker solcher, der eine umfangreiche und generalisierte Bibliothek verwendet und davon vielleicht 30% aktiv nutzt. Das ist kein Geheimnis.

    Aber ist der Code auch besser? Ist er robuster und kompatibler? Ist er schneller zu entwickeln? Ist er lesbarer? Ist er wartbarer? Ist er performanter? Ist er automatisiert getestet? Ist die Software damit ausbaubar/skalierbar? Ist die Software unter dem Strich wirtschaftlicher?

    Grüße
    Mathias

    1. Von Hand geschriebener, spezialisierter Code ist immer schlanker solcher, der eine umfangreiche und generalisierte Bibliothek verwendet und davon vielleicht 30% aktiv nutzt.

      Es ist auch nicht so, als hätte man die Wahl zwischen jQuery und gar keiner Bibliothek. Es gibt verschiedene Alternativen, die vom Funktionsumfang oft ausreichen oder für die es verschiedene zuschaltbare Module gibt.

      Speziell für Mobilseiten ist Zepto gedacht. Die API ist größtenteils mit jQuery kompatibel, der Funktionsumfang ist natürlich wesentlich kleiner. Wie bei jQuery gibt es ein großes Ökosystem an Plugins. Oftmals funktionieren jQuery-Plugins auch mit Zepto.

      Es gibt noch viele weitere Bibliotheken mit jQuery-artiger System und kleinerem Fußabdruck, z.B. DOMAssistant und Rye.js.

      Wer es gerne modular hat, sollte sich Ender und Component ansehen. Das sind beides keine fertigen monolithischen Bibliotheken, sondern Paketmanager mit dutzenden kombinierbaren Bibliotheken. Insbesondere mit Ender kann man sich sehr einfach eine Bibliothek im jQuery-Stil zusammenstellen, denn die Kernmodule von Ender greifen gut ineinander.

      Wen die Interna solcher Bibliotheken interessieren, sollte das Tutorial Let‘s make a framework lesen. Dabei ist übrigens turing.js herausgekommen.

      Eine Übersicht über weitere Mikrobibliotheken bietet microjs.com.

      Yahoo! YUI 3 ist ebenfalls eine modular aufgebaute Bibliothek, die zwar nicht auf Größe optimiert ist, aber ein sehr sauberes Modulkonzept bietet.

      Die Zentrierung auf jQuery sollte überwunden werden, sowohl was die Benutzung als auch die Kritik daran angeht. Im Übrigen wurde jQuery mittlerweile in AMD-Module aufgesplittet. Wer es denn möchte, kann sich aus den dutzenden Modulen die nötigen herauspicken und einen Build erzeugen. Diese Modularität ist natürlich (noch) nicht mit Ender usw. vergleichbar.

      Grüße
      Mathias