T-Rex: welches Framework ist zu empfehlen?

Moin,

mich hat letztens ein Bekannter, der sich gerade ein wenig mit Webseiten beschäftigt, ein paar Javascript Sachen gefragt. Wir kamen dann schnell auf das Thema Frameworks für Javascript. Ich konnte ihm jquery empfehlen, da es sogut wie jeder benutzt und YUI, da ich YUI selbst benutze und gute Erfahrungen damit gemacht habe.
Aber um ehrlich zu sein habe ich absolut keinen Schimmer ob die zwei Frameworks überhaupt robust, performant oder geeignet für Anfänger sind. Ich hab noch von einigen anderen Frameworks wie Dojo, MooTools etc.. gehört ohne diese jemals eingesetzt zu haben.

Deshalb wollte ich mal Fragen auf was man setzten sollte? Gibt es DAS Javascript Framework oder sind die alle ungefähr gleich bzw. was sind die stärken der einzelnen Frameworks?

$("T-Rex").Gruß();

  1. Hallo,

    Deshalb wollte ich mal Fragen auf was man setzten sollte? Gibt es DAS Javascript Framework oder sind die alle ungefähr gleich bzw. was sind die stärken der einzelnen Frameworks?

    Natürlich gibt es nicht DAS Framework, sondern dutzende mit verschiedenen Zielsetzungen und demnach Anwendungsbereichen.

    jQuery und Mootools Core sind erst einmal auf DOM Scripting, einfache Animationen und Ajax ausgelegt. Mootools erweitert Prototypen der Kern- und Host-Objekte um viele Helferfunktionen, jQuery besetzt nur die globalen Objekte »$« bzw. »jQuery«.

    Dojo und YUI sind umfangreichere, gekapselte Lösungen für größere JavaScript-Webanwendungen, die viele vorgefertigte Widgets, UI-Controls und Pattern bieten, aber auch Utilities für die allgemeine JavaScript-Programmierung sowie Modularisierungs- und Loading-Mechanismen.

    Daneben gibt es unzählige kleine Bibliotheken und Plugins/Erweiterungen, die häufig als Zusätze eingesetzt werden. Die alle zu vergleichen würde den Rahmen eines Forenpostings sprengen. Da müsstest du dich selbst etwas umsehen und dann konkreter nachfragen.

    Mathias

    1. gruss in die Runde,

      Daneben gibt es unzählige kleine Bibliotheken und Plugins/Erweiterungen,
      die häufig als Zusätze eingesetzt werden. Die alle zu vergleichen würde
      den Rahmen eines Forenpostings sprengen. Da müsstest du dich selbst
      etwas umsehen und dann konkreter nachfragen.

      um Mathias in diesem Punkt zu ergänzen, poste ich mal den link auf eine
      aktuelle und nach Kategorien gegliederte Liste von JavaScript Bibliotheken.

      so long - peterS. - pseliger@gmx.net

      --
      »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
      Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
      ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]
      1. gruss in die Runde,

        Daneben gibt es unzählige kleine Bibliotheken und Plugins/Erweiterungen,
        die häufig als Zusätze eingesetzt werden. Die alle zu vergleichen würde
        den Rahmen eines Forenpostings sprengen. Da müsstest du dich selbst
        etwas umsehen und dann konkreter nachfragen.

        um Mathias in diesem Punkt zu ergänzen, poste ich mal den link auf eine
        aktuelle und nach Kategorien gegliederte Liste von JavaScript Bibliotheken.

        so long - peterS. - pseliger@gmx.net

        So gesehen wäre es doch sinnvoll mehrere Frameworks gleichzeitig zu beherrschen und ein zu setzen. Je nach Anforderung nimmt man dann das Framework dessen stärke die Anforderung ist?

        Gruß
        Fortgeschrittene ist Grammatik für was
        T-Rex

        1. @@T-Rex:

          nuqneH

          So gesehen wäre es doch sinnvoll mehrere Frameworks gleichzeitig zu beherrschen und ein zu setzen. Je nach Anforderung nimmt man dann das Framework dessen stärke die Anforderung ist?

          So wie es auch sinnvoll ist, Hammer und Schraubendreher zu beherrschen und je nach Anforderung einzusetzen.

          Letzteres ist übrigens _ein_ Wort. Ebenso wie „leichtmachen“, siehe Deutschlehrer (Sebastian Krämer).

          Fortgeschrittene ist Grammatik für was
          T-Rex

          Bei der Rechtschreibung bist du schon weit fort geschritten?

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)
          1. Om nah hoo pez nyeetz, Gunnar Bittersmann!

            Bei der Rechtschreibung bist du schon weit fort geschritten?

            *G*

            Matthias

            --
            1/z ist kein Blatt Papier.

          2. Ja aber wenn man "Hammer und Schraubendreher" einsetzt um einen Tisch zu bauen, dann wird der Tisch nicht langsamer, wenn man ihn betrachten möchte ;).

            Gruß
            FORTGESCHRITTENER
            T-Rex

          3. So wie es auch sinnvoll ist, Hammer und Schraubendreher zu beherrschen und je nach Anforderung einzusetzen.

            Schon mal was von Nageldübeln (bzw. Schlagschrauben) gehört?

            Sieht aus wie eine Schraube mit Spreizdübel, wird aber mit dem Hammer eingeschlagen :p

            Manchmal ist es also auch gut nicht mehrere Werkzeuge zu nutzen sondern eines, welches zwar nicht so flexibel ist wie die einzelen aber für den aktuellen Zweck ein schnelle und vor allem zweckdienliche Lösung bringt.

        2. gruss T-Rex,

          So gesehen wäre es doch sinnvoll mehrere Frameworks gleichzeitig zu beherrschen
          und einzusetzen. Je nach Anforderung nimmt man dann das Framework dessen stärke
          die Anforderung ist?

          fast.

          Zumindest sollte man nicht ganz ahnungslos vor z.b. folgender Einteilung stehen:

          - Application Frameworks
            - Mobile Frameworks
            - MVC Frameworks
            - ServerSide libraries
            - Testing frameworks
            - Templating engines
            - Loaders
            - Modularisation / (AMD)

          Je nachdem, wo die persönliche Schmerzgrenze für schnell zu entwickelnden,
          test- und wartbaren JavaScript-Code liegt, gesellt sich zu den Kenntnissen
          über "Application Frameworks" relativ schnell Wissen über "Modularisierung"
          bzw. "Loader" hinzu. Kurz danach landet man schon beim "Testing".

          Wer den Anspruch an testgetriebene Entwicklung von modularisiertem Code hat,
          entwickelt diesen wahrscheinlich auch nach "MVC"/"MVP". Dafür braucht es
          aber nicht unbedingt eine Metaebene durch JavaScript-Frameworks.

          Sobald man an diesem Punkt angelangt ist und dazu noch XHR getriebene Web-
          Anwendungen mit anspruchsvollen und/oder permanent wechselnden Oberflächen
          baut, stolpert man auch schon über "Templating" und in diesem Zusammenhang
          gegebenenfall auch über "Internationalisierung".

          Soll mobiles Web auf "Touch Devices" unterstützt werden, benötigt man
          eine gute Bibliothek, die in der Lage ist, differenzierte Touch-Eevents
          über verschiedene mobile Platformen und Browser hinweg zu synthetisieren.
          Soll aber ein mobiles "App Feeling" erreicht werden, ist es ratsam, auf
          ein ausgewachsenes "Mobile Framework" zurückzugreifen.

          Ausgelassen habe ich jetzt ganz bewusst Bibliotheken die den Kategorien
          "Multimedia", "Graphics", "Data" und "UI" zugeordnet werden können sowie
          "Utilitiy" Bibliotheken für "Klassenbasierte Denke", funktionale Patterns,
          HTML5-Polyfills u.s.w. ...

          Setzt man jetzt nochmal bei der reinen Frontend-Entwicklung an, kommt man
          übrigens kaum noch an Modernizr und less.js bzw. an sass vorbei.

          ... Je nach Anforderung nimmt man dann das Framework dessen stärke
          die Anforderung ist?

          In der Praxis stellt man neben das eine grosse etablierte Framework
          seiner oder des Kunden Wahl noch eine bis mehrere kleine spezialisierte
          Bibliotheken.

          so long - peterS. - pseliger@gmx.net

          --
          »Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
          Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
          ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]
        3. So gesehen wäre es doch sinnvoll mehrere Frameworks gleichzeitig zu beherrschen und ein zu setzen. Je nach Anforderung nimmt man dann das Framework dessen stärke die Anforderung ist?

          Manches braucht man fast immer, z.B. einen Helfer für DOM Scripting. Das bringen fast alle Library-Stacks mit sich. jQuery bzw. Bibliotheken mit jQuery-artiger API (Zepto, Ender/Bonzo, DOMAssistant, …) sind da eine häufige Grundlage.
          Wenn man sich einmal auf ein allgemeines Framework wie YUI oder Dojo eingeschossen hat, so bleibt man bei einem Projekt auch dabei und versucht weitere Bibliotheken in diesen Rahmen zu integrieren. Allgemein kenne ich wenige Firmen und Entwickler, die von Projekt zu Projekt komplett ihren Stack ändern. Es ist praktisch nicht möglich, »mehrere Frameworks gleichzeitig zu beherrschen«. (jQuery würde ich hier nicht als Framework, sondern als DOM- und Ajax-Bibliothek bezeichnen.) Eine komplett neue Toolchain zur JS-Anwendungsentwicklung eignet man sich höchstens alle paar Jahre an.

          Mathias