Matthias Scharwies: ?Fachbegriff: Zusammenspiel von HTML, CSS & JS

Servus!

Ich suche den Fachbegriff für das Zusammenspiel, bzw. die Abgrenzung der verschiedenen Aufgaben von HTML, CSS und JavaScript.

molily verwendete den Begriff "Schichtenmodell".

Gibt es noch einen anderen Begriff?

Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

Herzliche Grüße

Matthias Scharwies

  1. Hallo

    Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

    Weder noch. Die Sichtweise

    Trennung von Inhaltsstruktur, Präsentation und Verhalten

    für HTML, CSS und JavaScript hat so noch nie gestimmt und spätestens seit der Einführung von CSS3 ist sie auch als Vereinfachung sachlich falsch.

    Gruss

    MrMurphy

    1. @@MrMurphy1

      Die Sichtweise

      Trennung von Inhaltsstruktur, Präsentation und Verhalten

      für HTML, CSS und JavaScript hat so noch nie gestimmt

      Wie kommst du auf den Dampfer?

      und spätestens seit der Einführung von CSS3 ist sie auch als Vereinfachung sachlich falsch.

      ?? Was sollte sich denn mit CSS 3 am Prinzip separation of concerns geändert haben?

      LLAP 🖖

      --
      Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
  2. Tach!

    Ich suche den Fachbegriff für das Zusammenspiel, bzw. die Abgrenzung der verschiedenen Aufgaben von HTML, CSS und JavaScript.

    molily verwendete den Begriff "Schichtenmodell".

    Schichten sind es eher weniger. Javascript kann ja überall eingreifen, ins HTML und ins CSS. Das wäre dann die Fett-/Ölschicht, die überall im Getriebe zu finden ist. (Jetzt mal ganz unabhängig davon, dass in der best practice das Javascript nicht das CSS ändert, sondern die Klassen im HTML. Aber die Möglichkeit ins CSS direkt einzugreifen gibts halt trotzdem.) Im Fließtext steht dann was von Rollen und das ist schon eine wesentlich bessere Beschreibung.

    Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

    Eher "so", aber eigentlich gar nicht. Es gibt ein paar Überschneidungen, aber nicht alle gehen in beide Richtungen. CSS beeinflusst die Darstellung, aber nicht das HTML oder das Javascript. CSS hat Selektoren, die in Abhängigkeit zum HTML gesetzt werden. Es orientiert sich nur am HTML und das wars. (Hmm, es kann Content setzen, aber ist das dann HTML-Beeinflussung?) Javascript kann ins CSS eingreifen, aber nicht umgekehrt. Da gibts dann die Einbahnstraße.

    Ich denke, man muss da keine mehr oder weniger unpassende Grafik verwenden. Schön wärs, das lockert eine Textwüste auf, aber wenn sie nur teilweise das widerspiegelt, was wirklich ist, sollte man sie lieber weglassen.

    dedlfix.

    1. Tach!

      Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

      Eher "so", aber eigentlich gar nicht.

      Ich hab da noch eine andere Idee: HTML ist das Haus im Rohbau, aber schon funktional als solches, also Dach muss schon wasserabweisend drauf sein und die Fenster in den dafür vorgesehenen Öfnnungen eingebaut. CSS ist das Haus in schön, mit Farbe oder Tapete an den Wänden, und so weiter und gegebenenfalls ein Garten drumherum. Javascript sind die Bewohner, die sowohl am Haus als auch an der Gestaltung Veränderungen vornehmen.

      Natürlich lässt sich das nur ganz grob miteinander vergleichen. Im Gegensatz zu den best practices in Javascript greift man als Mensch beispielsweise doch gehörig direkt in das Aussehen ein. Wohnzimmerwandgestaltung definieren und dann nur noch der Wand eine Klasse zuweisen, geht in Häusern (derzeit noch) nicht.

      dedlfix.

      1. Hallo,

        Ich hab da noch eine andere Idee: HTML ist das Haus im Rohbau, aber schon funktional als solches, also Dach muss schon wasserabweisend drauf sein und die Fenster in den dafür vorgesehenen Öfnnungen eingebaut. CSS ist das Haus in schön, mit Farbe oder Tapete an den Wänden, und so weiter und gegebenenfalls ein Garten drumherum. Javascript sind die Bewohner, die sowohl am Haus als auch an der Gestaltung Veränderungen vornehmen.

        Ich hätte eher gesagt, JS ist die Elektrik mit Schaltern, Klingeln und Telefonen, mit deren Hilfe die Bwohner/User Licht an/ausschalten, Kaffeemachen und Radiohören können.

        Gruß
        Kalk

        1. Hallo,

          Ich hab da noch eine andere Idee: HTML ist das Haus im Rohbau, aber schon funktional als solches, also Dach muss schon wasserabweisend drauf sein und die Fenster in den dafür vorgesehenen Öfnnungen eingebaut. CSS ist das Haus in schön, mit Farbe oder Tapete an den Wänden, und so weiter und gegebenenfalls ein Garten drumherum. Javascript sind die Bewohner, die sowohl am Haus als auch an der Gestaltung Veränderungen vornehmen.

          Ich hätte eher gesagt, JS ist die Elektrik mit Schaltern, Klingeln und Telefonen, mit deren Hilfe die Bwohner/User Licht an/ausschalten, Kaffeemachen und Radiohören können.

          das ist zu kurz gegriffen. Javascript kann mehr als nur das Licht flackern lassen und die Türen schließen. Javascript kann der Handwerker sein, der alles baut, oder die Abrissbirne, die nichts mehr stehen lässt (document.body.innerHTML = "";)

          Gruß

          Jürgen

          1. @@JürgenB

            die Abrissbirne, die nichts mehr stehen lässt (document.body.innerHTML = "";)

            Der Inhalt des head-Element ist nicht nichts.

            Selbst document.documentElement.innerHTML = ""; lässt leere head- und body-Elemente stehen.

            LLAP 🖖

            --
            Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
            1. Hallo Gunnar,

              die Abrissbirne, die nichts mehr stehen lässt (document.body.innerHTML = "";)

              Der Inhalt des head-Element ist nicht nichts.

              Selbst document.documentElement.innerHTML = ""; lässt leere head- und body-Elemente stehen.

              JS ist also keine Abrissbirne, sondern nur ein Entkerner. Aber eben mehr als nur "Elektrik mit Schaltern, Klingeln und Telefonen".

              Ich habe beim Lesen hier (und auch woanders) das Gefühl, die Schreiber glauben, mit Javascript könne man nur das Aussehen etwas "dynamisch aufhübschen" und wegen CSS3 wäre Javascript überflüssig. Für mich ist Javascript eine (fast) vollständige Programmiersprache, die HTML und CSS für das Userinterface benötigt.

              Gruß Jürgen

              1. Hallo,

                JS ist also keine Abrissbirne, sondern nur ein Entkerner. Aber eben mehr als nur "Elektrik mit Schaltern, Klingeln und Telefonen".

                Mich hatte die Formulierung gestört, JS seien die "Bewohner", da klang was von eigenständigem Handeln mit. JS macht halt nur das was der Programmierer/Architekt implementiert bzw. vorgesehen hat.

                Gruß
                Kalk

  3. Hallo Matthias Scharwies,

    molily verwendete den Begriff "Schichtenmodell".

    Gibt es noch einen anderen Begriff?

    Trennung von Inhalt, Präsentation und Verhalten

    Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

    So. Weil es tatsächlich diese Überschneidungen gibt.

    Bis demnächst
    Matthias

    --
    Signaturen sind bloed (Steel) und Markdown ist mächtig.
    1. Moin,

      Trennung von Inhalt, Präsentation und Verhalten

      das "Verhalten" kann man auch mit "Programmlogik" treffend beschreiben.

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    2. @@Matthias Apsel

      Würdet ihr das grafisch eher aufeinander (in Schichten) oder so darstellen?

      So. Weil es tatsächlich diese Überschneidungen gibt.

      Sollte es aber nicht. Nicht von CSS und JavaScript. (ab 11:47)

      Und anstelle von „HTML“ sollte „DOM“ stehen. HTML generiert das DOM, JavaScript greift aufs DOM zu/verändert es (nicht das HTML). Selektoren im CSS matchen auf Elemente im DOM. (Auf Folie 44 auch vereinfacht dargestellt)

      LLAP 🖖

      --
      Ist diese Antwort anstößig? Dann könnte sie nützlich sein.
  4. Hallo Matthias,

    molily verwendete den Begriff "Schichtenmodell".

    wobei Hier der vollständige Titel wichtig ist:

    Das Schichtenmodell: Trennung von Inhaltsstruktur, Präsentation und Verhalten (‽)

    Hier geht es weniger um die Aufgaben von HTML, CSS und Javascript, sondern um deren "Anordnung" im Dokument. HTML, CSS und Javascript sollen nicht im Quelltext "vermischt" werden, also keine Inline-Styles und und kein "onclick=...".

    Bei der Funktion sieht es ganz anders aus. Hier sind die Aufgaben von HTML und CSS getrennt, also hier könnte man von Funktionsschichten reden: HTML als Basis und darauf baut dann CSS auf. Javascript kann aber überall eingreifen, könnte also in einer Grafik neben beiden stehen:

    ---------------------
    | CSS  |            |
    -------| Javascript |
    | HTML |            |
    ---------------------
    

    Gruß Jürgen

    1. Vielen Dank an alle für Eure Anregungen!

      Dann versuche ich das alles mal zu verabeiten.

      Herzliche Grüße

      Matthias Scharwies