Nach Revision 382 meldet sich Stefan Tilkov zu Wort um ein paar andere Ansichten zum Thema Web-Architekturen zu liefern.
Schaunotizen
- [00:02:20] Webarchitekturen
- Groß ausschweifend sprechen wir über REST und was es denn eigentlich ist, die URL als Pfeiler guter Web-Architekturen, und die Geissel der modernen Web-Anwendungen: Die Single Page Applications. Es treffen traditionelle Architekturen und Ansichten auf moderne Frameworks, und wir versuchen einen Konsens zwischen dem was war, dem was ist, und dem was sein könnte zu treffen. Themen die wir dabei besprechen: SPA vs ROCA, HTML und HatEoAS, GraphQL, Web Components und natürlich viel Kultur, Organisation und allerlei. Viel Spaß!
Links zum Thema:
Kommentare
Benjamin Damm #
Geschrieben am 1.06.2019 um 21:00
Hi,
tolle Folge. Nice, dass ihr euch auch mal kritisch mit dem ganzen Framework-Wahnsinn auseinander setzt. Ich gebe da Stefan auch absolut Recht. Es gibt Entwicklungen, da haben bestimmte Fehlentscheidungen total überhand genommen. Aber ich muss dagegen halten bei seiner Aussage: Niemand will etwas wie Itunes im Browser. Denn die Realität ist: Genau das will man. Tausend verschiedene Client-Implementierungen für Zielsysteme kosten viel Geld. Und auch da bindet man sich stark an Sprachen der jeweiligen Plattformen. Die Mobilplattformen zeigen das sehr eindrücklich.
Ich verstehe auch, dass die SPA-Frameworks das Web ein wenig „kaputt“ machen, weil ohne JS nichts mehr läuft. Aber man muss auch einsehen, dass HTML eine Dokumentensprache ist. Und wie heute Erwartungen an Anwendungen haben, die völlig andere sind als zum Zeitpunkt als HTML entwickelt wurde. Man biegt es sich zurecht richtig. Aber darin liegt doch auch ein großer Vorteil. Denn HTML erlaubt genau so etwas. Es ist flexibel und abstrakt genug, dass es nach dem Motto „Power to you!“, wie Stefan erwähnt solche Möglichkeiten geschaffen hat.
Arbeit im Enterprise ist immer etwas archaisch. Und das ist auch gut so. Man muss nicht jeden Hype mitmachen. Aber ist JS, oder besser gesagt viel JS tatsächlich ein Hype? Geht der nicht schon viel zu lang dafür? Ich finde viele Aussagen von Stefan haben etwas von „Opa erzählt vom Krieg“ wie man das auch aus Firmen und Abteilungen kennt, die null bereit sind mal über Realisierungswege, die 20 Jahre alt sind hinaus zu denken. Ich finde auch er bleibt absolut im Unklaren, wie er sich das vorstellt. Man kann SPAs kritisieren für das was sie sind, Behilfsmittel und zwar auch völlig zu Recht, weil sie neue Probleme schaffen, für Dinge die bereits in plain HTML gelöst wurden. Wie zum Beispiel Suchmaschinenindexierbarkeit. Aber er verzichtet auch völlig auf Angebote, wie man das anders machen kann. Klar wie sollte er das auch wissen, aber per se SPAs schlecht zu reden und zu sagen: Niemand braucht das (in der Gesamtbetrachtung, ich weiß, dass er das so nicht sagte), finde ich falsch. Laut seiner Aussage gibt es Anwendungsfälle im einstelligen Prozentbereich und das stimmt einfach nicht.
Es gibt Themen wie WebAssembly, die noch viel weiter gehen mit diesem Konzept. Und wer findet es nicht toll, dass man mit einer Sprache alle Zielplattformen bedienen kann, weil nur ein Browser von Nöten ist? Mit jedem Vorteil kommt ein Nachteil. Aber die Vorteile in dem Bereich sind enorm. Ich sehe da auch keine Entwicklung, die das rückgängig machen wird.
Und zum Thema REST. Ich gebe in allen Punkten Recht. Aber HATEOAS. Das Ding ist tot, niemand nutzt es. Ab und zu begegnet es einem (sehr selten) und man denkt: Ja nice, dass sieht interessant aus. Aber es existieren so gut wie keine Patterns, die das ordentlich skalierbar umsetzen, dass der Browser durch JSON eine Anwendung komplett navigiert. Vor allem in dem Punkt, dass es irgendwie einfacher oder sauberer wäre. Und das liegt daran, dass JSON nicht standardisiert ist in dem Maß wie man es bräuchte für so etwas. HATEOAS gibt es schon so lange, und ich würde vereinfacht sagen: Niemand benutzt es. Und das hat Gründe. Man kann sich als Informatiker auch nicht immer mit dem normativen Finger hinstellen und sagen ihr macht alles falsch. Denn was Stefan sehr gern missachtet ist Usability. Und jeder der mit UX zu tun hat weiß: Der User (oder auch Entwickler) nimmt den einfachsten Weg mit dem größten Ergebnis. Und wenn ich an das Bild denke mit dem Schleichweg über die Wiese um UX zu verbildlichen, sehe ich genau diese Entwicklung. HATEOAS ist viel zu idealistisch. Genau wie der Anspruch 1kb JS zu schreiben, wenn sowieso die Bandbreite ständig wächst. Wir haben auch kein Windows 98 mehr mit 64MB Ram. Warum sollte also der Client nicht entsprechend seiner Rechenleistung arbeiten? Oder soll davon wirklich mein Akku 2 Wochen halten nur weil wir kein JS mehr im Browser nutzen? Das finde ich wirklich bisschen albern.
Alles in allem, sehr fruchtbare Diskussion. Man muss über so etwas diskutieren. Aber Stefan täte gut daran weniger Idealist zu sein. Denn nichts, absolut nichts in der Welt folgt einem Ideal zu 100%.
Viele Grüße
Daniel Heidecke #
Geschrieben am 4.06.2019 um 11:49
Amen! Danke, Benjamin. Du nimmst mir die Worte aus dem Mund. Trotzdem eine tolle Folge – vor allem *weil* sie so polarisierend war. Auch vielen Dank an Stefan Baumgartner, dass er auf seine sehr angenehme und empathische Art so einigen Wind aus der etwas einseitigen Argumentation von Herrn Tilkow genommen hat.
Ziel sollte sein, die Entwickler zu ermächtigen das richtige Werkzeug für die jeweilige Aufgabe auszuwählen.
Eurer Konsens am Ende (Jede Organisation baut sich quasi in Softwaresystemen nach) ist übrigens „Conway’s law“: https://de.wikipedia.org/wiki/Gesetz_von_Conway – und ich konnte das bisher in all meinen Projekten als Freelancer bestätigen. Daher sollte es weniger um technische Details und Lösungen gehen, sondern eher um die Art, wie man in einem Unternehmen bzw. Projekten zusammenarbeitet.
Stefan #
Geschrieben am 6.06.2019 um 09:25
Yeah! Danke für’s Lob! Was magst denn trinken ;-)
Freut mich riesig, dass euch die Episode gefällt… uns hats auch sehr Spaß gemacht die aufzuzeichnen.
Danke auch dass du Conways Gesetz erwähnst. Es ist kein Zufall dass es dich daran erinnert, ich bin genau über das vor ein paar Wochen gestolpert ;-)
RSS-Feed zu diesem Beitrag
Kommentare sind für diesen Beitrag geschlossen.