Revision 553: State of JS2, Framework Boogaloo

Nachdem sich Vanessa und Peter in ihrem ersten Anlauf noch um ein strukturiertes Abarbeiten des Fragenkatalogs der 2022er State of JS-Umfrage bemüht hatten, ergehen wir uns dieses Mal in eher freier Assoziation, schaffen es dabei aber auch, die verbleibenden 98% der Umfrage in einer Revision abzufertigen.

Schaunotizen

[00:00:58] State of JS
Die zweite Hälfte des State of JS befasst sich mit Tools und Frameworks, die wir eher abstrakt diskutieren. Zu den relevanten Fragen zählt die von State of JS getroffene Unterscheidung zwischen Frontend- und „Render-Frameworks“ (Next, Nuxt, Gatsby etc.), die Frage inwiefern Frontend-Frameworks eher ein Management als ein Entwickler-Tool sind und wie Web Components dazu passen. Ob wir jemals weniger Frameworks haben (oder werden haben wollen) und ob uns der framework-industrielle Komplex überhaupt lässt, bleibt trotz des kreativen Einsatzes von Auto-Analogien (u.A. zur Pistolenschaltung) ungeklärt. Zu Sinn und Zweck von Mobile Frameworks haben wir eher wenig beizutragen, feiern aber Browser-Devtools wie DOM-Breakpoints (Chrome, Firefox), Hover-State-Enforcing (Chrome, Firefox), Resource Overrides (Chrome-Extension) und In-Devtools-Suchfunktionen gründlich ab (und anwesende Performance-Päpste finden darüber hinaus an an Chromes Trace-Tools gefallen). Weitere ehrenswerte Nennungen erfahren Sentry, die (einigermaßen) gute alte Formularvalidierung, <dialog> und <details>, die View Transition API und generell alles aus der Revision 552 zu Frontend Development im Jahr 2023.
Transkript
WEBVTT

00:00.000 --> 00:04.000
WorkingDraft Revision 553.

00:31.000 --> 00:36.000
Diese Revision von WorkingDraft wird euch präsentiert von Hörerinnen und Hörern wie euch.

00:36.000 --> 00:40.000
Auf patreon.com slashworkingdraft könnt ihr uns ein paar Euro in den Hut werfen.

00:40.000 --> 00:47.000
Aus euren Beiträgen und unseren gelinglichen Werbeeinnahmen bezahlen wir allerlei teure Software-Abus und das Honorar unserer Audio-Produceren.

00:47.000 --> 00:52.000
Wenn ihr euch auch beteiligen wollt, könnt ihr das unter patreon.com slashworkingdraft sehr gerne machen.

00:52.000 --> 01:01.000
Wir danken euch tausendfach für die Unterstützung und fürs weitere Zuhören.

01:22.000 --> 01:30.000
Ich habe meine Weihnachtsbrille leider nicht gefunden, die ich noch schnell anziehen wollte.

01:30.000 --> 01:34.000
Die liegt unerreichbar für mich.

01:34.000 --> 01:42.000
Ich bin der Schepp und es steht ja noch aus, den zweiten Teil oder vielleicht den zweiten von noch viel mehr Teilen des State-of-JS aufzunehmen.

01:42.000 --> 01:45.000
Und das machen wir heute.

01:45.000 --> 01:52.000
Ich war bei der letzten bei der ersten Ausgabe ja nicht dabei. Ich habe mir die aber wohl angehört.

01:52.000 --> 01:55.000
Das heißt, so ein bisschen im Bilde bin ich schon.

01:55.000 --> 02:01.000
Wie das halt beim State-of-JS so ist, gibt es ja so verschiedene thematisch kopierte Kapitel.

02:01.000 --> 02:12.000
Und ich glaube, ihr seid zuletzt, ihr habt viel Zeit in den ersten drei Kapiteln verbracht und musstet dann bei den Frameworks das Handtuch werfen.

02:12.000 --> 02:16.000
Zeitliche Handtuche.

02:16.000 --> 02:23.000
Ich glaube, wenn wir neben Tempo weitermachen schaffen, das heute auf jeden Fall auch nicht. Aber wir gucken mal, wie weit wir kommen.

02:23.000 --> 02:28.000
Ich bin mir ziemlich sicher, dass ich zu AngularJS weniger zu sagen habe als zu Proxies.

02:28.000 --> 02:33.000
Jetzt habe ich auch schon wieder AngularJS gesagt. Aber dazu habe ich wirklich wenig zu sagen.

02:33.000 --> 02:44.000
Genau, die haben das hier aufgeteilt in Front-End-Frameworks und danach kommen die Rendering-Frameworks. Ich weiß nicht ganz genau, wo die da den Unterschied sehen.

02:44.000 --> 02:50.000
Was aber auch da liegt, dass ich jetzt gerade Front-End-Frameworks auf habe und noch nicht in Rendering-Frameworks reingeschaut habe.

02:50.000 --> 03:02.000
Rendering-Frameworks sind so die Next-JS-Dinger, die halt irgendwie festgestellt haben, dass Single-Page-Application als alleiniges Konzept vielleicht nicht ganz so tragfähig ist, wie man zwischenzeitlich mal dachte.

03:02.000 --> 03:07.000
Also sie rendern dann die Webseite nicht nur und also sie surfen die dann auch.

03:07.000 --> 03:13.000
Ich schätze mal, dass es alle sind, die ihren eigenen Server noch dazu brauchen, wahrscheinlich alle so ein bisschen auf Node.js.

03:13.000 --> 03:16.000
Die quasi alle Stages abdecken und nicht nur denen.

03:16.000 --> 03:28.000
Genau, dass du dann auch einmal das Statische HTML raus rendern kannst, falls du eine Statische Webseite möchtest oder halt eine dynamische Webseite aber eben mit JavaScript Server auch ausliefern.

03:28.000 --> 03:33.000
Dementsprechend hat man dann auch definitiv einen getrenntes Front-End und Back-End.

03:33.000 --> 03:39.000
Ist ja definitiv so der Trend der letzten, weiß ich gar nicht, wie viele Jahre schon länger.

03:39.000 --> 03:49.000
Jetzt sehe ich fast auch wieder den Trend auf der anderen Seite, dass man Back-End und Front-End teilweise auch wieder zusammen ausliefert.

03:49.000 --> 04:04.000
Oder so ein Mischmasche von allem ein bisschen macht, dass man halt quasi seine eigene Webseite durch verschiedene Technologien eben ausliefert.

04:04.000 --> 04:15.000
Dann hat man den Statischen Teil, aber dann gibt es eben eine Front-End-Back-End-Applikation zusammen, ein Full-Stack-Framework oder es gibt dann wieder einen anderen Bereich, der dann wieder eine Single-Page-Application ist.

04:15.000 --> 04:20.000
Das ist quasi immer das passende für die Aufgabe aus so einem Ganzen.

04:20.000 --> 04:23.000
Ob es das passende dann immer ist, ist die andere Frage.

04:23.000 --> 04:26.000
Aber ich glaube, das hat sich da immer so mal entwickelt.

04:26.000 --> 04:28.000
Das ist immer das Ziel.

04:28.000 --> 04:36.000
Aber ich glaube, wir hatten auch letztens schon mit Joe darüber gesprochen, dass Micro Front-Ends zum Beispiel klingen ja in der Theorie ganz toll.

04:36.000 --> 04:42.000
Ich habe mit ihnen geantwortet, ich habe mit vielen gesprochen, die damit arbeiten und es hat viele Vorteile.

04:42.000 --> 04:47.000
Aber meistens ist die Praxis nicht ganz so supergeil wie die Theorie.

04:47.000 --> 04:57.000
Und ich glaube auch dieses, wir suchen immer die richtige Technologie für den richtigen Bereich aus, ganz egal ob Micro Front-Ends oder nicht, hat da ähnliche Problemchen.

04:57.000 --> 05:09.000
Eigentlich wäre, glaube ich, auch Bereiche, wo ich an der Stelle vielleicht nicht Vue.js hätte einsetzen müssen, sondern L-Pine.js hätte gereicht.

05:09.000 --> 05:14.000
Aber das ganze Team kennt halt Vue.js und es ist schon installiert und es wird schon gemaintaint.

05:14.000 --> 05:20.000
Und wollen wir uns dann noch ein Framework mehr ans Bein binden, ist dann auch die andere Frage.

05:20.000 --> 05:26.000
Aber das könnte man ja auch so laufen lassen unter das richtige Framework für den richtigen Einsatzzweck.

05:26.000 --> 05:36.000
Also der Einsatzzweck ist dann bei dir eben auch, irgendwie jeder sollte sich damit auskennen und nicht noch mal zusätzlich was sich drauf schaffen müssen.

05:36.000 --> 05:42.000
Und vielleicht muss das auch noch gut korrexistieren. Also ich weiß nicht, ob L-Pine.js gut mit Reakt leben kann zusammen, wahrscheinlich eher nicht.

05:42.000 --> 05:45.000
Weil das eine manipuliert Dom, das andere den State.

05:45.000 --> 05:54.000
Also so wie wenn man so zu Anfangszeiten der reaktiven Frameworks immer noch so, hey, aber das kann ich nochmal mit jQuery schnell machen und dann so, ja, nee, geht nicht.

05:54.000 --> 06:05.000
Also wenn, dann musst du nur State machen, weil das State getriebene, reaktive Framework dann einfach das alles wieder zurückrollt, was jQuery da im Dom rum fummelt.

06:05.000 --> 06:14.000
Die Frage ist halt tatsächlich, sucht man das richtige Werkzeug für den richtigen Einsatzzweck, also für das Problem, das es zu lösen gilt?

06:14.000 --> 06:19.000
Oder braucht man eher ein Framework, das zur restlichen Gesamtsituation passt?

06:19.000 --> 06:27.000
Weil also ich bin mir jetzt nicht wirklich so sicher, ob man heutzutage da wirklich irgendwie einen Unterschied bezüglich Fähigkeiten machen kann.

06:27.000 --> 06:32.000
Weil ich meine, man kann ja so ziemlich jedes Problem mit jedem Framework auf die ein oder andere erschlagen.

06:32.000 --> 06:35.000
Und das geht sicherlich mal besser, mal weniger gut.

06:35.000 --> 06:40.000
Aber es gibt ja zumindest für alles irgendwie den offiziellen Weg, das irgendwie gebacken zu bekommen.

06:40.000 --> 06:46.000
Und da frage ich mich halt eben, ob so die alles überschattende Überlegung nicht eher sein sollte, was man sonst so da hat.

06:46.000 --> 06:52.000
Also irgendwie keine Ahnung, ich will irgendwie ein Problem lösen und ich habe irgendwie ein Hochhaus voller Leute, die reakt können.

06:52.000 --> 07:00.000
Dann wäre das ja wahrscheinlich irgendwie sinnvoll, Reakt auch dann zu nehmen, wenn es vielleicht für ein gewisses Problem die weniger gute Lösung wäre,

07:00.000 --> 07:05.000
wenn es nicht eine Vollkatastrophe wird, aber dann kriege ich es halt eben einigermaßen, sagen wir berechenbar umgesetzt,

07:05.000 --> 07:10.000
weil ich halt eben das institutionelle Wissen darum habe, wie man es denn machen würde.

07:10.000 --> 07:15.000
Also hier so klassischer Fall ist halt irgendwie so, okay, wir brauchen jetzt irgendwie für so eine interne Anwendung,

07:15.000 --> 07:18.000
einfach nur ein Haufen Formulare, die das irgendwie eine Datenbank reinschreiben.

07:18.000 --> 07:22.000
Wo ich ja normalerweise so spontan sagen würde von so dem Use Case her.

07:22.000 --> 07:26.000
Und man nimmt halt irgendwie so ein althergebrachtes Backend Framework, so Ruby on Rails-mäßig,

07:26.000 --> 07:31.000
dann einfach nur hin deklariert, das ist meine Datenbankstruktur und das Ding setzt einem das automatische ein okayes Formular um.

07:31.000 --> 07:35.000
Speichert das weg, Machtvalidierung und Block in bla bla bla und ich habe null Arbeit.

07:35.000 --> 07:37.000
Nützt mir halt nichts, wenn ich niemanden da habe.

07:37.000 --> 07:42.000
Mit Reakt muss man das ja quasi irgendwie von Grund auf neu aufbauen oder sich halt irgendwie 9000 Dependencies installieren,

07:42.000 --> 07:47.000
aber dann kriegt man es halt irgendwie in einem berechenbaren Zeitrahmen zuverlässig hin.

07:47.000 --> 07:54.000
Ja, ich bin ja auch so jemand, der das bevorzugt, also zu wissen, was da passiert.

07:54.000 --> 07:58.000
Lieber mehr Arbeit und zu Fuß und dann genau wissen, was wo passiert,

07:58.000 --> 08:05.000
um damit ich eben auch quasi Garantie, Garantien aussprechen kann, dass wir irgendwie was schaffen.

08:05.000 --> 08:11.000
Und dass ich auch, wenn irgendwas ist, weiß so, ah, das ist an der Stelle, muss ich die Motorhaube öffnen

08:11.000 --> 08:18.000
und rein fassen und das irgendwie anzupassen, als eben auf irgendeine Magic zu setzen.

08:18.000 --> 08:24.000
Webpack ist ja auch so ein Kandidat, die halt vielleicht das gut macht,

08:24.000 --> 08:27.000
aber wo ich im Grunde gar nicht weiß, wie das im Hintergrund funktioniert

08:27.000 --> 08:30.000
und wo ich auch nicht gerade stehen kann für.

08:30.000 --> 08:34.000
Ja, außerdem von Peter grad genannten Fall mit den internen Tools.

08:34.000 --> 08:38.000
Da ist mir eigentlich egal, wie viel Magic da jetzt mit geliefert wird,

08:38.000 --> 08:43.000
hat es funktioniert schnell und da ist natürlich dann die Voraussetzung,

08:43.000 --> 08:49.000
dass wir an diesem Interface dann möglichst wenig rumschrauben müssen.

08:49.000 --> 08:54.000
Da ist egal, ob der Button jetzt eckige oder runde Border Radius hat oder ähnliches,

08:54.000 --> 08:57.000
also gerade auch was CSS Frameworks dann angeht.

08:57.000 --> 09:00.000
Verwend ich für solche Falle immer noch gerne,

09:00.000 --> 09:03.000
wo immer, weil ich die Klassennamen einfach immer noch auswendig kenne.

09:03.000 --> 09:07.000
Und was jetzt der Button da für Style ist, also die klasse Button da,

09:07.000 --> 09:13.000
was wirklich für Style es ran macht, ist egal. Und das einzige Feedback,

09:13.000 --> 09:19.000
was kommen kann, ist tatsächlich, das finde ich super interessant,

09:19.000 --> 09:24.000
wenn dann an den Link eine Buttonklasse ran gehängt wird.

09:24.000 --> 09:27.000
Also dann, weil das ist so tief in den Leuten drin,

09:27.000 --> 09:31.000
das kann ich ja nicht im neuen Tab öffnen.

09:31.000 --> 09:36.000
Und dann habe ich dann nochmal nachgeschaut,

09:36.000 --> 09:38.000
aber guck mal, das schaut aus wie ein Button.

09:38.000 --> 09:41.000
Wieso haben wir dann einen Button? Ja, das schaut schön aus.

09:41.000 --> 09:47.000
Aber da, wie gesagt, der Button ist round, irgendwas wird schon funktionieren.

09:47.000 --> 09:52.000
Wie ich da jetzt das richtige Margin einstelle, das Style geht schon auch.

09:52.000 --> 09:56.000
Ja, es ist also worauf basiert dein Business in erster Linie.

09:56.000 --> 09:59.000
Also das, was so deine Kernkompetenz ist,

09:59.000 --> 10:02.000
da solltest du am besten die Größekontrolle darüber haben.

10:02.000 --> 10:09.000
Also dann wählst du eben Technologien aus, die du einfach gut beherrschst,

10:09.000 --> 10:11.000
weil du lebst ja davon.

10:11.000 --> 10:15.000
Und vielleicht diese anderen zusätzlichen Tools, die du dir so rundrum aufbaust.

10:15.000 --> 10:19.000
Also das ist ja genauso, die kannst du auch theoretisch auslagern

10:19.000 --> 10:22.000
in die Cloud, an irgendwelche Anbieter als Software,

10:22.000 --> 10:25.000
es ist Service oder sowas, weil so egal.

10:25.000 --> 10:29.000
Aber so dein Kernprodukt da, also das willst du,

10:29.000 --> 10:33.000
willst du einfach unter Kontrolle haben, so gut es geht.

10:33.000 --> 10:37.000
Ja, ich denke, das ist halt so das Ding.

10:37.000 --> 10:40.000
Wir hatten ja mal vor ewig langer Zeit, also hier,

10:40.000 --> 10:43.000
die Accelerated Mobile Pages noch was waren.

10:43.000 --> 10:46.000
Da haben wir ja mal irgendwann mal herausgearbeitet,

10:46.000 --> 10:49.000
dass das ja weniger ein technisches Ding ist,

10:49.000 --> 10:51.000
als vielmehr so ein Management Tool,

10:51.000 --> 10:53.000
um irgendwie die Leute darauf einzunorden,

10:53.000 --> 10:56.000
dass man halt gewisse Best Practices befolgt.

10:56.000 --> 10:59.000
Und ich glaube, ich tendiere mittlerweile dazu,

10:59.000 --> 11:01.000
diesen ganzen Frontend Framework,

11:01.000 --> 11:04.000
wo heia auch so ein bisschen in diese Richtung zu schieben.

11:04.000 --> 11:06.000
Weil das ist halt eben ein schwieriges Problem,

11:06.000 --> 11:09.000
da irgendwie so eine Frontend-Applikation aufzuziehen.

11:09.000 --> 11:12.000
Und wenn man zumindest irgendwie einen Weg eingeschlagen hat,

11:12.000 --> 11:15.000
und sei es, dass er über drei, weiß ich nicht,

11:15.000 --> 11:17.000
Umfahrungen und Umleitungen führt,

11:17.000 --> 11:19.000
wenn er am Ende zum Ziel führt,

11:19.000 --> 11:21.000
mit Werkzeugen, wie man so einigermaßen drauf hat,

11:21.000 --> 11:23.000
dann nimm's halt und mach dir halt bloß nichts drauf,

11:23.000 --> 11:25.000
wenn irgendwie deine Codebase ein bisschen all aussieht

11:25.000 --> 11:27.000
und halt nicht mehr Hippe ist.

11:27.000 --> 11:30.000
Solange da irgendwie noch einigermaßen Pflege

11:30.000 --> 11:33.000
und Aktivität hinter ist, nimm's halt.

11:33.000 --> 11:35.000
Man müsste halt nur vielleicht noch überlegen,

11:35.000 --> 11:37.000
wie das so mit der Risikoabwägung ist bezüglich,

11:37.000 --> 11:40.000
was machen wir denn, wenn dem Ding so eine Art

11:40.000 --> 11:43.000
AngularJS2Angular bevorsteht?

11:43.000 --> 11:45.000
Irgendwie solche Migrationen.

11:45.000 --> 11:47.000
Und da gibt's ja im Prinzip auch zwei Strategien,

11:47.000 --> 11:49.000
wo man halt irgendwie sagen kann,

11:49.000 --> 11:52.000
entweder ist das jetzt nicht so kern oder nicht so wichtig,

11:52.000 --> 11:54.000
oder wir machen da irgendwie einen anderen Trade-Off,

11:54.000 --> 11:56.000
wo wir rausgehen, dass dieses Fronten so lange überlegt,

11:56.000 --> 11:58.000
dass man halt eben sagt, solche größeren Migrationsschritte,

11:58.000 --> 12:00.000
die ja im Prinzip von außen an uns herangetragende Arbeit sind,

12:00.000 --> 12:02.000
die wir nicht bestellt haben, die uns ja auch nicht weiterbringt,

12:02.000 --> 12:04.000
die gehen wir nicht mit oder die gehen wir mit.

12:04.000 --> 12:07.000
Das sind, glaube ich, eigentlich die interessanteren Dimensionen,

12:07.000 --> 12:10.000
worauf man diese Framework-Frage diskutieren muss,

12:10.000 --> 12:13.000
als irgendwie errendert jetzt irgendwie React oder Angular

12:13.000 --> 12:15.000
das Ding irgendwie eine halbe Millisekunde schneller.

12:15.000 --> 12:17.000
Ich glaube, das ist wirklich fast immer egal.

12:17.000 --> 12:19.000
Ja, ist es auch.

12:19.000 --> 12:21.000
Genau, für das andere, was du gesagt hast,

12:21.000 --> 12:23.000
da kann man vielleicht schauen,

12:23.000 --> 12:28.000
dass man es schafft, sein Framework für vielleicht eben da

12:28.000 --> 12:30.000
nur einzusetzen, wo es wirklich nötig ist,

12:30.000 --> 12:35.000
dass man vielleicht irgendwie Business-Logic in JavaScript-Modulen hat,

12:35.000 --> 12:40.000
die man theoretisch sowohl in React rein importieren kann,

12:40.000 --> 12:44.000
wie auch in Angular Business-Logic.

12:44.000 --> 12:47.000
Und dass du nach vorn raus, möglicherweise, dann sagst du, okay,

12:47.000 --> 12:51.000
ich nutze Web-Components, die kann ich auch wieder andocken

12:51.000 --> 12:54.000
an so eine Middleware, egal welche das ist, also ob das,

12:54.000 --> 12:57.000
also egal welche das ist, geht natürlich bei React jetzt,

12:57.000 --> 12:59.000
glaube ich, nicht.

12:59.000 --> 13:01.000
Ja, ich wollte gerade auch.

13:01.000 --> 13:04.000
Genau, aber an Preact kannst du das ja andocken.

13:04.000 --> 13:08.000
Was ja, was ein Ersatz sein könnte für React,

13:08.000 --> 13:11.000
aber im Grunde, also trotzdem gilt das ja,

13:11.000 --> 13:14.000
also du kannst es an so ziemlich alles andocken.

13:14.000 --> 13:16.000
Das gilt, aber there's no free lunch, das ist halt das Ding.

13:16.000 --> 13:19.000
Das ist halt schon Aufwand, den du halt irgendwie rechtfertigen musst.

13:19.000 --> 13:23.000
Ja, ja, aber wenn du dich wappnen willst,

13:23.000 --> 13:26.000
und ich glaube, das passiert ja immer, also ich meine,

13:26.000 --> 13:30.000
Vanessa hat erzählt, dass ihr habt dann von View2 auf View3

13:30.000 --> 13:33.000
migriert, also irgendwie so kramert man ja ständig.

13:33.000 --> 13:38.000
Und ich glaube, die mehr man da auf irgendwelche Web-Standards

13:38.000 --> 13:44.000
auslagert, die bleiben ja stabil oder stabil leer

13:44.000 --> 13:48.000
und also desto weniger muss man dann migrieren.

13:48.000 --> 13:51.000
Ja, aber dafür machst du dir halt dann den Alltag kaputt.

13:51.000 --> 13:54.000
Also wenn du jetzt wirklich Web-Components auf dem Stand von heute nimmst

13:54.000 --> 13:57.000
und die schmeißt du in deinen React TypeScript rein,

13:57.000 --> 14:01.000
dann hast du extrem viel mehr Aufwand für wenig wirklich spürbaren Zugewinnen,

14:01.000 --> 14:04.000
weil ja im Prinzip an dieser Web-Component-Boundary,

14:04.000 --> 14:08.000
wo ja im Prinzip du sprichst halt im wesentlichen HTML,

14:08.000 --> 14:09.000
du sprichst im wesentlichen String,

14:09.000 --> 14:12.000
da geht dir ja im Prinzip sämtlicher TypeScript-Vorteil flöten.

14:12.000 --> 14:15.000
Und du hast halt ein komplett anderes Entwicklungsparadigma,

14:15.000 --> 14:18.000
du musst halt irgendwie eine komische Klasse schreiben und du hast ja auch das Konzept

14:18.000 --> 14:21.000
von irgendwelchen Life-Cycles, aber funktioniert dann alles einfach komplett anders

14:21.000 --> 14:24.000
und du hast halt gewaltigen mentalen Overload.

14:24.000 --> 14:29.000
Ja, aber nur weil du den, wenn du die anderen Frameworks gewohnt bist, oder?

14:29.000 --> 14:33.000
Und mir ist TypeScript übrigens wurscht, weil ich es ja nicht benutze.

14:33.000 --> 14:37.000
Das ist ja auch völlig valide, aber das ist halt so,

14:37.000 --> 14:39.000
zumindest wenn du ja zum Beispiel von Angular redest,

14:39.000 --> 14:42.000
wo das ja im Prinzip de facto der Standard ist,

14:42.000 --> 14:45.000
und auch bei React gibt es das relativ häufig.

14:45.000 --> 14:47.000
Okay, lassen wir den TypeScript-Faktor raus.

14:47.000 --> 14:51.000
Es ist trotzdem so, du hast halt immer noch, ja, es ist halt mehr auffand.

14:51.000 --> 14:54.000
Und diesen mehr auffand könntest du dir sozusagen ersparen,

14:54.000 --> 14:58.000
indem du einfach so sagst, ach komm, wird schon nicht schief gehen.

14:58.000 --> 15:00.000
Wir nehmen jetzt einfach hier die React-Komponente,

15:00.000 --> 15:03.000
die das schon irgendwie macht mit irgendwelchem Krams,

15:03.000 --> 15:04.000
und dann passt das schon.

15:04.000 --> 15:06.000
Also zumindest ist das jetzt meine Erfahrung,

15:06.000 --> 15:09.000
wo ich letztens das ganze Jahr im Prinzip damit gerungen habe,

15:09.000 --> 15:13.000
irgendwie CodeMirror in einer selbst gebastelten Art und Weise

15:13.000 --> 15:16.000
in eine React-Aplikation zu integrieren mit TypeScript on top.

15:16.000 --> 15:19.000
Und das war ausgesprochen unintuitiv und sehr viel Arbeit.

15:19.000 --> 15:21.000
Und ich hätte es sehr viel leichter haben können,

15:21.000 --> 15:25.000
aber dann hätte ich halt nicht Business-Logik von dem ganzen Kern isoliert.

15:25.000 --> 15:28.000
Und das wollte ich in dem Fall haben, aber hätte ich es nicht gemacht,

15:28.000 --> 15:31.000
hätte ich mir wirklich viele, viele Wochen des Rumgewirges ersparen können.

15:31.000 --> 15:34.000
Jetzt nicht Vollzeitarbeit, aber halt so,

15:34.000 --> 15:36.000
wo man halt am Feierabend nochmal dran schraubt,

15:36.000 --> 15:38.000
da hätte ich viele Wochen was anderes schrauben können.

15:38.000 --> 15:41.000
Ja, ich habe da die identische Erfahrung gemacht.

15:41.000 --> 15:46.000
Also das ist, ich sage auch die Argumente und ich bringe auch die Argumente ein,

15:46.000 --> 15:50.000
wie maintainable ist das Ganze, dann müssten wir das alles mal migrieren und etc.

15:50.000 --> 15:53.000
Dennoch ist es genau dieser Alltag.

15:53.000 --> 15:58.000
Das merke ich jetzt immer, wenn man immer so seit 2, 3 Jahren eine Codebase hat

15:58.000 --> 16:03.000
und dann aber irgendwie für einen Side-Projekt oder für was auch immer,

16:03.000 --> 16:07.000
für eine Demo, einfach mal wieder das Neuste hernimmt

16:07.000 --> 16:11.000
und da zum Beispiel sind die Seiten laden schon automatisch,

16:11.000 --> 16:15.000
haben da schon so ein Ladebalken drin, die Error-Cases werden schon automatisch für dich.

16:15.000 --> 16:18.000
Irgendwie, da kommt es schon eine ganze Notification bei dem Framework dabei

16:18.000 --> 16:21.000
oder bei Umstellungen auf Webpack zu Vite,

16:21.000 --> 16:25.000
wenn man einmal damit Vite eine Applikation installiert hat,

16:25.000 --> 16:29.000
dann will man da eigentlich nicht wieder sein Webpack-Projekt starten.

16:29.000 --> 16:33.000
Und das ist der Alltag, um schnell Features zu liefern

16:33.000 --> 16:38.000
und schnell Sachen zu ändern und mit dem CSS-Framework der eigenen Wahl,

16:38.000 --> 16:41.000
was auch immer die Design jetzt sei, schnell zu sein

16:41.000 --> 16:46.000
und mehrere User damit glücklich zu machen.

16:46.000 --> 16:49.000
Versus ich brauche halt jeden Tag ein bisschen länger,

16:49.000 --> 16:52.000
weil da muss ich Tesla machen und da muss ich hier noch machen,

16:52.000 --> 16:55.000
weil ich möchte das jetzt halt gerade nicht migrieren.

16:55.000 --> 16:57.000
Ich glaube, Testing ist da auch ein gutes Beispiel,

16:57.000 --> 17:02.000
weil vielleicht auch nur in meiner Welt aber Testing am unliebsten migriert wird.

17:02.000 --> 17:07.000
Unliefer als jetzt irgendwie das Front-and-App-Code-Framework-Per-See

17:07.000 --> 17:12.000
und dann handiert man eben da noch mit dem Framework vom letzten Jahr noch herum

17:12.000 --> 17:14.000
und weiß, dass man eben da Stolpersteine hat.

17:14.000 --> 17:17.000
Und dann ist halt die Frage, wie man damit umgeht.

17:17.000 --> 17:21.000
Ich glaube, das Wichtige ist, so feste Entscheidungen zu treffen und zu sagen.

17:21.000 --> 17:24.000
Also, das wird migriert, das wird nicht migriert,

17:24.000 --> 17:27.000
aber wir versuchen vielleicht im Konzept des besseren Frameworks

17:27.000 --> 17:30.000
gerade dem Konzept einfach zu folgen

17:30.000 --> 17:32.000
und haben eben noch die andere Sonntags.

17:32.000 --> 17:38.000
Die Frage, die ich mich nur generell stelle, ist schon,

17:38.000 --> 17:42.000
warum haben wir denn zu viele Auswahlmöglichkeiten?

17:42.000 --> 17:46.000
Also, es gab ja die Zeit, da hatten wir, hatte im L&J Query gefühlt.

17:46.000 --> 17:50.000
Und plötzlich kamen andere Screensizes

17:50.000 --> 17:52.000
und plötzlich gab es andere Geräte

17:52.000 --> 17:54.000
und wir müssen alles für alles optimieren,

17:54.000 --> 17:58.000
für iPhone XS Größe zu ultra-wide-screen

17:58.000 --> 18:01.000
und wir brauchen das alles sehr performant,

18:01.000 --> 18:03.000
weil wir jetzt so viel Logik auch im Frontend haben.

18:03.000 --> 18:07.000
Und da habe ich gesehen, da kamen unfassbar viele Libraries

18:07.000 --> 18:11.000
und unfassbar viele so kleine Helfer-Line mit raus,

18:11.000 --> 18:15.000
ob das jetzt Gulp ist oder Browser-Refy oder dann eben Webpack war.

18:15.000 --> 18:18.000
Aber ich habe auch das Gefühl, das hört einfach nicht auf.

18:18.000 --> 18:22.000
Und da frage ich mich schon, gibt es nicht irgendwann

18:22.000 --> 18:29.000
nur noch Framework X, Rendering Framework Y,

18:29.000 --> 18:33.000
CSS-Modul von mir aus A und B.

18:33.000 --> 18:37.000
Oder bewegen wir uns wirklich in diesem Ökosystem,

18:37.000 --> 18:41.000
wo wir immer 20 verschiedene Frameworks benutzen könnten

18:41.000 --> 18:45.000
und ein Survey haben, wo 20 Frameworks aufgelistet werden,

18:45.000 --> 18:47.000
über die wir lieber im Podcast nicht genau darüber gehen,

18:47.000 --> 18:50.000
weil sonst müsste ich bei 90 Prozent davon sagen,

18:50.000 --> 18:52.000
ja, schon mal gehört, keine Ahnung, schon mal gehört,

18:52.000 --> 18:55.000
keine Ahnung, schon mal gehört, keine Ahnung.

18:55.000 --> 18:58.000
Ich würde auf letzteres Tippen einfach nur,

18:58.000 --> 19:02.000
weil der Problemkreis, den du im Prinzip mit Frontend erschlagen willst,

19:02.000 --> 19:05.000
derart umfangreich ist, dass sich da, glaube ich,

19:05.000 --> 19:09.000
nicht einfach Formfaktor rausbilden wird, der irgendwie so die Lösung ist.

19:09.000 --> 19:12.000
Wo dann es irgendwie so zwei, drei Varianten gibt,

19:12.000 --> 19:14.000
aber letztlich sind es ja alle die gleichen.

19:14.000 --> 19:16.000
Also irgendwie, weiß ich, Personenkraftwagen.

19:16.000 --> 19:18.000
Das ist halt im Prinzip ein ausentwickeltes, gelöstes Problem.

19:18.000 --> 19:20.000
Die sind alle ungefähr gleich groß.

19:20.000 --> 19:22.000
Sie machen alle ungefähr das Gleiche.

19:22.000 --> 19:25.000
Und ich glaube, irgendwie Frontend-Framework ist mehr so Computing-Device,

19:25.000 --> 19:29.000
wo du halt so von deinem Server-Rack bis zu deinem Desktop-Rechner,

19:29.000 --> 19:32.000
zu deinem Laptop, zu deinem Telefon irgendwie all so kramas,

19:32.000 --> 19:34.000
die alle komplett unterschiedliche Sachen wollen,

19:34.000 --> 19:37.000
die unterschiedliche Prioritäten bedienen.

19:37.000 --> 19:40.000
Ich glaube nicht, dass es da irgendwie das eine Framework gibt,

19:40.000 --> 19:42.000
sie alle zu knechten.

19:42.000 --> 19:46.000
Ich meine, selbst in homogenerem, besser designten, sagen wir mal, Räumen,

19:46.000 --> 19:49.000
wenn ich jetzt mal irgendwie mir so, keine Ahnung,

19:49.000 --> 19:51.000
das Java-Universum hernehme.

19:51.000 --> 19:54.000
Selbst da hat sich ja nicht irgendwann mal so ein Equilibrium eingestellt,

19:54.000 --> 19:56.000
dass es so den einen Weg gibt, das alles zu machen,

19:56.000 --> 19:59.000
sondern auch da gibt es halt diverse Möglichkeiten,

19:59.000 --> 20:01.000
Dinge umzusetzen.

20:01.000 --> 20:03.000
Weniger, weil ich halt einfach glaube, dass das einfach,

20:03.000 --> 20:05.000
weil es sich irgendwer mal überlegt hat und nicht so,

20:05.000 --> 20:07.000
wie das Wett mehr oder minder passiert ist,

20:07.000 --> 20:10.000
wo es einfach sehr viel aufgeräumter ist als hier,

20:10.000 --> 20:13.000
aber hier bei dem Chaos, da können, ich glaube, das bleibt so.

20:13.000 --> 20:15.000
Das ist mein Take.

20:15.000 --> 20:21.000
Kann ich jetzt, also ich finde, was der Peter sagt, eindeutend.

20:21.000 --> 20:24.000
Vielleicht ist es bei Java auch so, dass es da weniger Lösungen gibt,

20:24.000 --> 20:28.000
weil jetzt da, weil das Ziel weniger beweglich ist, also so.

20:28.000 --> 20:33.000
Aber das spricht ja auch nur für Peters These.

20:33.000 --> 20:37.000
Ja, also man möchte eben so viele auf einmal abdecken.

20:37.000 --> 20:41.000
Es ist bei Android und iOS Geräten genauso.

20:41.000 --> 20:44.000
Also ich weiß, es gibt jetzt eben Objective C

20:44.000 --> 20:48.000
und es gibt Swift und es gibt Java und es gibt Kotlin.

20:48.000 --> 20:53.000
Aber ich habe nicht das Gefühl, dass es da jetzt noch so 10

20:53.000 --> 20:55.000
Verschiedenes Date Management Tools gibt,

20:55.000 --> 21:00.000
sondern vielleicht zwei oder drei.

21:00.000 --> 21:03.000
Ja, das kann sein, aber die müssen halt eben auch nicht

21:03.000 --> 21:06.000
potenziell auf irgendeinem Server in der Cloud existieren.

21:06.000 --> 21:10.000
Sondern das ist halt einfach ein sehr viel abgegrenzteres,

21:10.000 --> 21:12.000
sehr viel abgegrenzterer Problembereich, würde ich behaupten.

21:12.000 --> 21:17.000
Dann meistens gewinnen doch da auch die, sagen wir mal,

21:17.000 --> 21:20.000
Frameworks und Lösungen, die die Hersteller dieser

21:20.000 --> 21:23.000
Ökosysteme selbst anbieten oder entwickeln.

21:23.000 --> 21:28.000
Also weil die einfach gut integriert sind und dann sagt man halt so,

21:28.000 --> 21:32.000
also dann, also ich mein Kotlin wurde zwar nicht von Google

21:32.000 --> 21:36.000
erfunden, aber von Google sozusagen auf den Thron gehoben.

21:36.000 --> 21:40.000
Dann, ich glaube, so Firebase wird ja auch viel verwendet

21:40.000 --> 21:45.000
im Android-Umfeld. Also ich würde sagen...

21:45.000 --> 21:48.000
Hat das was damit zu tun, dass das die Hersteller sind

21:48.000 --> 21:51.000
oder hat das damit zu tun, dass das gewaltig große Firmen sind,

21:51.000 --> 21:54.000
die sich leisten können, in die Entwicklung von solchen

21:54.000 --> 21:56.000
Sachen einfach enorme Summen reinzuprobieren?

21:56.000 --> 22:01.000
Auch, aber ich meine, es könnte ja auch ein Amazon-Framework sein

22:01.000 --> 22:03.000
oder sowas, aber ist es nicht.

22:03.000 --> 22:06.000
Es gibt ja ein sehr, sehr erfolgreiches Facebook-Framework

22:06.000 --> 22:10.000
und diesen kein Hersteller von irgendwas.

22:10.000 --> 22:13.000
Trotzdem nutzt das irgendwie jeder und sein Hund,

22:13.000 --> 22:17.000
weil ich glaube tatsächlich, dass das, was da auch so ein bisschen

22:17.000 --> 22:20.000
mit so einem Framework industriell im Komplex irgendwie zu tun haben,

22:20.000 --> 22:23.000
wo man das halt eben einfach so...

22:23.000 --> 22:25.000
Ich meine, es ist halt einfach riesig aufwendig.

22:25.000 --> 22:27.000
Und auch deshalb wird es halt immer ewig viele Dinger geben,

22:27.000 --> 22:29.000
weil halt immer irgendein Entwickler sagen wird,

22:29.000 --> 22:31.000
Boah, das ist mir jetzt so anstrengend

22:31.000 --> 22:33.000
und ich mache jetzt mal was Neues.

22:33.000 --> 22:35.000
Und das ist leicht gewichtig und schön.

22:35.000 --> 22:37.000
Das ist wirklich der ganze Zirkus von vorne los.

22:37.000 --> 22:39.000
Das ist einfach auch unglaublich schwierig,

22:39.000 --> 22:41.000
da was Rundes, Performance oder sonst wie,

22:41.000 --> 22:42.000
irgendwie hinzukriegen.

22:42.000 --> 22:43.000
Also, ne?

22:43.000 --> 22:44.000
Auf der einen Seite irgendwie dieses...

22:44.000 --> 22:46.000
Da nehmen wir hier irgendwie mal React her,

22:46.000 --> 22:49.000
wo halt irgendwie ja wirklich massiv viel Gehirnpower

22:49.000 --> 22:51.000
von sehr schlauen Leuten reinläuft.

22:51.000 --> 22:53.000
Und selbst wenn man halt davon wirklich so ein leichtgewichtigen

22:53.000 --> 22:56.000
Abzug baut, sowas wie Preact,

22:56.000 --> 22:58.000
die hatten wir ja in der Sendung mehr als einmal,

22:58.000 --> 23:01.000
wo die ja auch äußerst anspruchsvolles Zeug machen,

23:01.000 --> 23:03.000
um ihr Ziel umzusetzen.

23:03.000 --> 23:05.000
Ich glaube nicht, dass du wirklich was mit den Herstellern zu tun hast,

23:05.000 --> 23:07.000
sondern wirklich bis eine direkte Funktion davon,

23:07.000 --> 23:09.000
wie viel Energie und Kapital du da reinpumst,

23:09.000 --> 23:12.000
um halt Entwicklung und Propaganda zu befeuern.

23:12.000 --> 23:14.000
Genau, ich meinte aber also so,

23:14.000 --> 23:16.000
weil Vanessa die Frage gestellt hat,

23:16.000 --> 23:19.000
wie das eben auf mobilen Plattformen ist,

23:19.000 --> 23:22.000
also Android und Apple.

23:22.000 --> 23:24.000
Und die haben halt so...

23:24.000 --> 23:26.000
Die haben halt ihre eigenen Lösungen

23:26.000 --> 23:28.000
und die werden eben gepusht

23:28.000 --> 23:30.000
und werden besonders gut integriert

23:30.000 --> 23:32.000
und supportet und dokumentiert.

23:32.000 --> 23:34.000
Und dann liegt das ja auf der Hand,

23:34.000 --> 23:37.000
dass man diese Lösungen nimmt und nicht was anderes.

23:37.000 --> 23:39.000
Ja, es kann schon auch sein,

23:39.000 --> 23:41.000
weil einfach die Problembereiche ein bisschen kleiner sind.

23:41.000 --> 23:43.000
iOS muss dann zumindest...

23:43.000 --> 23:47.000
oder Swift muss dann zumindest nur auf iOS-Geräten laufen.

23:47.000 --> 23:49.000
Ich glaube, bin mir jetzt nicht 100% nicht sicher,

23:49.000 --> 23:51.000
aber ich bin mir...

23:51.000 --> 23:54.000
ob Swift jetzt sowohl auf MacOS, iPadOS oder wie das heißt.

23:54.000 --> 23:56.000
Und iOS läuft.

23:56.000 --> 23:59.000
Während ja JavaScript muss halt überall laufen.

23:59.000 --> 24:03.000
Das muss im Endeffekt sogar auf der Apple Watch noch laufen.

24:03.000 --> 24:07.000
Und auf Android und auf iOS-Geräten

24:07.000 --> 24:11.000
und auf Nintendo Switch-Geräten und auf der PlayStation.

24:11.000 --> 24:14.000
Und auf SpaceX.

24:14.000 --> 24:16.000
Und das auch noch.

24:16.000 --> 24:18.000
Die Frage ist nur,

24:18.000 --> 24:20.000
wir hatten jetzt schon mehrfach darüber gesprochen,

24:20.000 --> 24:22.000
wie entscheidet man sich jetzt so ein bisschen dafür

24:22.000 --> 24:24.000
und wir haben schon durchhören lassen.

24:24.000 --> 24:27.000
Es ist halt auch von dem Team abhängig,

24:27.000 --> 24:29.000
welche Personen da drin sind

24:29.000 --> 24:32.000
und was hat man gerade schon am Maintainen

24:32.000 --> 24:34.000
und wie viel mehr möchte man...

24:34.000 --> 24:37.000
Also wo entscheidet man sich jetzt dafür?

24:37.000 --> 24:41.000
Ich möchte hier das richtige Problem mit der richtigen Lösung erschlagen

24:41.000 --> 24:43.000
oder ich möchte...

24:43.000 --> 24:45.000
Wir haben schon zwei, drei verschiedene Frameworks,

24:45.000 --> 24:47.000
mit denen kriegen wir das auch gelöst,

24:47.000 --> 24:49.000
also entscheiden wir uns für eins der bisherigen.

24:49.000 --> 24:51.000
Was wir jetzt noch nicht besprochen hatte,

24:51.000 --> 24:54.000
sind die Menschen, die das dann im Endeffekt benutzen.

24:54.000 --> 24:58.000
Die Endkunden, die End-User.

24:58.000 --> 25:00.000
Haben wir dazu...

25:00.000 --> 25:03.000
Habt ihr dazu Performance-Grunden oder eben anderes,

25:03.000 --> 25:05.000
dass ihr euch mal sagt,

25:05.000 --> 25:08.000
wir benutzen hierfür jetzt Quick,

25:08.000 --> 25:13.000
weil da, da, da besser für unsere Endkunden und Kundinnen?

25:13.000 --> 25:16.000
Ich glaube, das kommt darauf an,

25:16.000 --> 25:18.000
wie du das selber gewichtest.

25:18.000 --> 25:21.000
Also ein paar der Frameworks sind bestimmt entstanden

25:21.000 --> 25:25.000
wegen der Google Web-Vitals, die es ja jetzt seit ein paar Jahren gibt,

25:25.000 --> 25:30.000
die dann eben vor allem im Bereich total Blocking-Time,

25:30.000 --> 25:33.000
Time-to-Interaction und so Zeugs

25:33.000 --> 25:36.000
die ganze Zeit sich ausheulen,

25:36.000 --> 25:39.000
immer wenn man eben eines dieser klassischen JavaScript-Frameworks

25:39.000 --> 25:41.000
einen Start gebracht hat.

25:41.000 --> 25:45.000
Und viele der neuen Lösungen,

25:45.000 --> 25:48.000
die verkaufen sich ja als entweder,

25:48.000 --> 25:52.000
hey, du arbeitest mit React, aber wir schippen nichts,

25:52.000 --> 25:59.000
oder du arbeitest mit deinem Lieblings-Templating-Engine

25:59.000 --> 26:03.000
und wir hydraten und machen lebendig,

26:03.000 --> 26:07.000
also nur einzelne Teile deines gesamten Frontends.

26:07.000 --> 26:09.000
Und damit lösen wir dein,

26:09.000 --> 26:15.000
das Problem, das du eben bei den Core Web-Vitals hast.

26:15.000 --> 26:18.000
Gleicher Geschmack, aber 0% Zucker.

26:18.000 --> 26:24.000
Genau. Die Frage ist halt, ob das für deine Userin und Userrelevant ist.

26:24.000 --> 26:27.000
Also es gibt ja quasi, das ist ja erstmal ein Laborwerte,

26:27.000 --> 26:31.000
die du messen kannst und dann hast du ja über den Chrome Experience,

26:31.000 --> 26:35.000
Chrome User Experience Report, hast du ja dann quasi deine,

26:35.000 --> 26:38.000
die echten Daten, die also,

26:38.000 --> 26:40.000
ist denn bei deinen Usern das so,

26:40.000 --> 26:42.000
dass der Mainstread viel zu lange blockiert wird,

26:42.000 --> 26:46.000
weil was Google im Lab misst, ist ja so ein Low-End-Device,

26:46.000 --> 26:50.000
mit das langsam ist und das auch langsam angebunden ist

26:50.000 --> 26:53.000
und das sieht ja immer ganz schlimm aus.

26:53.000 --> 26:56.000
Und wenn man dann den Report kriegt von den echten Besuchern,

26:56.000 --> 26:59.000
dann ist es ja meistens gar nicht so dramatisch.

26:59.000 --> 27:02.000
Und ich glaube, das hängt dann wirklich davon ab,

27:02.000 --> 27:04.000
was ist denn deine Zielgruppe?

27:04.000 --> 27:07.000
Sind das nur so reiche US-Amerikaner und Europäer,

27:07.000 --> 27:10.000
dann ist das vielleicht alles nicht so wild.

27:10.000 --> 27:12.000
Und wenn du den globalen Markt bedienst

27:12.000 --> 27:15.000
und vielleicht auch so emerging markets,

27:15.000 --> 27:17.000
dann ist das vielleicht wichtiger.

27:17.000 --> 27:20.000
Oder du hast irgendwelche reichen Leute zwar,

27:20.000 --> 27:22.000
aber die arbeiten für dich als Sachbearbeiter

27:22.000 --> 27:24.000
und sind deswegen egal, die nehmen die Software,

27:24.000 --> 27:26.000
fertig ist die Geschichte.

27:26.000 --> 27:28.000
Ja, aber es ist sehr interessant, Schepp,

27:28.000 --> 27:31.000
weil du bist sofort auf die Schiene gesprungen

27:31.000 --> 27:33.000
von der Performance,

27:33.000 --> 27:35.000
wie solltet man jetzt den Framework benutzen,

27:35.000 --> 27:37.000
was eben nicht so viele Kilobytes ausdiefert

27:37.000 --> 27:41.000
und irgendwas lazy loaded oder diese ganzen klugen Sachen macht,

27:41.000 --> 27:45.000
damit man im Endeffekt eine bessere Performance hat.

27:45.000 --> 27:48.000
Gut, ich stimmt, ich habe da vorher Performance gesagt.

27:48.000 --> 27:52.000
Aber was wären denn noch für unsere User wichtige Sachen?

27:52.000 --> 27:55.000
Weil da frage ich mich schon bei so Rendering Frameworks.

27:55.000 --> 27:57.000
Wäre das nicht sogar gut,

27:57.000 --> 27:59.000
so wie dann nach dem Motto wie vor zehn Jahren

27:59.000 --> 28:01.000
yet another bootstrap Webseite zu haben,

28:01.000 --> 28:04.000
wäre das nicht gut, wenn wir alle die gleiche UI benutzen

28:04.000 --> 28:08.000
für Fehlermeldungen oder für Notifications.

28:08.000 --> 28:12.000
Also ich glaube, man erkennt immer ganz gut eine Rails-Website,

28:12.000 --> 28:14.000
wenn da oben so ein Banner kommt.

28:14.000 --> 28:17.000
Ich glaube, jeder hat den gleichen Hex-Coder drinnen

28:17.000 --> 28:20.000
und die gleiche Schreibweise von Error-Messages.

28:20.000 --> 28:22.000
Aber müssen wir immer wieder von vorne

28:22.000 --> 28:24.000
alle das Rad neu erfinden,

28:24.000 --> 28:26.000
wie jetzt unsere Fehlermeldung ausschaut

28:26.000 --> 28:28.000
oder wie unser Loading-State ausschaut

28:28.000 --> 28:31.000
und eigentlich haben wir wahrscheinlich alle vor fünf Jahren

28:31.000 --> 28:34.000
bereits gelernt, dass man in den ersten,

28:34.000 --> 28:36.000
das heißt jetzt mal 300 Millisekunden

28:36.000 --> 28:38.000
oder wie viel auch immer,

28:38.000 --> 28:40.000
noch gar kein Loading-State anzeigen sollte,

28:40.000 --> 28:42.000
weil das dann nur so für unser Menschen,

28:42.000 --> 28:44.000
für unser langsames Menschen-Auge nur so kurz aufflickert

28:44.000 --> 28:46.000
und eher ablenkend wirkt.

28:46.000 --> 28:48.000
Also eigentlich hätten wir diese Probleme schon gelöst,

28:48.000 --> 28:51.000
aber irgendwie müssen wir doch wieder alle von vorne schreiben,

28:51.000 --> 28:57.000
Time-out, 300 Millisekunden und dann machen wir dieses und jenes.

28:57.000 --> 29:01.000
Naja, einmal ist es natürlich auch so, du willst das ja

29:01.000 --> 29:03.000
gerne selber auch lernen

29:03.000 --> 29:06.000
und deswegen gehst du manchmal durch diese ganzen Sachen durch

29:06.000 --> 29:08.000
und erst wenn du es dann alles kapiert hast,

29:08.000 --> 29:10.000
dann sagst du dann, kommt mir meistens zu dem Schluss,

29:10.000 --> 29:14.000
eigentlich ist das ja blöd, wenn wir das immer alle machen müssen.

29:14.000 --> 29:18.000
Also danach ist so, ja, jetzt weiß ich wie es geht, bitte,

29:18.000 --> 29:21.000
aber jetzt möchte ich es nicht wieder machen, 5.000-mal.

29:21.000 --> 29:23.000
Ich glaube, das ist so der eine Antrieb,

29:23.000 --> 29:27.000
dass jeder das irgendwie oder jedes nochmal machen möchte

29:27.000 --> 29:29.000
und auch die Framework-Macher vielleicht alle nochmal so,

29:29.000 --> 29:31.000
ich weiß es besser ist.

29:31.000 --> 29:34.000
Da sind nicht 300 Millisekunden, weil am optimalsten sind 200.

29:34.000 --> 29:37.000
Und genau, aber eigentlich macht das Sinn

29:37.000 --> 29:39.000
und wir machen das ja auch, wenn wir jetzt ein Auto kaufen,

29:39.000 --> 29:41.000
ist das ja auch nichts anderes.

29:41.000 --> 29:43.000
Also es ist ja immer gleich.

29:43.000 --> 29:46.000
Da wird nur im CSS halt die Custom Property

29:46.000 --> 29:49.000
für die Autolackierung einmal die Farbe geändert

29:49.000 --> 29:51.000
und dann habe ich einen Schaltknopf oder nicht

29:51.000 --> 29:55.000
und es habe ich weißes Leder drin oder irgendwie dunkles Plüsch.

29:55.000 --> 29:58.000
Und da, das interessiert ja auch keinen.

29:58.000 --> 30:00.000
Also da ist jetzt ja keiner, der sich darüber beschwert,

30:00.000 --> 30:03.000
dass der, also mein Golf sieht ja echt fast aus wie dein Golf.

30:03.000 --> 30:05.000
Das ist ja echt total nervig.

30:05.000 --> 30:07.000
Ich wollte mal was irgendwie zu mir besser passt.

30:07.000 --> 30:09.000
Ah, Moment.

30:09.000 --> 30:12.000
Schreibt jetzt wieder beim Kraftfahrzeug,

30:12.000 --> 30:14.000
wo ich wieder behaupten würde,

30:14.000 --> 30:17.000
viel kleinerer Problembereiche als Webfrontend,

30:17.000 --> 30:19.000
wo einfach dem Inherent ist,

30:19.000 --> 30:22.000
dass man irgendwie viel genauer justieren will.

30:22.000 --> 30:25.000
Speziell, wo die theoretische Möglichkeit ja definitiv besteht.

30:25.000 --> 30:27.000
Damit man wie du ja vorhin mal sagt,

30:27.000 --> 30:29.000
dass die Motorhaube bei Bedarf aufmachen kann

30:29.000 --> 30:31.000
und man wirklich was customisen oder hacken muss,

30:31.000 --> 30:33.000
kann wo es mal wirklich nötig ist.

30:33.000 --> 30:35.000
Und das besteht die Möglichkeit

30:35.000 --> 30:37.000
und man kann sich dann individuell abgrenzen

30:37.000 --> 30:39.000
und es gibt da möglicherweise valide Use Cases

30:39.000 --> 30:41.000
für wegen einfach der unglaublichen Vielfalt

30:41.000 --> 30:43.000
der Art von Frontend, die du da machen kannst.

30:43.000 --> 30:46.000
Desktop, Rechner, Telefon oder irgendwie Anzeige, Bildschirm im ICE.

30:46.000 --> 30:48.000
Das ist ja alles Webfrontend.

30:48.000 --> 30:50.000
Ja, das gibt es ja dann, da kannst du ja dann SUV

30:50.000 --> 30:52.000
oder Kleinwagen kaufen.

30:52.000 --> 30:54.000
Das sitzen am Ende trotzdem auf der gleichen Plattform

30:54.000 --> 30:56.000
und sehen nur anders aus.

30:56.000 --> 30:58.000
Das ist wirklich viel, viel, glaube ich, standardisierbar.

30:58.000 --> 31:00.000
Aber das ist ja das, was Vanessa sagt.

31:00.000 --> 31:02.000
Also, dass sie einfach bestimmte Dinge,

31:02.000 --> 31:04.000
die sich etabliert haben.

31:04.000 --> 31:06.000
Also, wenn du jetzt irgendwie vor 20 Jahren

31:06.000 --> 31:08.000
noch ein Citroen gekauft hast,

31:08.000 --> 31:10.000
dann hat er noch so diese Pistolen-Schaltung

31:10.000 --> 31:12.000
oder vielleicht vor 30, 40 Jahren,

31:12.000 --> 31:14.000
dann hatte er seine Pistolen-Schaltung.

31:14.000 --> 31:16.000
Genau, die gibt es halt nicht mehr.

31:16.000 --> 31:18.000
Die Franzosen, die waren eigentlich,

31:18.000 --> 31:20.000
ja, die haben wirklich

31:20.000 --> 31:22.000
abgefahrene Ideen gehabt,

31:22.000 --> 31:24.000
aber auch die haben dann irgendwann gesagt,

31:24.000 --> 31:26.000
so, ja, komm, die hatten dann ihre Hupel links

31:26.000 --> 31:28.000
in so einem Hebel am Lenkrad.

31:28.000 --> 31:30.000
Warum?

31:30.000 --> 31:32.000
Weiß kein Mensch?

31:32.000 --> 31:34.000
Also, so ein bisschen ist das jetzt ja bei uns auch so.

31:34.000 --> 31:36.000
Ja.

31:36.000 --> 31:38.000
Also, und am Ende sind halt alle so,

31:38.000 --> 31:40.000
hey, so dieses Bedienkonzept,

31:40.000 --> 31:42.000
so, das versteht jeder,

31:42.000 --> 31:44.000
das ist etabliert, das ist intuitiv

31:44.000 --> 31:46.000
und darum

31:46.000 --> 31:48.000
fügen wir uns

31:48.000 --> 31:50.000
und machen das alle so.

31:50.000 --> 31:52.000
Und toben uns vielleicht eher bei

31:52.000 --> 31:54.000
in Details aus noch.

31:54.000 --> 31:56.000
Ja, bin ich mir nicht so sicher.

31:56.000 --> 31:58.000
Also speziell,

31:58.000 --> 32:00.000
weil, sagen wir mal so,

32:00.000 --> 32:02.000
der kleinste potenzielle Widerstreit

32:02.000 --> 32:04.000
wäre ja zum Beispiel

32:04.000 --> 32:06.000
ein großer Bildschirm, ein kleiner Bildschirm.

32:06.000 --> 32:08.000
So. Und es ist ja notwendigerweise so,

32:08.000 --> 32:10.000
dass wenn du eine Lösung haben willst,

32:10.000 --> 32:12.000
sie alle zu knechten, jede Lösung

32:12.000 --> 32:14.000
für entweder den großen oder den kleinen,

32:14.000 --> 32:16.000
wenn sie auch potenziell das jeweils andere bespielen kann,

32:16.000 --> 32:18.000
notwendigerweise irgendwelche Trade-offs

32:18.000 --> 32:20.000
macht, damit es beides machen kann.

32:20.000 --> 32:22.000
Aber wenn du hingegen sagst, ich bin jetzt sowieso gerade mal

32:22.000 --> 32:24.000
nur hier der aktuell mega gehypte

32:24.000 --> 32:26.000
Mobilanwendungsfall

32:26.000 --> 32:28.000
und große Bildschirme existieren für mich gar nicht,

32:28.000 --> 32:30.000
dann ist das ja suboptimal.

32:30.000 --> 32:32.000
Oder wenn du umgekehrt sagst, ich bin jetzt hier

32:32.000 --> 32:34.000
ein firm, internes Tool,

32:34.000 --> 32:36.000
das ausschließlich auf den

32:36.000 --> 32:38.000
mir genau bekannten Laptop meiner Sachbearbeiter

32:38.000 --> 32:40.000
stattfindet, da machst du kein Mobil-Ui.

32:40.000 --> 32:42.000
Warum würdest du dann irgendwas in deinem Code haben?

32:42.000 --> 32:44.000
Auch nur eine Zeile, die eine

32:44.000 --> 32:46.000
Konzession an das Mobil-Ui, dass du unter keinen

32:46.000 --> 32:48.000
Umständen jemals haben wirst.

32:50.000 --> 32:52.000
Genau, okay, das

32:52.000 --> 32:54.000
ja schon, aber

32:56.000 --> 32:58.000
ich weiß nicht, ob das so häufig vorkommt.

32:58.000 --> 33:00.000
Also,

33:00.000 --> 33:02.000
der Standard-Use-Case

33:02.000 --> 33:04.000
ist ja schon, dass man

33:04.000 --> 33:06.000
einfach viele Geräte abdecken will.

33:06.000 --> 33:08.000
Und vielleicht ist es ja so, dass man vielleicht am

33:08.000 --> 33:10.000
Zeitpunkt in dieser Firma,

33:10.000 --> 33:12.000
aber dann kommt irgendwann der Schepp an und sagt,

33:12.000 --> 33:14.000
warum kann ich eigentlich dieses Ding nicht

33:14.000 --> 33:16.000
von unterwegsem Handy bedienen?

33:16.000 --> 33:18.000
Macht das mal, dass das geht und dann denkst du dir,

33:18.000 --> 33:20.000
ja, jetzt ist das natürlich

33:20.000 --> 33:22.000
blöd, weil wir haben quasi unter

33:22.000 --> 33:24.000
der Prämisse, dass wir nur

33:24.000 --> 33:26.000
Desktop-Systeme bedienen, ein Framework

33:26.000 --> 33:28.000
ausgewählt, das darauf optimiert ist.

33:28.000 --> 33:30.000
Und jetzt kommt der Typ an

33:30.000 --> 33:32.000
oder die Typ hin und will,

33:32.000 --> 33:34.000
dass das jetzt auf einmal doch auch

33:34.000 --> 33:36.000
auf dem Smartphone geht.

33:36.000 --> 33:38.000
Ich bin das kleinste Nerd-Zahnrad

33:38.000 --> 33:40.000
im Keller des riesigen Hochhauses

33:40.000 --> 33:42.000
und mir wird gesagt, entwickle jetzt mal

33:42.000 --> 33:44.000
dieses Ding für unsere

33:44.000 --> 33:46.000
Sachbearbeiter auf deren Laptops.

33:46.000 --> 33:48.000
Da gehe ich doch nicht hin

33:48.000 --> 33:50.000
und fange da irgendwie an,

33:50.000 --> 33:52.000
eine argumentative

33:52.000 --> 33:54.000
Kampfesleistung anzustrengen, nach oben

33:54.000 --> 33:56.000
gerichtet, um zu sagen, ja, aber was ist,

33:56.000 --> 33:58.000
wenn ihr eines Tages noch Telefone haben wollt?

33:58.000 --> 34:00.000
Da kann man sicherlich,

34:00.000 --> 34:02.000
sicherlich wäre das manchmal richtig,

34:02.000 --> 34:04.000
aber man kann doch nicht im allgemeinen Fall von den Menschen verlangen,

34:04.000 --> 34:06.000
die sich nehmen.

34:06.000 --> 34:08.000
Aber dann ist es dir doch auch egal,

34:08.000 --> 34:10.000
wenn da Anpassungen auch für mobile drin sind.

34:10.000 --> 34:12.000
Also wenn du die Person bist,

34:12.000 --> 34:14.000
dann sagst du halt einfach,

34:14.000 --> 34:16.000
ich nehme das halt so und gut ist.

34:16.000 --> 34:18.000
Ja, Moment. Aber du musst dann ja auch

34:18.000 --> 34:20.000
die Angebotsseite betrachten.

34:20.000 --> 34:22.000
Dann ist es halt eben auch so die Frage,

34:22.000 --> 34:24.000
das Framework, das dann jemand benutzen wird

34:24.000 --> 34:26.000
aus dem einen oder anderen Grund, muss

34:26.000 --> 34:28.000
erst mal von irgendwem auch sozusagen

34:28.000 --> 34:30.000
angeboten werden, möglicherweise sogar

34:30.000 --> 34:32.000
vercheckt werden für irgendwie Euros oder Dollars

34:32.000 --> 34:34.000
produziert, beworben und so weiter werden

34:34.000 --> 34:36.000
mit dem ganzen Aufwand, der da reingeht.

34:36.000 --> 34:38.000
Also ich glaube, egal wie man das da so

34:38.000 --> 34:40.000
versucht irgendwie zu normieren,

34:40.000 --> 34:42.000
ich kann mir nicht vorstellen,

34:42.000 --> 34:44.000
dass das funktioniert.

34:44.000 --> 34:46.000
Ja, aber ich glaube also

34:46.000 --> 34:48.000
an dem, was Vanessa sagt, ist schon was dran.

34:48.000 --> 34:50.000
Also im Grunde könntest du alles

34:50.000 --> 34:52.000
mit Bootstrap machen, aber irgendwie

34:52.000 --> 34:54.000
ist also in

34:54.000 --> 34:56.000
dem Bereich ertragen

34:56.000 --> 34:58.000
ist die Leute einfach nicht

34:58.000 --> 35:00.000
nicht so ihren eigenen

35:00.000 --> 35:02.000
Spinnen zu haben für bestimmte Dinge.

35:02.000 --> 35:04.000
Also das ist eine Formularfelder und

35:04.000 --> 35:06.000
Buttons und

35:06.000 --> 35:08.000
daran scheitert es halt meistens.

35:08.000 --> 35:10.000
Und ich würde damit nur sagen, bei den Autos

35:10.000 --> 35:12.000
ist es auch so,

35:12.000 --> 35:14.000
dass man eben nur begrenzt

35:14.000 --> 35:16.000
seinen eigenen Spin reinbringen kann.

35:16.000 --> 35:18.000
Also du kannst natürlich danach noch irgendwie

35:18.000 --> 35:20.000
bei West Coast Customs dein Auto

35:20.000 --> 35:22.000
durchlackieren lassen und hier noch eine

35:22.000 --> 35:24.000
Kaffeemaschine in die Mittelkonsole

35:24.000 --> 35:26.000
bauen lassen. Aber im Grunde

35:26.000 --> 35:28.000
sind die halt alle ähnlich

35:28.000 --> 35:30.000
diese Anpassungsfähigkeit

35:30.000 --> 35:32.000
die ist halt sehr gering.

35:32.000 --> 35:34.000
Und damit sind aber trotzdem alle Leute zufrieden

35:34.000 --> 35:36.000
und man kotzt nicht die ganze Zeit im Strahl,

35:36.000 --> 35:38.000
wenn außen so, hey, da ist ja auch wieder

35:38.000 --> 35:40.000
so ein Golf wie meiner und da fährt der wieder,

35:40.000 --> 35:42.000
der hat ja auch die gleiche Farbe wie ich,

35:42.000 --> 35:44.000
super ätzend, wie soll man mich hier so erkennen.

35:44.000 --> 35:46.000
Das ist unswurscht.

35:46.000 --> 35:48.000
Bei Webseiten

35:48.000 --> 35:50.000
nicht, also bei Webseiten müssen die immer,

35:50.000 --> 35:52.000
die müssen immer, die darfst

35:52.000 --> 35:54.000
nirgendwo noch mal so geben.

35:54.000 --> 35:56.000
Auf keinen Fall. Ja, sagen wir mal so,

35:56.000 --> 35:58.000
Vanessa hat natürlich recht damit, dass das so sein könnte.

35:58.000 --> 36:00.000
Ich bin jetzt sozusagen

36:00.000 --> 36:02.000
nur der Kultur-Pessimist, der sagt,

36:02.000 --> 36:04.000
das wird sich niemals manifestieren.

36:04.000 --> 36:06.000
Aber also technisch und inhaltlich

36:06.000 --> 36:08.000
stimmt das? Dem widerspreche ich nicht.

36:08.000 --> 36:10.000
Ich hieße auch nur nicht dran. Okay, dann sind wir uns ja

36:10.000 --> 36:12.000
im Prinzip einig. Genau.

36:12.000 --> 36:14.000
Ich finde nur, dass das auf jeden Fall Sinn macht.

36:14.000 --> 36:16.000
Also eben weil das

36:16.000 --> 36:18.000
weil da viel Zeit

36:18.000 --> 36:20.000
verschwendet wird, Dinge immer wieder neu

36:20.000 --> 36:22.000
zu erfinden. Nur weil man,

36:22.000 --> 36:24.000
also genauso wie man eben

36:24.000 --> 36:26.000
die Elemente, also

36:26.000 --> 36:28.000
die müssen gestylt, also der Selekte

36:28.000 --> 36:30.000
darf nicht so sein, wie er ist.

36:30.000 --> 36:32.000
Natürlich ist er nicht schön, aber

36:32.000 --> 36:34.000
er ist eigentlich

36:34.000 --> 36:36.000
funktional schon ganz in Ordnung.

36:36.000 --> 36:38.000
Aber also jetzt mal abgesehen

36:38.000 --> 36:40.000
von so kombo-box-funktionalen Militäten, sorry.

36:40.000 --> 36:42.000
Das Licht weißen.

36:42.000 --> 36:44.000
Weil du hast gerade gemeint, oh, das stört mich jetzt,

36:44.000 --> 36:46.000
dass das schon wieder meine gleiche Autofahrung

36:46.000 --> 36:48.000
fährt und so was. Aber das, wir da sind

36:48.000 --> 36:50.000
wir in dem Beispiel, ja, die End-User.

36:50.000 --> 36:52.000
Die Leute, die dieses Auto kaufen

36:52.000 --> 36:54.000
mit rumfahren. Aber

36:54.000 --> 36:56.000
das wäre ja so,

36:56.000 --> 36:58.000
wie wenn ich jetzt als

36:58.000 --> 37:00.000
Mensch auf irgendeine Webseite gehe

37:00.000 --> 37:02.000
und mir denke, Mai, die schaut ja genauso

37:02.000 --> 37:04.000
aus wie der andere Webshop.

37:04.000 --> 37:06.000
Aber wir reden ja gerade aus der

37:06.000 --> 37:08.000
Hersteller, Hersteller in der Sicht.

37:08.000 --> 37:10.000
Also unstört es ja, wenn unsere Webseite,

37:10.000 --> 37:12.000
die wir bauen, nicht selber

37:12.000 --> 37:14.000
benutzen, nur die, die wir bauen, genauso

37:14.000 --> 37:16.000
ausschaut wie eine andere. Und ich weiß auch nicht,

37:16.000 --> 37:18.000
ob uns das genau stört, sondern

37:18.000 --> 37:20.000
unstört wahrscheinlich eher, dass wir die

37:20.000 --> 37:22.000
Resultiven dieser Thematik drin sind,

37:22.000 --> 37:24.000
dass wir genau die Fehler dieser anderen

37:24.000 --> 37:26.000
Webseiten kennen. Und die wollen

37:26.000 --> 37:28.000
wir unserer Meinung nach eben

37:28.000 --> 37:30.000
besser machen und besser lösen.

37:30.000 --> 37:32.000
Und ja, vielleicht

37:32.000 --> 37:34.000
auf einer Landing-Webseite will man sich noch

37:34.000 --> 37:36.000
so ein bisschen hervorheben.

37:36.000 --> 37:38.000
Aber ob das jetzt wirklich

37:38.000 --> 37:40.000
die User im Endeffekt interessiert,

37:40.000 --> 37:42.000
ob das jetzt ein einzigartiges Design

37:42.000 --> 37:44.000
ist, weiß ich nicht.

37:44.000 --> 37:46.000
Also möglicherweise schon.

37:46.000 --> 37:48.000
Ich finde es immer ganz gut, wenn es eher

37:48.000 --> 37:50.000
gleich ist. Das heißt, ich weiß, welchen

37:50.000 --> 37:52.000
Weg ich gehen muss. Ich weiß, was ich drücken muss.

37:52.000 --> 37:54.000
Und ich will nicht wieder eine andere UI haben.

37:54.000 --> 37:56.000
Und am allerschlimmsten ist, wenn mir jemand

37:56.000 --> 37:58.000
mein Scroll-Behavior ändert, hört doch bitte

37:58.000 --> 38:00.000
auf, mein Scroll-Behavior zu ändern.

38:00.000 --> 38:02.000
Aber es gibt ja zum einen, also du hast ja

38:02.000 --> 38:04.000
bei den Autoherstellern auch, dass quasi

38:04.000 --> 38:06.000
der, weiß ich nicht, Golf 8

38:06.000 --> 38:08.000
irgendwie weiterentwickelt ist gegenüber

38:08.000 --> 38:10.000
dem Sieben. Da sind ja schon,

38:10.000 --> 38:12.000
fließt ja dann Learnings wieder rein.

38:12.000 --> 38:14.000
Also es gibt ja schon sozusagen

38:14.000 --> 38:16.000
Verbesserung. Aber wenn man die dann

38:16.000 --> 38:18.000
rollt, man die erstmal für alles aus.

38:18.000 --> 38:20.000
Also so, so würde ich das sehen.

38:20.000 --> 38:22.000
Und dann ist es ja auch so, dass die,

38:22.000 --> 38:24.000
dass sich die Autos zum Beispiel die,

38:24.000 --> 38:26.000
also auch über Hersteller hinweg

38:26.000 --> 38:28.000
die Knöpfe und den ganzen Kram

38:28.000 --> 38:30.000
ja teilen. Das heißt, wenn du in den Golf

38:30.000 --> 38:32.000
einsteigst und in einen Tiguan, dann guckst

38:32.000 --> 38:34.000
du am Ende auf die gleichen Sachen.

38:34.000 --> 38:36.000
Weil die einfach gut genug sind

38:36.000 --> 38:38.000
und etabliert und du einfach nicht

38:38.000 --> 38:40.000
für jedes Auto dann quasi

38:40.000 --> 38:42.000
eigene Knopfform

38:42.000 --> 38:44.000
erfinden musst.

38:44.000 --> 38:46.000
Aber auch das Gefühl, da gibt es ganz andere

38:46.000 --> 38:48.000
Schmerzgrenzen. Also von Webseiten generell

38:48.000 --> 38:50.000
wird immer schon erwartet, da wir brauchen

38:50.000 --> 38:52.000
die perfekte UX. Es muss bedienbar sein.

38:52.000 --> 38:54.000
Und wenn es irgendwie was nicht funktioniert,

38:54.000 --> 38:56.000
dann sind wir die Hersteller dran schuld,

38:56.000 --> 38:58.000
dass wir das nicht gut genug gemacht

38:58.000 --> 39:00.000
haben. Und bei allen anderen Sachen

39:00.000 --> 39:02.000
kommt es mir eher so vor, wenn ich jetzt nicht

39:02.000 --> 39:04.000
damit umgehen kann, weil ich das entkunden,

39:04.000 --> 39:06.000
dann bin ich halt ein bisschen zu doof.

39:06.000 --> 39:08.000
Und gerade bei Autos, die,

39:08.000 --> 39:10.000
keine Ahnung, bei Opel musste runter drücken,

39:10.000 --> 39:12.000
den Scheitknüppel, damit dann

39:12.000 --> 39:14.000
die hoch drücken. Und bei VW

39:14.000 --> 39:16.000
musste runter drücken, dann hat es einmal

39:16.000 --> 39:18.000
6 Gänge, dann hat es einmal 5 Gänge,

39:18.000 --> 39:20.000
die andere Frage ist, warum

39:20.000 --> 39:22.000
schalten wir überhaupt noch? Es gibt Automatik-Autos,

39:22.000 --> 39:24.000
also wenn ich nicht schon längst Automatik

39:24.000 --> 39:26.000
haben könnte. Und dann kommt das nächste

39:26.000 --> 39:28.000
Extrem von Tesla, wo du nur noch

39:28.000 --> 39:30.000
Bildschirme hast und hoffen musst,

39:30.000 --> 39:32.000
dass die Bremse funktioniert und dass du den

39:32.000 --> 39:34.000
Hupenknopf findest auf deinem Bildschirm,

39:34.000 --> 39:36.000
weil es keine Knöpfe mehr gibt. Also auch da

39:36.000 --> 39:38.000
ist eine große Entwicklung.

39:38.000 --> 39:40.000
Ja, da haben wir nur unsere Witzhitschübe,

39:40.000 --> 39:42.000
keine Ahnung, dass die Hardware braucht

39:42.000 --> 39:44.000
erst mal 6 Jahre, bis sie dann normal in

39:44.000 --> 39:46.000
Auto ausgeliefert wird. Das heißt, jede Hardware

39:46.000 --> 39:48.000
da drücken ist wahrscheinlich schon 6 Jahre alt.

39:48.000 --> 39:50.000
Und dann soll man sich heutzutage noch entscheiden,

39:50.000 --> 39:52.000
ob man denn wirklich auch dieses Bluetooth

39:52.000 --> 39:54.000
braucht. Ja, freilich braucht. Dieses Bluetooth

39:54.000 --> 39:56.000
gibt mir halt einfach das größte von allen.

39:56.000 --> 39:58.000
Aber mein nächster Punkt ist,

39:58.000 --> 40:00.000
noch grasser weiter zu gehen.

40:00.000 --> 40:02.000
Und zwar

40:02.000 --> 40:04.000
weg von den Sprachen

40:04.000 --> 40:06.000
zu No Code Tools.

40:06.000 --> 40:08.000
Weil jetzt ist es so,

40:08.000 --> 40:10.000
wenn man, und das ist, finde

40:10.000 --> 40:12.000
ich, eine Frage, die

40:12.000 --> 40:14.000
gerne zum Rechtfertigen

40:14.000 --> 40:16.000
dann anregt. Aber Peter,

40:16.000 --> 40:18.000
was würdest du denn du sagen, wenn ich die

40:18.000 --> 40:20.000
Frage war, warum programmierst du denn überhaupt

40:20.000 --> 40:22.000
noch, wenn es doch bereits so viele

40:22.000 --> 40:24.000
No Code Tools gibt,

40:24.000 --> 40:26.000
die man gegen den gewissen

40:26.000 --> 40:28.000
Preis doch einfach verwenden könnte

40:28.000 --> 40:30.000
und sich da

40:30.000 --> 40:32.000
seine eigenen

40:32.000 --> 40:34.000
Landing Pages zurechtklickt und zurechtgestaltet.

40:34.000 --> 40:36.000
Aber bereits

40:36.000 --> 40:38.000
auch Tools für Datenwanken

40:38.000 --> 40:40.000
und etc. gehabt. Ja.

40:40.000 --> 40:42.000
Auch das würde ich

40:42.000 --> 40:44.000
weniger technisch beantworten

40:44.000 --> 40:46.000
und viel mehr über

40:46.000 --> 40:48.000
was haben wir da, wie sind wir es gewohnt,

40:48.000 --> 40:50.000
Dinge zu machen, zu beantworten.

40:50.000 --> 40:52.000
Also warum das vieler Orts passiert.

40:52.000 --> 40:54.000
Ich kenne das ja manchmal

40:54.000 --> 40:56.000
von so meinen Besuchen bei irgendwelchen Firmen,

40:56.000 --> 40:58.000
wo ich so reingucke, aha, das ist also euer

40:58.000 --> 41:00.000
internes Dashboard, was dann halt irgendwie nur

41:00.000 --> 41:02.000
so ein paar Leute irgendwelche Analysten

41:02.000 --> 41:04.000
oder so sich angucken. Und das ist jetzt

41:04.000 --> 41:06.000
mit React gebaut und ist irgendwie ein 7

41:06.000 --> 41:08.000
Megabyte JavaScript Bundle.

41:08.000 --> 41:10.000
Okay, das hätte man wirklich auch irgendwie mit Rails

41:10.000 --> 41:12.000
oder halt irgendwie mit einem No Code Tool machen können.

41:12.000 --> 41:14.000
Aber das Ding ist,

41:14.000 --> 41:16.000
du hast halt eben einen Haufen von irgendwelchen

41:16.000 --> 41:18.000
React Entwicklern und die können das

41:18.000 --> 41:20.000
halt eben. Und wenn es die am Ende

41:20.000 --> 41:22.000
da zum Erfolg wird, führt meine Güte.

41:22.000 --> 41:24.000
Und auch sonst bin ich halt auch da dabei.

41:24.000 --> 41:26.000
Das ist halt glaube ich für so sehr spezielle

41:26.000 --> 41:28.000
Anwendungsfälle sicherlich sinnvoll.

41:28.000 --> 41:30.000
Gerade wenn es halt um so

41:30.000 --> 41:32.000
Dashboards geht oder einfach nur Dateneingabe

41:32.000 --> 41:34.000
oder so, das kann man damit sicherlich ganz gut

41:34.000 --> 41:36.000
hinkriegen. Aber wird halt eben dann schwierig,

41:36.000 --> 41:38.000
sobald es den Evolutionsschritt

41:38.000 --> 41:40.000
nimmt, möglicherweise eines Tages

41:40.000 --> 41:42.000
zu, wir brauchen jetzt aber mal was anderes,

41:42.000 --> 41:44.000
wo wir halt eben programmiermäßige

41:44.000 --> 41:46.000
Kontrolle haben.

41:46.000 --> 41:48.000
Und dann geht es halt eben dahin.

41:48.000 --> 41:50.000
Jetzt sage ich nicht, dass dieser Schritt immer passiert,

41:50.000 --> 41:52.000
aber das ist so dieser, mh, aber was wäre denn bloß?

41:52.000 --> 41:54.000
Das ist so quasi die Reichweitenangst,

41:54.000 --> 41:56.000
wo wir bei den Autos blieben,

41:56.000 --> 41:58.000
für halt eben so die Frontententwicklung.

41:58.000 --> 42:00.000
Glaubt, da ließe sich halt echt viel

42:00.000 --> 42:02.000
Effizienz mit realisieren, so in

42:02.000 --> 42:04.000
vielen Anwendungsfällen, in vielen Firmen.

42:04.000 --> 42:06.000
Aber was wäre wenn?

42:06.000 --> 42:08.000
Was ist, wenn wir mal was anderes machen,

42:08.000 --> 42:10.000
um hiermit zu willen?

42:10.000 --> 42:12.000
Dann würden wir das ja neu schreiben müssen.

42:12.000 --> 42:14.000
Und das geht ja nun bekanntermaßen auf gar keinen Fall.

42:14.000 --> 42:16.000
Das ist der große Kahuna, dürfen wir niemals

42:16.000 --> 42:18.000
auch nur in die Nähe kommen von. Und deswegen

42:18.000 --> 42:20.000
bauen wir das lieber von Grund auf mit React Neu.

42:20.000 --> 42:22.000
Und hier schreibt erstmal

42:22.000 --> 42:24.000
irgendwelche GraphQL Resolver, auf geht's.

42:24.000 --> 42:26.000
Meine Theorie.

42:26.000 --> 42:28.000
Ja, ich mein sowas ist ja auch

42:28.000 --> 42:30.000
eigentlich gar nicht schlecht,

42:30.000 --> 42:32.000
wenn man so irgendwelche Proof-of-Concepts

42:32.000 --> 42:34.000
machen will oder Prototypen will

42:34.000 --> 42:36.000
oder vielleicht auch erstmal

42:36.000 --> 42:38.000
so erste Versionen ausrollen möchte.

42:38.000 --> 42:40.000
Das macht ja total Sinn

42:40.000 --> 42:42.000
auch, vielleicht irgendwie

42:42.000 --> 42:44.000
am Anfang damit zu starten. Aber man muss

42:44.000 --> 42:46.000
halt, finde ich,

42:46.000 --> 42:48.000
einfach damit rechnen

42:48.000 --> 42:50.000
oder das einplanen,

42:50.000 --> 42:52.000
dass das kein, nicht von Ewigkeit ist.

42:52.000 --> 42:54.000
Also.

42:54.000 --> 42:56.000
Und dann ist es ja auch vollkommen in Ordnung.

42:56.000 --> 42:58.000
Und dann ist es ja auch nicht weh, dann ist

42:58.000 --> 43:00.000
irgendwann so, ja, das wussten wir eh,

43:00.000 --> 43:02.000
dass wir das irgendwann wieder wegschmeißen müssen.

43:02.000 --> 43:04.000
Also, wenn das dann tatsächlich auch

43:04.000 --> 43:06.000
funktioniert und wir,

43:06.000 --> 43:08.000
wir vielleicht unser Business aufbauen

43:08.000 --> 43:10.000
und wenn du dein Business auf irgendwas

43:10.000 --> 43:12.000
dann dauerhaft aufbaust,

43:12.000 --> 43:14.000
dann glaube ich, ist es schon besser,

43:14.000 --> 43:16.000
wenn du nicht solche Tools nimmst,

43:16.000 --> 43:18.000
weil du ja davon abhängig bist,

43:18.000 --> 43:20.000
wie die,

43:20.000 --> 43:22.000
wie die ticken. Also.

43:22.000 --> 43:24.000
Und irgendwann willst du vielleicht

43:24.000 --> 43:26.000
dann, weiß ich nicht, hast du,

43:26.000 --> 43:28.000
wenn du Anforderungen dann auf einmal

43:28.000 --> 43:30.000
hast, die du damit nicht umsetzen

43:30.000 --> 43:32.000
kannst, ist es halt schlecht.

43:32.000 --> 43:34.000
Da ist vielleicht dann einfach zu,

43:34.000 --> 43:36.000
zu viel

43:36.000 --> 43:38.000
Abstraktion drin,

43:38.000 --> 43:40.000
dass du das vielleicht dann nicht mit solchen Tools

43:40.000 --> 43:42.000
machen kannst. Aber ich glaube, für alles, was

43:42.000 --> 43:44.000
so dumm herum ist, also so Dashboards

43:44.000 --> 43:46.000
und so Zeugs, ist sowas auch super.

43:46.000 --> 43:48.000
Also, alles was nicht,

43:48.000 --> 43:50.000
dein Kernprodukt ist, dass du verkaufst

43:50.000 --> 43:52.000
für Geld oder dass deine Geldmaschine ist

43:52.000 --> 43:54.000
unterstützt.

43:54.000 --> 43:56.000
Da sehe ich solche Tools auch auf jeden Fall

43:56.000 --> 43:58.000
als angebracht an.

43:58.000 --> 44:00.000
Aber wenn ich da mal kurz eine trollige Frage stellen darf.

44:00.000 --> 44:02.000
Ja.

44:02.000 --> 44:04.000
Du unterscheidest jetzt ja gerade die Geldmaschine

44:04.000 --> 44:06.000
und die Kernlogik von dem,

44:06.000 --> 44:08.000
was letztlich am Ende die Leute nutzen, um

44:08.000 --> 44:10.000
darauf rumzuklicken.

44:10.000 --> 44:12.000
Wenn aber das, wo man darauf rumklickt,

44:12.000 --> 44:14.000
doch das einzige Medium ist, mit dem

44:14.000 --> 44:16.000
deine Nutzer überhaupt in Kontakt

44:16.000 --> 44:18.000
zu deinem Produkt kommen.

44:18.000 --> 44:20.000
Ist dann nicht das, wo sie darauf rumklicken,

44:20.000 --> 44:22.000
das eigentliche Kernprodukt und das, was

44:22.000 --> 44:24.000
da im Hintergrund passiert, eigentlich egal?

44:24.000 --> 44:26.000
Weil das könntest du ja theoretisch

44:26.000 --> 44:28.000
austauschen. Du könntest ja theoretisch

44:28.000 --> 44:30.000
wirklich deinen Backend austauschen gegen

44:30.000 --> 44:32.000
ein komplett anderes, das

44:32.000 --> 44:34.000
gleiche Ergebnis produziert, aber mit

44:34.000 --> 44:36.000
komplett anderer Technik, komplett anderem Stack,

44:36.000 --> 44:38.000
komplett anderem alles. Aber du musst es halt

44:38.000 --> 44:40.000
niemandem sagen.

44:40.000 --> 44:42.000
Ich glaube, ich kann dir trotzdem noch

44:42.000 --> 44:44.000
nicht so ganz folgen. Also...

44:44.000 --> 44:46.000
Die Frage ist halt, ist das was hinter der Fassade

44:46.000 --> 44:48.000
ist das Kernprodukt? Oder wenn jeder nur die Fassade

44:48.000 --> 44:50.000
sieht, ist nicht die Fassade das Kernprodukt?

44:50.000 --> 44:52.000
Ja, also wenn die Fassade nicht das

44:52.000 --> 44:54.000
Kernprodukt ist, also wenn jetzt zum Beispiel

44:54.000 --> 44:56.000
also werden ja letztens die

44:56.000 --> 44:58.000
Menschen von Subgate zu Gast.

44:58.000 --> 45:00.000
Also da könnte man ja sagen, deren

45:00.000 --> 45:02.000
Kernprodukt ist ja quasi deren Telefonie

45:02.000 --> 45:04.000
Software

45:04.000 --> 45:06.000
und Infrastruktur.

45:06.000 --> 45:08.000
Und ich könnte mir

45:08.000 --> 45:10.000
in so einem Kontext vorstellen, dass man

45:10.000 --> 45:12.000
vielleicht dann seine

45:12.000 --> 45:14.000
Landing Pages und Sales Seiten und

45:14.000 --> 45:16.000
vielleicht auch seine Seiten, wo man das

45:16.000 --> 45:18.000
bedient, das machen die nicht, haben die auch

45:18.000 --> 45:20.000
Gründe für. Aber dass man sowas eben

45:20.000 --> 45:22.000
mit solchen Tools

45:22.000 --> 45:24.000
baut. Und dann eben

45:24.000 --> 45:26.000
seine Zeit, die man

45:26.000 --> 45:28.000
hat, die ja auch nicht unendlich ist,

45:28.000 --> 45:30.000
eben fokussiert auf die Fähigkeiten

45:30.000 --> 45:32.000
dieser

45:32.000 --> 45:34.000
Infrastruktur und das Services, den man

45:34.000 --> 45:36.000
verkauft. Aber du könntest ja auch genauso gut

45:36.000 --> 45:38.000
ein Evil Subgate vorstellen, das gar kein

45:38.000 --> 45:40.000
eigenes Backend hat, sondern das irgendwo einkauft,

45:40.000 --> 45:42.000
aber halt eine bessere User Experience für

45:42.000 --> 45:44.000
dieses Backend herstellt.

45:44.000 --> 45:46.000
Ja, klar. Die Frage ist dann irgendwann,

45:46.000 --> 45:48.000
wo kannst du dich eben

45:48.000 --> 45:50.000
von Konkurrenten unterscheiden

45:50.000 --> 45:52.000
und wenn das eben diese

45:52.000 --> 45:54.000
UI betrifft, dann

45:54.000 --> 45:56.000
ja, dann ist es vielleicht

45:56.000 --> 45:58.000
an der Zeit eben nicht so ein Tool.

45:58.000 --> 46:00.000
Oder dann ist das vielleicht so ein Bereich, wo man

46:00.000 --> 46:02.000
eben nicht mehr so ein Tool einsetzen sollte, sondern

46:02.000 --> 46:04.000
wo man dann eins nimmt,

46:04.000 --> 46:06.000
wo man ein bisschen mehr Einfluss

46:06.000 --> 46:08.000
ausüben kann. Ja, das Ding

46:08.000 --> 46:10.000
ist glaube ich, die Entscheidung

46:10.000 --> 46:12.000
für den Framework ist nicht mit der Entscheidung

46:12.000 --> 46:14.000
fertig oder für ein Tool oder sonst

46:14.000 --> 46:16.000
irgendwas, sondern im Prinzip ist das ja

46:16.000 --> 46:18.000
sozusagen, dass man dann ein Commitment eingeht.

46:18.000 --> 46:20.000
Wie immer das sich dann auch am Ende

46:20.000 --> 46:22.000
ausgestaltet, wie immer das auch am Ende wird,

46:22.000 --> 46:24.000
ob man dann halt eben ein bisschen alle Ewigkeit

46:24.000 --> 46:26.000
glücklich zusammen ist oder irgendwann

46:26.000 --> 46:28.000
auf die eine oder andere Weise eine Trennung

46:28.000 --> 46:30.000
gleich welcher Form erfolgen muss.

46:30.000 --> 46:32.000
Das ist halt glaube ich das Ding. Also deswegen

46:32.000 --> 46:34.000
auch so die, ist mir halt bei dieser ganzen

46:34.000 --> 46:36.000
Tool-Diskussion halt einfach jedwede technische

46:36.000 --> 46:38.000
Ebene völlig egal, weil die Entscheidung

46:38.000 --> 46:40.000
tut's das oder tut's das nicht. Die ist ja relativ

46:40.000 --> 46:42.000
schnell rausgefunden. Kann das das?

46:42.000 --> 46:44.000
Aber die Frage ist halt eben

46:44.000 --> 46:46.000
wie gut kannst das denn? Und

46:46.000 --> 46:48.000
werden wir, werden unsere Ziele irgendwie

46:48.000 --> 46:50.000
da in der gleichen Ausrichtung bestehen

46:50.000 --> 46:52.000
bleiben oder biegen die irgendwann schräg ab

46:52.000 --> 46:54.000
oder bieg ich irgendwann schräg ab oder so?

46:54.000 --> 46:56.000
Ja, oder gibt's neue gesetzliche Vorgaben

46:56.000 --> 46:58.000
die dich abbiegen lassen zum Beispiel

46:58.000 --> 47:00.000
ohne dass du das ursprünglich wolltest.

47:00.000 --> 47:02.000
Genau, gesetzliche Vorgaben oder

47:02.000 --> 47:04.000
de facto gesetzliche Vorgaben, wie hey, plötzlich

47:04.000 --> 47:06.000
gibt's Core Webwitels, gab's vorher nicht, jetzt

47:06.000 --> 47:08.000
gibt's die und jetzt optimiert mal alle schön

47:08.000 --> 47:10.000
hin, viel Spaß dabei. So geht das dann

47:10.000 --> 47:12.000
überhaupt, wenn du gesagt hast, ich mach jetzt einfach

47:12.000 --> 47:14.000
ein stinknormales React-Frontend und da hinten

47:14.000 --> 47:16.000
ist meine Rest-API fertig, mehr will ich gar nicht.

47:16.000 --> 47:18.000
So, aber das Problem ist, dass es halt

47:18.000 --> 47:20.000
eben fundamental unwissbar, weil du halt ja

47:20.000 --> 47:22.000
nicht weißt, wer ja in welche Richtung in

47:22.000 --> 47:24.000
Zukunft abbiegen wird. Bei dir kannst du es

47:24.000 --> 47:26.000
vielleicht noch irgendwie einschätzen, aber was

47:26.000 --> 47:28.000
da jetzt in den Köpfen der React-Entwickler

47:28.000 --> 47:30.000
vorgeht, wer weiß es halt eben schon. Und

47:30.000 --> 47:32.000
das ist halt eben notwendigerweise halt

47:32.000 --> 47:34.000
glaub ich so ein Spiel mit lauter Unbekannten

47:34.000 --> 47:36.000
und dann kann ich halt sagen, identifiziert man

47:36.000 --> 47:38.000
das, okay, ich hab hier ein hoffen Entwicklerinnen

47:38.000 --> 47:40.000
und Entwickler sitzen, was können die? Okay,

47:40.000 --> 47:42.000
die können, das ist ja schon mal ein Punkt

47:42.000 --> 47:44.000
für den Weg das zu machen. Und

47:44.000 --> 47:46.000
der ganze technische Kram

47:46.000 --> 47:48.000
ist halt egal. Und wenn die Leute halt

47:48.000 --> 47:50.000
eben alle nix können, dann lässt sie die halt

47:50.000 --> 47:52.000
eben abstimmen, so wie Spacecaron und dann wird

47:52.000 --> 47:54.000
halt eben einfach per Voxpopuli entschieden,

47:54.000 --> 47:56.000
ob man jetzt irgendwie Angular oder React

47:56.000 --> 47:58.000
macht, es ist halt wahrscheinlich am Ende

47:58.000 --> 48:00.000
wirklich egal. Das Wichtigste ist glaub ich

48:00.000 --> 48:02.000
halt wirklich, dass man dann, wenn man sich

48:02.000 --> 48:04.000
dafür entschieden hat, das Problem, ich glaub

48:04.000 --> 48:06.000
das kann man das dann ja auch nennen, das Problem

48:06.000 --> 48:08.000
okay, wir haben uns jetzt für eins entschieden,

48:08.000 --> 48:10.000
dass man das halt eben managt und halt eben sagt

48:10.000 --> 48:12.000
okay, neue Version, wir migrieren damit.

48:12.000 --> 48:14.000
Okay, in React gibt es jetzt keine Klassen mehr,

48:14.000 --> 48:16.000
bzw. die gibt es, aber die wird in Zukunft niemand

48:16.000 --> 48:18.000
mehr verwenden. Wenn wir jemals wieder jemand

48:18.000 --> 48:20.000
anheuern wollen, müssen wir halt eben all unsere

48:20.000 --> 48:22.000
Komponenten umschreiben, okay, auf geht's.

48:22.000 --> 48:24.000
Das ist halt so das Ding. Man entscheidet sich

48:24.000 --> 48:26.000
nicht dafür und hat damit ein Problem gelöst,

48:26.000 --> 48:28.000
sondern man entscheidet sich dafür, mit welchem

48:28.000 --> 48:30.000
Problem will man sich dann in Zukunft permanent

48:30.000 --> 48:34.000
verwenden. Und das ist halt dann auch wieder so eine,

48:34.000 --> 48:36.000
mehr so eine Management-People-Geschichte,

48:36.000 --> 48:38.000
wo man halt irgendwie auch überlegen muss

48:38.000 --> 48:40.000
mit den gegebenen Ressourcen und Strukturen,

48:40.000 --> 48:42.000
mit welcher Art von Problem kann ich mich

48:42.000 --> 48:44.000
da besser umschlagen?

48:44.000 --> 48:46.000
Ja, und wie viel technische Schuld baue ich

48:46.000 --> 48:48.000
auf und wann, wie häufig refactor ich und

48:48.000 --> 48:50.000
genau.

48:50.000 --> 48:52.000
Es ist halt nicht nur technische Schuld, du

48:52.000 --> 48:54.000
kannst ja sagen, ich baue das jetzt alles mit

48:54.000 --> 48:56.000
Vanilla, HTML, JavaScript, Web Components,

48:56.000 --> 48:58.000
okay, wunderbar, kannst ja machen, aber was

48:58.000 --> 49:00.000
wenn du jetzt irgendwie 10 Leute anheuern musst,

49:00.000 --> 49:02.000
wo findest du jetzt irgendwie so in deiner

49:02.000 --> 49:04.000
Stadt, irgendwie 10 Leute, die das halt

49:04.000 --> 49:06.000
wirklich ausreichend gut können?

49:06.000 --> 49:08.000
Möglicherweise kannst du viel einfacher

49:08.000 --> 49:10.000
irgendwelche Leute vom Baum der React

49:10.000 --> 49:12.000
Bootcamps flücken, die da relativ

49:12.000 --> 49:14.000
problemlos in das Tool zu integrieren

49:14.000 --> 49:16.000
sind, das du da benutzt, aber wenn du halt

49:16.000 --> 49:18.000
irgendwie was Obskures machst, mag das ja

49:18.000 --> 49:20.000
bis in alle Ewigkeit halten, das hilft aber

49:20.000 --> 49:22.000
nichts, wenn deine Firma nicht bis in alle

49:22.000 --> 49:24.000
Ewigkeit hält, weil du niemanden findest,

49:24.000 --> 49:26.000
den du anheuern kannst.

49:26.000 --> 49:28.000
Ja, genau, das ist aber glaube ich dann

49:28.000 --> 49:30.000
wirklich eher was, was du machen kannst,

49:30.000 --> 49:32.000
wenn du eben

49:32.000 --> 49:34.000
dauernd Schmerzen hast, beim

49:34.000 --> 49:36.000
Unbocken von einem Framework aufs andere

49:36.000 --> 49:38.000
oder so, also wenn das

49:38.000 --> 49:40.000
regelmäßig

49:40.000 --> 49:42.000
deine Schmerzen erzeugt,

49:42.000 --> 49:44.000
dann kannst du das eben

49:44.000 --> 49:46.000
gucken, dass du so viel wie möglich auf

49:46.000 --> 49:48.000
unveränderliche

49:48.000 --> 49:50.000
Standards hin quasi abwälzt

49:50.000 --> 49:52.000
und das, was

49:52.000 --> 49:54.000
eben veränderlich ist, eben kleiner

49:54.000 --> 49:56.000
ist, wenn das

49:56.000 --> 49:58.000
für dich der gangbare Weg ist,

49:58.000 --> 50:00.000
wie gesagt, ich bin da immer zur Überzeugung, da gibt's

50:00.000 --> 50:02.000
kein Free Lunch und man kann sich jetzt wirklich nur

50:02.000 --> 50:04.000
entscheiden, Pest-Kollacher-Fußballs mit

50:04.000 --> 50:06.000
was will ich mich jetzt da herumschlagen

50:06.000 --> 50:08.000
und das ist dann kein gelöstes Problem, sondern

50:08.000 --> 50:10.000
wir haben uns für ein Problem entschieden

50:10.000 --> 50:12.000
und das managen wir jetzt, um zwar aktiv und nicht

50:12.000 --> 50:14.000
einfach so, so wir haben Angular, jetzt schmeißen

50:14.000 --> 50:16.000
wir den einen raus, der Ahnung hatte und dann läuft das

50:16.000 --> 50:18.000
schon ein bisschen alle Ewigkeit weiter, so wird das nicht

50:18.000 --> 50:20.000
funktionieren.

50:20.000 --> 50:22.000
Jener Stadt ist ja Mangel-Wage

50:22.000 --> 50:24.000
auch bei Mobile-Developers

50:24.000 --> 50:26.000
Android oder iOS

50:26.000 --> 50:28.000
oder was es sonst noch gäbe

50:28.000 --> 50:30.000
und da gibt's ja

50:30.000 --> 50:32.000
das Problem oder die

50:32.000 --> 50:34.000
Lösung, je nachdem, wie man es eben ausdrücken

50:34.000 --> 50:36.000
möchte, der

50:36.000 --> 50:38.000
JavaScript-Mobile-Apps, also ich glaub

50:38.000 --> 50:40.000
wir haben Elektron

50:40.000 --> 50:42.000
React-Native, wahrscheinlich View-Native

50:42.000 --> 50:44.000
irgendwas

50:44.000 --> 50:46.000
Ionic etc.

50:46.000 --> 50:48.000
Ich kenne den ganzen Namen nicht, weil ich die

50:48.000 --> 50:50.000
einfach nie benutzt

50:50.000 --> 50:52.000
seit lange nicht mehr benutzt habe

50:52.000 --> 50:54.000
und dementsprechend nicht tief einsteigen möchte

50:54.000 --> 50:56.000
als meine Codeword-Zeit ist, glaub ich, fünf Jahre her.

50:56.000 --> 50:58.000
Daher die generelle

50:58.000 --> 51:00.000
Frage

51:00.000 --> 51:02.000
JavaScript-Mobile-App

51:02.000 --> 51:04.000
versus Native-App

51:04.000 --> 51:06.000
Vor- und Nachteile

51:08.000 --> 51:10.000
habt ihr Meinungen, ist es euch komplett

51:10.000 --> 51:12.000
egal, benutzt ihr sowas, benutzt

51:12.000 --> 51:14.000
ihr sowas nicht, wisst ihr, ob die

51:14.000 --> 51:16.000
App, die ihr benutzt, eine Mobile-App

51:16.000 --> 51:18.000
oder eine

51:18.000 --> 51:20.000
App ist?

51:20.000 --> 51:22.000
Ich glaube, ich kann da ganz gut theoretisieren,

51:22.000 --> 51:24.000
es ist mir halt egal, wenn sie mich nicht

51:24.000 --> 51:26.000
nervt, also ich glaube, man kann mit jeder

51:26.000 --> 51:28.000
Technologie eine schlechte App bauen

51:28.000 --> 51:30.000
und wenn man das einfach

51:30.000 --> 51:32.000
sein lässt

51:32.000 --> 51:34.000
und halt einfach so das Problem

51:34.000 --> 51:36.000
löst und nicht irgendwie

51:36.000 --> 51:38.000
für, keine Ahnung, ich will mir ein Bus-Ticket

51:38.000 --> 51:40.000
kaufen und ich muss da für 17 Button

51:40.000 --> 51:42.000
klicken, wenn man da irgendwie sieben Buttons statt

51:42.000 --> 51:44.000
17 draus macht, dann ist mir

51:44.000 --> 51:46.000
ganz ehrlich als Nutzerin, egal

51:46.000 --> 51:48.000
mit was die Buttons jetzt gerendert sind

51:48.000 --> 51:50.000
und ob die jetzt irgendwie eine halbe Millisekunde schneller

51:50.000 --> 51:52.000
sind oder nicht, weil

51:52.000 --> 51:54.000
Hinten werden halt wieder riesige Technische

51:54.000 --> 51:56.000
um an Strassen aufgebaut und so

51:56.000 --> 51:58.000
ja, du könntest das Ding auch einfach schnell

51:58.000 --> 52:00.000
kriegen, indem du gewisse Dinge nicht machst

52:00.000 --> 52:02.000
und wenn man mit einer App irgendwie viel schneller fertig ist,

52:02.000 --> 52:04.000
weil man irgendwie das Ticket gekauft hat, zum Beispiel

52:04.000 --> 52:06.000
dann ist halt auch wirklich, wirklich egal, dass der

52:06.000 --> 52:08.000
Button nicht exakt genauso aussieht wie IOS

52:08.000 --> 52:10.000
das gerne hätte.

52:10.000 --> 52:12.000
Ja, das ist jetzt genau der Punkt,

52:12.000 --> 52:14.000
der ich davor hatte, in dem Fall sehe

52:14.000 --> 52:16.000
ich mich jetzt eben selbst als nicht Herstellerin,

52:16.000 --> 52:18.000
sondern als Nutzerin von diesen Apps

52:18.000 --> 52:20.000
und interessiert es mich,

52:20.000 --> 52:22.000
womit das jetzt gebaut wurde.

52:22.000 --> 52:24.000
Wenn ich es nicht sehe,

52:24.000 --> 52:26.000
ist es mir komplett egal. Es gibt manchmal

52:26.000 --> 52:28.000
so Indizen, wo ich mir denke, oh, das ist jetzt aber

52:28.000 --> 52:30.000
glaube ich nicht native und das sehe

52:30.000 --> 52:32.000
ich meistens, wenn ich dann irgendwie zu Webviews

52:32.000 --> 52:34.000
weitergeleitet werde

52:34.000 --> 52:36.000
oder wenn ich sehe, dass diese

52:36.000 --> 52:38.000
View, dieser App definitiv

52:38.000 --> 52:40.000
zumindest eine Webview beinhaltet,

52:40.000 --> 52:42.000
weil es dann immer zu irgendwelchen

52:42.000 --> 52:44.000
Ruckelproblemen oder es öffnet sich so

52:44.000 --> 52:46.000
ein Pseudoprowser und dieser Pseudoprowser

52:46.000 --> 52:48.000
funktioniert dann nicht richtig.

52:48.000 --> 52:50.000
Ich glaube, es gibt ein paar Use Cases,

52:50.000 --> 52:52.000
da muss es aus, ich meine,

52:52.000 --> 52:54.000
müssen tut nie was sein, aber da macht es aus

52:54.000 --> 52:56.000
technischen Gründen auch Sinn. Ich glaube,

52:56.000 --> 52:58.000
bei manchen Einlog-Auto-

52:58.000 --> 53:00.000
Autorisierungsformaten

53:00.000 --> 53:02.000
wäre es manchmal ganz gut, das jetzt in der Webview

53:02.000 --> 53:04.000
mal kurz zu machen.

53:04.000 --> 53:06.000
Aber ansonsten

53:06.000 --> 53:08.000
genau das, was du gesagt hast, Peter,

53:08.000 --> 53:10.000
manchmal ist es eben schneller, indem man

53:10.000 --> 53:12.000
Schritte nicht macht. Manchmal ist es schneller,

53:12.000 --> 53:14.000
indem man eben nicht Sachen mit Code

53:14.000 --> 53:16.000
erschlägt, sondern versucht, den Code

53:16.000 --> 53:18.000
da zu reduzieren. Ich mache jetzt gar nicht von

53:18.000 --> 53:20.000
Performance sein.

53:20.000 --> 53:22.000
Ich glaube, mein größter Fail war immer auf der

53:22.000 --> 53:24.000
Lego-Webseite. Da konnte man sich

53:24.000 --> 53:26.000
vor Jahren noch

53:26.000 --> 53:28.000
zwei verschiedene Codes

53:28.000 --> 53:30.000
für diese Prämien da geben lassen,

53:30.000 --> 53:32.000
für die VIP-Punkte, die man da gesammelt hat.

53:32.000 --> 53:34.000
Und ich habe es original

53:34.000 --> 53:36.000
dreimal hintereinander geschafft,

53:36.000 --> 53:38.000
mit den Code zu geben für den

53:38.000 --> 53:40.000
Store, also den, wo ich offline

53:40.000 --> 53:42.000
mit meinen Füßen reingehen muss

53:42.000 --> 53:44.000
und da an der Kasse abgeben muss,

53:44.000 --> 53:46.000
wo ich jedes Mal den Online-Code kaufen wollte.

53:46.000 --> 53:48.000
Und ich habe mich auch gefragt, was mit mir los

53:48.000 --> 53:50.000
ist, dass ich es nicht schaffe.

53:50.000 --> 53:52.000
Ich musste dreimal den Guten sofort schreiben.

53:52.000 --> 53:54.000
Ich habe von zwei Monaten eh ab wieder falsch gemacht.

53:54.000 --> 53:56.000
Mittlerweile haben sie das geändert.

53:56.000 --> 53:58.000
Du kannst den Code beidseitig

53:58.000 --> 54:00.000
eingeben, ganz toll.

54:00.000 --> 54:02.000
Aber weißt du, ob das jetzt mit React oder View

54:02.000 --> 54:04.000
oder Angular gebaut ist, mir wuscht,

54:04.000 --> 54:06.000
bitte lass mich den richtigen Code kaufen.

54:06.000 --> 54:08.000
Bei Apps bin ich mir nicht sicher,

54:08.000 --> 54:10.000
aber manchmal weiß ich nicht,

54:10.000 --> 54:12.000
warum fühlt sich das gerade schlechter?

54:12.000 --> 54:14.000
Ist es die UX?

54:14.000 --> 54:16.000
Ist es das Design?

54:16.000 --> 54:18.000
Ist es, weil es eine Web-View ist

54:18.000 --> 54:20.000
und es ging halt nicht besser?

54:20.000 --> 54:22.000
Na ja, aber ich meine,

54:22.000 --> 54:24.000
so die Alltagserfahrung sagt ja schon, es gibt ja egal,

54:24.000 --> 54:26.000
mit was es gebaut ist, gute und schlechte.

54:26.000 --> 54:28.000
Daraus würde ich ja schließen,

54:28.000 --> 54:30.000
dass sozusagen das Problem nicht

54:30.000 --> 54:32.000
die darunter liegende Technologie ist.

54:32.000 --> 54:34.000
Klar, so die Enthusiasten und vielleicht die,

54:34.000 --> 54:36.000
oder Radius mit dem Zirkel abmessen,

54:36.000 --> 54:38.000
die mögen deinen Unterschied machen,

54:38.000 --> 54:40.000
aber...

54:40.000 --> 54:42.000
Ja, ich meine...

54:42.000 --> 54:44.000
Da habe ich es auch von den Entwicklern

54:44.000 --> 54:46.000
und Entwicklerinnen schon gehört,

54:46.000 --> 54:48.000
dass du mit den nativen Sachen

54:48.000 --> 54:50.000
ganz, ganz anderer Möglichkeiten hast.

54:50.000 --> 54:52.000
Und das glaube ich auch.

54:52.000 --> 54:54.000
Ich denke, was man immer hört,

54:54.000 --> 54:56.000
ist das erste Argument für die JavaScript-Apps,

54:56.000 --> 54:58.000
ist nach dem Motto,

54:58.000 --> 55:00.000
man hat ja schon die JavaScript-Entwickler

55:00.000 --> 55:02.000
eh im Haus, weil die Webseite braucht man ja davor.

55:02.000 --> 55:04.000
Und jetzt haben wir wieder dieses gleiche Argument wie,

55:04.000 --> 55:06.000
ja, wir haben ja diese eine Webseite

55:06.000 --> 55:08.000
schon mit React geschrieben, also haben wir

55:08.000 --> 55:10.000
schon hier unser Hochhaus an

55:10.000 --> 55:12.000
React Devs und die können das ja eh...

55:12.000 --> 55:14.000
Die sind ja eh da, ich meine, man zahlt sie auch,

55:14.000 --> 55:16.000
aber das sind ja eh da, dann kann man jetzt ja

55:16.000 --> 55:18.000
die noch in der Mobile-App machen lassen.

55:18.000 --> 55:20.000
Und ich kann mir jetzt vorstellen,

55:20.000 --> 55:22.000
dass es uns zumindest bei damals,

55:22.000 --> 55:24.000
bei der Phone-Gap vor Kordova hieß,

55:24.000 --> 55:26.000
diese Probleme gibt,

55:26.000 --> 55:28.000
wie verbindet man jetzt aber, dass ich jetzt

55:28.000 --> 55:30.000
die Sensoren auch tatsächlich, wie kann ich jetzt

55:30.000 --> 55:32.000
das Modul ansteuern, wie kann ich auf

55:32.000 --> 55:34.000
gewisse Lokalisationsdaten

55:34.000 --> 55:36.000
zugreifen.

55:36.000 --> 55:38.000
Und da hat man dann vielleicht wieder eher einen

55:38.000 --> 55:40.000
Hickhack, was bei den nativen Sprachen

55:40.000 --> 55:42.000
einfach mit in der Sprache beinhaltet ist.

55:42.000 --> 55:44.000
Und

55:44.000 --> 55:46.000
ist das jetzt so, nach dem Motto,

55:46.000 --> 55:48.000
wenn ich es halt erstmal als Prototyp,

55:48.000 --> 55:50.000
als MVP brauche, sag ich,

55:50.000 --> 55:52.000
jetzt schmeiß ich halt die JavaScript-Entwickler

55:52.000 --> 55:54.000
drauf, weil die sind ja schon da.

55:54.000 --> 55:56.000
Und wenn die App dann läuft,

55:56.000 --> 55:58.000
dann machen wir es mal richtig in dativ

55:58.000 --> 56:00.000
oder leben wir in einer Zeit,

56:00.000 --> 56:02.000
dass diese JavaScript-Native-Frameworks

56:02.000 --> 56:04.000
so gut sind

56:04.000 --> 56:06.000
und vielleicht die Endgeräte,

56:06.000 --> 56:08.000
dass auch die entsprechend unterstützen,

56:08.000 --> 56:10.000
dass ich als End-Userin das gar nicht mitbekomme

56:10.000 --> 56:12.000
und das jetzt nativ gebaut wurde

56:12.000 --> 56:14.000
oder ob das nicht nativ gebaut wurde,

56:14.000 --> 56:16.000
hat man dann

56:16.000 --> 56:18.000
noch Performance-Problem, also ruckelt das

56:18.000 --> 56:20.000
noch, ist die UX gut?

56:20.000 --> 56:22.000
Ich glaube, das Ding ist nicht so sehr,

56:22.000 --> 56:24.000
ob die Endnutzerinnen oder

56:24.000 --> 56:26.000
Entnutzer das mitbekommen,

56:26.000 --> 56:28.000
ob sie es stört.

56:28.000 --> 56:30.000
Also das

56:30.000 --> 56:32.000
ist, glaube ich, so das Ziel,

56:32.000 --> 56:34.000
auf das man anpeilen muss.

56:34.000 --> 56:36.000
Und ich glaube, das Szenario, das du beschrieben hast,

56:36.000 --> 56:38.000
ist tatsächlich, glaube ich, das auch hier wieder,

56:38.000 --> 56:40.000
das wirklich relevant und nicht so sehr das technische.

56:40.000 --> 56:42.000
Mag ja sein, dass es irgendwie

56:42.000 --> 56:44.000
zum Beispiel in einem gegebenen Szenario besser wäre,

56:44.000 --> 56:46.000
ein Konzept mit einer nativen App umzusetzen.

56:46.000 --> 56:48.000
Wenn es mir aber an den fehlt,

56:48.000 --> 56:50.000
die das umsetzen können,

56:50.000 --> 56:52.000
dann existiert ja im Prinzip dieser Weg für mich nicht.

56:52.000 --> 56:54.000
Dann kann ich den noch einfach aus meiner Realität rausdefinieren

56:54.000 --> 56:56.000
mit dem Arbeiten, was ich habe,

56:56.000 --> 56:58.000
was dann halt irgendwie mein Hochhaus voller React Nerds ist.

56:58.000 --> 57:00.000
Und die

57:00.000 --> 57:02.000
kann das halt eben auch irgendwie gut machen.

57:02.000 --> 57:04.000
Also das Problem ist ja auch da,

57:04.000 --> 57:06.000
mehr so, was so User Experience

57:06.000 --> 57:08.000
und Aussehen und so angeht,

57:08.000 --> 57:10.000
ist ja zumindest mal meine Erfahrung,

57:10.000 --> 57:12.000
die Innenperspektive von so diversen Firmen,

57:12.000 --> 57:14.000
die ich besuche, dass so Dinge wie,

57:14.000 --> 57:16.000
dass das halt irgendwie einen ordentlichen Workflow gibt

57:16.000 --> 57:18.000
und dass das irgendwie einigermaßen aussieht,

57:18.000 --> 57:20.000
da gibt es einfach niemanden, der dafür zuständig ist.

57:20.000 --> 57:22.000
Da sind dann lauter Leute, die schreiben Code,

57:22.000 --> 57:24.000
aber niemanden, der irgendwie

57:24.000 --> 57:26.000
darauf achtet, dass das irgendwie alles einigermaßen

57:26.000 --> 57:28.000
kohärentes Gesamtbild ergibt.

57:28.000 --> 57:30.000
Und da wäre einfach schon extrem viel mehr mit gewonnen,

57:30.000 --> 57:32.000
einfach irgendwelchen einzustellen,

57:32.000 --> 57:34.000
der oder die Ahnung hat,

57:34.000 --> 57:36.000
wie was gut aussieht

57:36.000 --> 57:38.000
und dass halt irgendwie das Konsistenz bleibt

57:38.000 --> 57:40.000
und so, dass da jemand im CSS-Departement den Hut aufhat

57:40.000 --> 57:42.000
und hin und wieder mal auch ein bisschen Zeit

57:42.000 --> 57:44.000
darauf verwenden darf zu gucken,

57:44.000 --> 57:46.000
was machen die Nutzer, einfach nur so wirklich

57:46.000 --> 57:48.000
das Minimalste, so die ersten 80 Prozent

57:48.000 --> 57:50.000
vom Problem lösen, die einfachen.

57:50.000 --> 57:52.000
Da kann man den Rest weiter Webgram machen lassen

57:52.000 --> 57:54.000
und muss nicht irgendwie eine ganz neue Abteilung

57:54.000 --> 57:56.000
mit iOS-Entwicklerinnen und Entwicklern aufmachen,

57:56.000 --> 57:58.000
weil kann es dann ja auch nicht machen,

57:58.000 --> 58:00.000
weil dann modst ja die Android-Welt wieder.

58:00.000 --> 58:02.000
Das ist, wie gesagt, das finde ich alles

58:02.000 --> 58:04.000
keine technischen Probleme, das sind alles

58:04.000 --> 58:06.000
irgendwelche strukturellen Unternehmensmanagement-Dinger,

58:06.000 --> 58:08.000
also zumindest wäre das auf der Ebene, glaube ich,

58:08.000 --> 58:10.000
da käme man eine

58:10.000 --> 58:12.000
akzeptable Lösung

58:12.000 --> 58:14.000
sehr viel schneller, sehr viel näher,

58:14.000 --> 58:16.000
als wenn man probiert

58:16.000 --> 58:18.000
da mit technischen Mitteln,

58:18.000 --> 58:20.000
von Programmiersparen, anderen Frameworks,

58:20.000 --> 58:22.000
anderen Plattformen was zu machen.

58:22.000 --> 58:24.000
Und generell

58:24.000 --> 58:26.000
habe ich irgendwie so den Eindruck,

58:26.000 --> 58:28.000
dass egal für welchen

58:28.000 --> 58:30.000
Weg man sich da entscheidet, man immer

58:30.000 --> 58:32.000
früher, später anfängt, unglücklich zu werden,

58:32.000 --> 58:34.000
weil ich finde

58:34.000 --> 58:36.000
diese Firmen, also das ist dann auch so,

58:36.000 --> 58:38.000
stehe einfach zu deiner Entscheidung

58:38.000 --> 58:40.000
und das ist halt dann so und arbeite damit,

58:40.000 --> 58:42.000
weil ich das eben oft

58:42.000 --> 58:44.000
erlebt habe, dass man dann so

58:44.000 --> 58:46.000
hey, wir machen das

58:46.000 --> 58:48.000
mit Web-Technologien, weil dann müssen

58:48.000 --> 58:50.000
wir das ja nur einmal entwickeln und können,

58:50.000 --> 58:52.000
das ist super cool so.

58:52.000 --> 58:54.000
Und dann ist irgendwann so, ja aber von

58:54.000 --> 58:56.000
Nativ ist ja doch irgendwie so ein bisschen

58:56.000 --> 58:58.000
fluffiger, ein bisschen, das müssen

58:58.000 --> 59:00.000
wir jetzt kommen, wir müssen jetzt die nächste

59:00.000 --> 59:02.000
Version der App, die machen wir jetzt, dann holen,

59:02.000 --> 59:04.000
machen wir einmal eine iOS-Version, dann machen wir

59:04.000 --> 59:06.000
eine Android-Version und dann, ein paar Jahre später

59:06.000 --> 59:08.000
ist halt wieder so, ah das ist ja mega aufwendig,

59:08.000 --> 59:10.000
dann da irgendwie die Features

59:10.000 --> 59:12.000
in Syng zu halten und dann noch mit der Webseite

59:12.000 --> 59:14.000
die wir haben, das muss irgendwie alles gleich

59:14.000 --> 59:16.000
aussehen, müssen jedes Feature 3 mal irgendwie

59:16.000 --> 59:18.000
implementieren und...

59:18.000 --> 59:20.000
Ha, warum muss das alles gleich aussehen?

59:20.000 --> 59:22.000
Ist es nicht gerade der Vorteil,

59:22.000 --> 59:24.000
dass ich fürs Web, im Web-Design

59:24.000 --> 59:26.000
implementieren kann, für iOS

59:26.000 --> 59:28.000
meistens ein bisschen an das Apple angelehnte

59:28.000 --> 59:30.000
Design und für Android meistens

59:30.000 --> 59:32.000
an das Google Android Design,

59:32.000 --> 59:34.000
was dir dann auch irgendwie simuliert?

59:34.000 --> 59:36.000
Ja, aber vielleicht hast du ja ein Logorebrush

59:36.000 --> 59:38.000
und so Zeugs und dann

59:38.000 --> 59:40.000
solche Dinge, aber eben

59:40.000 --> 59:42.000
oder vielleicht du nutzt bestimmte Icons

59:42.000 --> 59:44.000
um bestimmte Funktionen auszulösen

59:44.000 --> 59:46.000
und dann hast du halt beschlossen,

59:46.000 --> 59:48.000
die müssen jetzt so und so aussehen,

59:48.000 --> 59:50.000
da musst du die halt irgendwie überall austauschen.

59:50.000 --> 59:52.000
Oder sehr viel profaner,

59:52.000 --> 59:54.000
du bist irgendwie das Frontentschwein

59:54.000 --> 59:56.000
im Graben und jetzt kommt die Order

59:56.000 --> 59:58.000
von oben, das muss jetzt halt so sein.

59:58.000 --> 01:00:00.000
Das kann es ja auch geben.

01:00:00.000 --> 01:00:02.000
Also ne, alles was ihr gesagt habt

01:00:02.000 --> 01:00:04.000
sind super Beispiele, warum das passieren

01:00:04.000 --> 01:00:06.000
könnte und warum das eventuell einheitlich

01:00:06.000 --> 01:00:08.000
sein müsste. Oder vielleicht ist der Grund

01:00:08.000 --> 01:00:10.000
ja auch einfach aus meiner Perspektive als

01:00:10.000 --> 01:00:12.000
so, das ist halt eben jetzt so.

01:00:14.000 --> 01:00:16.000
Ich finde es gerade diesen großen Vorteil

01:00:16.000 --> 01:00:18.000
an diesen verschiedenen

01:00:18.000 --> 01:00:20.000
Sachen, die ich zur Auswahl habe,

01:00:20.000 --> 01:00:22.000
dass ich es dann anders aussehen lassen kann,

01:00:22.000 --> 01:00:24.000
damit sie es eben noch nativer anfühlt.

01:00:24.000 --> 01:00:26.000
Weil bestimmte

01:00:26.000 --> 01:00:28.000
Loading Spinner oder so was

01:00:28.000 --> 01:00:30.000
machen auf iOS mehr Sinn als auf Android

01:00:30.000 --> 01:00:32.000
oder es macht auf Android mehr Sinn, wenn der Button

01:00:32.000 --> 01:00:34.000
das Menü irgendwie oben links ist

01:00:34.000 --> 01:00:36.000
und auf iOS in der Tab leiste,

01:00:36.000 --> 01:00:38.000
weil diese User das eher von einem ganzen Betriebssystem

01:00:38.000 --> 01:00:40.000
gewohnt sind. Also ich finde es eher eine Stärke.

01:00:40.000 --> 01:00:42.000
Ja, aber genau, das ist ja auch

01:00:42.000 --> 01:00:44.000
super.

01:00:44.000 --> 01:00:46.000
Genau, aber es kann halt trotzdem sein,

01:00:46.000 --> 01:00:48.000
dass du das halt gut findest, aber dann

01:00:48.000 --> 01:00:50.000
du siehst ja immer nur die Sachen, die halt doof sind.

01:00:50.000 --> 01:00:52.000
Also das vergisst ja irgendwann,

01:00:52.000 --> 01:00:54.000
dass das alles irgendwie solche Vorteile bringt

01:00:54.000 --> 01:00:56.000
und dann irgendwann

01:00:56.000 --> 01:00:58.000
ist es so, dass dann irgendwelche Leute sagen

01:00:58.000 --> 01:01:00.000
so ja, es ist aber echt total aufwendig,

01:01:00.000 --> 01:01:02.000
immer hier diese Apps

01:01:02.000 --> 01:01:04.000
zu pflegen, so wenn wir das ganze

01:01:04.000 --> 01:01:06.000
irgendwie mit Webtechnik machen würden.

01:01:06.000 --> 01:01:08.000
Das wäre ja eigentlich viel besser, weil dann

01:01:08.000 --> 01:01:10.000
hätten wir dieses Problem nicht

01:01:10.000 --> 01:01:12.000
und die sehen dann aber eben nicht

01:01:12.000 --> 01:01:14.000
die Nachteile, dann ist halt so,

01:01:14.000 --> 01:01:16.000
dass die Einheitlichkeit oder die

01:01:16.000 --> 01:01:18.000
quasi

01:01:18.000 --> 01:01:20.000
die Zugeschnittenheit der UI

01:01:20.000 --> 01:01:22.000
für die Plattform

01:01:22.000 --> 01:01:24.000
ist dann auf einmal nicht so wichtig und dann macht man

01:01:24.000 --> 01:01:26.000
halt Web und dann ist irgendwann

01:01:26.000 --> 01:01:28.000
sind die Vorteile der schnellen Entwicklung

01:01:28.000 --> 01:01:30.000
irgendwann vergessen und man

01:01:30.000 --> 01:01:32.000
ärgert sich wieder darüber, dass

01:01:32.000 --> 01:01:34.000
diese Web App irgendwie so ein bisschen fremd wirkt

01:01:34.000 --> 01:01:36.000
auf iOS und Android.

01:01:36.000 --> 01:01:38.000
Also so

01:01:38.000 --> 01:01:40.000
erlebe ich das immer, dass du quasi immer

01:01:40.000 --> 01:01:42.000
so ein Hin und Her hast.

01:01:42.000 --> 01:01:44.000
Dann supportet Apple auf einmal

01:01:44.000 --> 01:01:46.000
Push notifications, hey cool,

01:01:46.000 --> 01:01:48.000
dann machen wir jetzt doch wieder Web

01:01:48.000 --> 01:01:50.000
und nicht App, weil mit App das haben wir

01:01:50.000 --> 01:01:52.000
nur wegen der Push notifications gemacht.

01:01:52.000 --> 01:01:54.000
Und am Ende ist das halt so ein

01:01:54.000 --> 01:01:56.000
Pepito-Mobile.

01:01:56.000 --> 01:01:58.000
Und das Kernproblem wäre dann sozusagen,

01:01:58.000 --> 01:02:00.000
dass man quasi die eigenen Vorteile,

01:02:00.000 --> 01:02:02.000
die man mit seiner Wahl gewonnen hat

01:02:02.000 --> 01:02:04.000
normalisiert, dass man die gar nicht mehr wahrnimmt

01:02:04.000 --> 01:02:06.000
und man sieht nur noch das, was nervt.

01:02:06.000 --> 01:02:08.000
Genau, ich glaube, das ist auch bei

01:02:08.000 --> 01:02:10.000
JavaScript Framework so. Also ich glaube,

01:02:10.000 --> 01:02:12.000
es ist halt bei allen, was man

01:02:12.000 --> 01:02:14.000
hat, ist das so. Man gewöhnt

01:02:14.000 --> 01:02:16.000
sich einfach an das, was man hat

01:02:16.000 --> 01:02:18.000
und sieht dann immer

01:02:18.000 --> 01:02:20.000
gerne nur das, was man eben nicht hat.

01:02:22.000 --> 01:02:24.000
Nur gerade bei Websites versus

01:02:24.000 --> 01:02:26.000
Native Apps finde ich es

01:02:26.000 --> 01:02:28.000
eigentlich sehr interessant, dass die Konzepte

01:02:28.000 --> 01:02:30.000
so unterschiedlich sind. Also wenn wir was

01:02:30.000 --> 01:02:32.000
noch mal machen und jetzt generell mal

01:02:32.000 --> 01:02:34.000
irrelevant davon, ob das

01:02:34.000 --> 01:02:36.000
für mobile

01:02:36.000 --> 01:02:38.000
kleine Geräte sein muss

01:02:38.000 --> 01:02:40.000
oder für ultra-wide-screens

01:02:40.000 --> 01:02:42.000
oder ob das accessible sein muss, etc.

01:02:42.000 --> 01:02:44.000
Das ist alles

01:02:44.000 --> 01:02:46.000
ein Stream im Browser und da schreibe ich

01:02:46.000 --> 01:02:48.000
HTML. Oder zumindest

01:02:48.000 --> 01:02:50.000
benutze ich ein Framework und es kommt

01:02:50.000 --> 01:02:52.000
HTML am Endeffekt raus.

01:02:52.000 --> 01:02:54.000
Aber ich denke, bei

01:02:54.000 --> 01:02:56.000
mobilen Endgeräten haben wir doch

01:02:56.000 --> 01:02:58.000
ein ganz anderes Konzept. Wir haben da nicht

01:02:58.000 --> 01:03:00.000
einen Dom. Wir haben diese Views,

01:03:00.000 --> 01:03:02.000
wo

01:03:02.000 --> 01:03:04.000
Content draufgeschrieben wird

01:03:04.000 --> 01:03:06.000
und dann wird dieser Content

01:03:06.000 --> 01:03:08.000
teilweise ausgetauscht.

01:03:08.000 --> 01:03:10.000
Wir sprechen dann von Table Views

01:03:10.000 --> 01:03:12.000
oder habe ich eine Scroll View

01:03:12.000 --> 01:03:14.000
und dieser Content

01:03:14.000 --> 01:03:16.000
ist eigentlich noch gar nicht da, sondern

01:03:16.000 --> 01:03:18.000
in diese View, die ich dann habe, wird dann der neue

01:03:18.000 --> 01:03:20.000
Text reingeschrieben, wenn ich da weitergehe.

01:03:20.000 --> 01:03:22.000
Da sehe ich auch die witzigsten Bugs

01:03:22.000 --> 01:03:24.000
bei allen möglichen Apps.

01:03:24.000 --> 01:03:26.000
Gerade bei Workout Apps, weil ich es

01:03:26.000 --> 01:03:28.000
in der Regelung ja meist in Verwendung habe,

01:03:28.000 --> 01:03:30.000
dass eine neue Übung kommt.

01:03:30.000 --> 01:03:32.000
Aber es steht noch irgendwie die Gewichtsangabe

01:03:32.000 --> 01:03:34.000
von der View davor da.

01:03:34.000 --> 01:03:36.000
Und dann erinnert mich das wieder daran.

01:03:36.000 --> 01:03:38.000
Das ist gar nicht so ein

01:03:38.000 --> 01:03:40.000
Container für diese Übung.

01:03:40.000 --> 01:03:42.000
Diese Übung wird in diesen festen

01:03:42.000 --> 01:03:44.000
Container reingerendert und irgendwie

01:03:44.000 --> 01:03:46.000
Asynchron hat da was nicht funktioniert

01:03:46.000 --> 01:03:48.000
und ich sehe jetzt noch 8 Kilo

01:03:48.000 --> 01:03:50.000
von der Übung von davor.

01:03:50.000 --> 01:03:52.000
Ist das nicht auch ein technisches

01:03:52.000 --> 01:03:54.000
Implementierungsdetail, wo das Problem

01:03:54.000 --> 01:03:56.000
ist, dass man das mit

01:03:56.000 --> 01:03:58.000
Entwicklerpower

01:03:58.000 --> 01:04:00.000
hätte auch so machen können, dass das Problem

01:04:00.000 --> 01:04:02.000
nicht auftaucht?

01:04:02.000 --> 01:04:04.000
Es gibt diese Views, es gibt

01:04:04.000 --> 01:04:06.000
Versus, es gibt das Dom.

01:04:06.000 --> 01:04:08.000
Man kann doch das eine jeweils aussehen lassen

01:04:08.000 --> 01:04:10.000
wie das andere.

01:04:10.000 --> 01:04:12.000
Und am Ende merkt man doch, wenn man wirklich

01:04:12.000 --> 01:04:14.000
nur vor dem Telefon sitzt und da auf dem Bildschirm rum bat,

01:04:14.000 --> 01:04:16.000
sollte man davon ja eigentlich nichts merken.

01:04:16.000 --> 01:04:18.000
Ja, ja, aussehen lassen

01:04:18.000 --> 01:04:20.000
bestimmt gleich.

01:04:20.000 --> 01:04:22.000
Und als Benutzerin sollte ich das natürlich

01:04:22.000 --> 01:04:24.000
machen.

01:04:24.000 --> 01:04:26.000
Aber wenn ich jetzt, ich frage mich gerade an

01:04:26.000 --> 01:04:28.000
der Schreibweise, wenn ich jetzt,

01:04:28.000 --> 01:04:30.000
mir ist es doch jetzt generell nicht so wichtig,

01:04:30.000 --> 01:04:32.000
wie viel HTML ich da jetzt schreibe.

01:04:32.000 --> 01:04:34.000
Es ist ja endlos.

01:04:34.000 --> 01:04:36.000
Ich kann ja endlos viel HTML drauf schreiben.

01:04:36.000 --> 01:04:38.000
Und der Browser wird sich darum kümmern,

01:04:38.000 --> 01:04:40.000
dass das

01:04:40.000 --> 01:04:42.000
alles irgendwann angezeigt wird.

01:04:42.000 --> 01:04:44.000
Aber ich habe ja dann

01:04:44.000 --> 01:04:46.000
unendlich viele

01:04:46.000 --> 01:04:48.000
Tabellen zum Beispiel.

01:04:48.000 --> 01:04:50.000
Und jede Tabellenzelle hat dann ihren

01:04:50.000 --> 01:04:52.000
Internet.

01:04:52.000 --> 01:04:54.000
Ich denke, wir könnten jetzt tiefer

01:04:54.000 --> 01:04:56.000
einsteigen in die Richtung von diesen

01:04:56.000 --> 01:04:58.000
Virtual Scrolls und so weiter.

01:04:58.000 --> 01:05:00.000
Aber ich denke, dass das Konzept

01:05:00.000 --> 01:05:02.000
trotzdem zumindest bei iOS funktioniert

01:05:02.000 --> 01:05:04.000
einfach anders.

01:05:04.000 --> 01:05:06.000
Ich habe nur zehn Tabellenzellen

01:05:06.000 --> 01:05:08.000
und da muss ich den Content austauschen.

01:05:08.000 --> 01:05:10.000
Und ich habe, ich füge halt einfach mehr

01:05:10.000 --> 01:05:12.000
Zellen und mehr Zellen zu.

01:05:12.000 --> 01:05:14.000
Und dementsprechend,

01:05:14.000 --> 01:05:16.000
weil ich so wenig Erfahrung jetzt mit

01:05:16.000 --> 01:05:18.000
diesen mobilen Applikationen habe,

01:05:18.000 --> 01:05:20.000
dass ich die Entwicklerinnen damit bekomme

01:05:20.000 --> 01:05:22.000
oder ob ich wirklich einfach nur JavaScript schreibe

01:05:22.000 --> 01:05:24.000
und das Framework kümmert sich komplett drum,

01:05:24.000 --> 01:05:26.000
dass da irgendwas rauskommt,

01:05:26.000 --> 01:05:28.000
was dann auf der mobilen Endgerät läuft.

01:05:28.000 --> 01:05:30.000
Oder muss ich da auch solche Sachen beachten,

01:05:30.000 --> 01:05:32.000
wie ich darf keine 400 Tabellenzellen

01:05:32.000 --> 01:05:34.000
schreiben.

01:05:34.000 --> 01:05:36.000
Also wenn das der Fall wäre,

01:05:36.000 --> 01:05:38.000
das was du letzt gesagt hast, dass du darauf achten musst,

01:05:38.000 --> 01:05:40.000
dann würde ich das tatsächlich als ein Mangel

01:05:40.000 --> 01:05:42.000
in dem Framework wahrnehmen.

01:05:42.000 --> 01:05:44.000
Also ich würde erwarten, dass mir das

01:05:44.000 --> 01:05:46.000
wegabstrahiert wird,

01:05:46.000 --> 01:05:48.000
sonst haben wir halt so genug Reibungsverluste,

01:05:48.000 --> 01:05:50.000
dass ich da noch gleich wirklich

01:05:50.000 --> 01:05:52.000
für jedes Ding wieder eine extra Wurst braten könnte.

01:05:52.000 --> 01:05:54.000
Da muss ich halt eben,

01:05:54.000 --> 01:05:56.000
ja, kann ich auch gleich eine Android App bauen

01:05:56.000 --> 01:05:58.000
oder so. Und mir andere Vorteile einheimsen.

01:06:00.000 --> 01:06:02.000
Ich fände, würde ich keine Ahnung,

01:06:02.000 --> 01:06:04.000
wie realistisch das sich benutze, die Dinge halt eben auch nicht.

01:06:04.000 --> 01:06:06.000
Aber ich würde halt eben erwarten, wenn das

01:06:06.000 --> 01:06:08.000
sozusagen, ich meine, die vermarkten sich ja

01:06:08.000 --> 01:06:10.000
alle als eine Lösung, sie alle zu knechten,

01:06:10.000 --> 01:06:12.000
dann will ich bitte auch eine Lösung haben

01:06:12.000 --> 01:06:14.000
und nicht irgendwie ein Branding

01:06:14.000 --> 01:06:16.000
oder drei verschiedene Lösungen haben.

01:06:16.000 --> 01:06:18.000
Das bringt mir nämlich nicht so viel.

01:06:20.000 --> 01:06:22.000
Dann brauchen wir jetzt wieder kluge

01:06:22.000 --> 01:06:24.000
Erhörer und Hörerinnen, die sich bei uns melden

01:06:24.000 --> 01:06:26.000
und Erfahrungen mit diesen Mobile-Apps

01:06:26.000 --> 01:06:28.000
haben. Wie gesagt, mein letzter Stand war,

01:06:28.000 --> 01:06:30.000
oh Gott, das ist alles schrecklich,

01:06:30.000 --> 01:06:32.000
das ist ganz unflüssig, der war aber fünf Jahre

01:06:32.000 --> 01:06:34.000
her und das letzte, was ich gehört habe,

01:06:34.000 --> 01:06:36.000
ist voll super, kommt mal einfach unsere

01:06:36.000 --> 01:06:38.000
JavaScript-Entwicklerinnen dafür und

01:06:38.000 --> 01:06:40.000
Entwickler benutzen, wo ich mich eine Auffrage

01:06:40.000 --> 01:06:42.000
aber schreiben, die dann auch noch an der Webseite,

01:06:42.000 --> 01:06:44.000
nach dem.

01:06:44.000 --> 01:06:46.000
Vielleicht. Und dann möchte ich doch mal

01:06:46.000 --> 01:06:48.000
noch mehr Erfahrung gerne hören.

01:06:48.000 --> 01:06:50.000
Genau, was wir auf jeden Fall noch ergänzen

01:06:50.000 --> 01:06:52.000
müssen, ist, dass es ja auch eben

01:06:52.000 --> 01:06:54.000
so diese Dinge dazwischen gibt, also

01:06:54.000 --> 01:06:56.000
dass man quasi nicht,

01:06:56.000 --> 01:06:58.000
dass man nicht in Web-Technologien

01:06:58.000 --> 01:07:00.000
schreibt und in Web-Technologien

01:07:00.000 --> 01:07:02.000
ausliefert, sondern so was wie

01:07:02.000 --> 01:07:04.000
React Native, das quasi

01:07:04.000 --> 01:07:06.000
ein Framework ist,

01:07:06.000 --> 01:07:08.000
um zwar mit Web-

01:07:08.000 --> 01:07:10.000
Programmiersprachen zu arbeiten,

01:07:10.000 --> 01:07:12.000
aber am Ende wird das Ganze ja

01:07:12.000 --> 01:07:14.000
trotzdem

01:07:14.000 --> 01:07:16.000
mit diesen nativen

01:07:16.000 --> 01:07:18.000
UIs

01:07:18.000 --> 01:07:20.000
gebandelt und geschippt.

01:07:20.000 --> 01:07:22.000
Ich glaube, da gibt es noch ein paar andere,

01:07:22.000 --> 01:07:24.000
also ich glaube, dieses Expo ist auch so was,

01:07:24.000 --> 01:07:26.000
was hier in der Liste drin ist,

01:07:26.000 --> 01:07:28.000
also wo man eben

01:07:28.000 --> 01:07:30.000
seinen Turm, seinen Hochhaus,

01:07:30.000 --> 01:07:32.000
seinen JavaScript-Entwicklern zum Einsatz

01:07:32.000 --> 01:07:34.000
bringen kann, dennoch

01:07:34.000 --> 01:07:36.000
native

01:07:36.000 --> 01:07:38.000
Apps zur Auslieferung

01:07:38.000 --> 01:07:40.000
bringen kann, so.

01:07:42.000 --> 01:07:44.000
Also einfach nur

01:07:44.000 --> 01:07:46.000
eine Paketschnur drumherum.

01:07:46.000 --> 01:07:48.000
Ja, ich glaube, das wird dann

01:07:48.000 --> 01:07:50.000
letztlich transpiliert

01:07:50.000 --> 01:07:52.000
und dann die

01:07:52.000 --> 01:07:54.000
Business-Logik läuft zwar schon in JavaScript,

01:07:54.000 --> 01:07:56.000
genauso das

01:07:56.000 --> 01:07:58.000
also

01:07:58.000 --> 01:08:00.000
React Native ist ja im Prinzip dann

01:08:00.000 --> 01:08:02.000
wahrscheinlich

01:08:02.000 --> 01:08:04.000
ich habe noch nicht damit gearbeitet, aber ich nehme

01:08:04.000 --> 01:08:06.000
an, dass du einfach mit irgendwelchen

01:08:06.000 --> 01:08:08.000
Komponenten arbeitest, die

01:08:08.000 --> 01:08:10.000
dann am Ende sagst und dann sagst du

01:08:10.000 --> 01:08:12.000
Compile Target Web, Compile Target

01:08:12.000 --> 01:08:14.000
IOS und Android

01:08:14.000 --> 01:08:16.000
und dann das eine

01:08:16.000 --> 01:08:18.000
wird dann tatsächlich in irgendwelche Web-Komponenten,

01:08:18.000 --> 01:08:20.000
also Web

01:08:20.000 --> 01:08:22.000
Technologie getriebene

01:08:22.000 --> 01:08:24.000
Dinger umgesetzt und die anderen

01:08:24.000 --> 01:08:26.000
nutzen die nativen

01:08:26.000 --> 01:08:28.000
Betriebssystemen

01:08:28.000 --> 01:08:30.000
oder Programmier Framework Dinger.

01:08:30.000 --> 01:08:32.000
Hm.

01:08:32.000 --> 01:08:34.000
Hm.

01:08:34.000 --> 01:08:36.000
Tschau.

01:08:36.000 --> 01:08:38.000
Auf der anderen Seite gibt es Sachen, die verwenden

01:08:38.000 --> 01:08:40.000
wir schon immer und die funktionieren auch

01:08:40.000 --> 01:08:42.000
schon immer. Das wäre jetzt für mich

01:08:42.000 --> 01:08:44.000
auch das Debugging.

01:08:44.000 --> 01:08:46.000
Ich bin ganz

01:08:46.000 --> 01:08:48.000
klassisch console-Log

01:08:48.000 --> 01:08:50.000
manchmal

01:08:50.000 --> 01:08:52.000
console-Table.

01:08:52.000 --> 01:08:54.000
Da aber die Frage an euch,

01:08:54.000 --> 01:08:56.000
wie stark verwendet ihr denn

01:08:56.000 --> 01:08:58.000
Browser Tools oder ähnliches

01:08:58.000 --> 01:09:00.000
oder gerade euch oder sogar

01:09:00.000 --> 01:09:02.000
eure I.T.I. oder Code-Editor

01:09:02.000 --> 01:09:04.000
fürs Debugging

01:09:04.000 --> 01:09:06.000
zum Breakpoint Setzen und ähnliches

01:09:06.000 --> 01:09:08.000
und der Peter hat gerade ein Buch geholt.

01:09:08.000 --> 01:09:10.000
Ich halte gerade einen

01:09:10.000 --> 01:09:12.000
für die Hörerinnen und Hörer

01:09:12.000 --> 01:09:14.000
nicht-sichtbares Buch in die

01:09:14.000 --> 01:09:16.000
Kamera Coders at Work.

01:09:16.000 --> 01:09:18.000
Da werden einfach nur ein Haufen Programmierer

01:09:18.000 --> 01:09:20.000
so, keine Ahnung, Brandon Ike

01:09:20.000 --> 01:09:22.000
oder hier der Erfinder von Java und Konsorten, die werden

01:09:22.000 --> 01:09:24.000
interviewt und die werden unter anderem da gefragt

01:09:24.000 --> 01:09:26.000
wie die buggen sie denn.

01:09:26.000 --> 01:09:28.000
80% der Antworten sind ja, ich hau halt

01:09:28.000 --> 01:09:30.000
überall Printstatements rein.

01:09:30.000 --> 01:09:32.000
Wer bin ich, dass ich den

01:09:32.000 --> 01:09:34.000
widerspreche? I rest my case.

01:09:38.000 --> 01:09:40.000
Ja,

01:09:40.000 --> 01:09:42.000
console-Log ist natürlich immer gut

01:09:42.000 --> 01:09:44.000
auch schön.

01:09:44.000 --> 01:09:46.000
Es sind also

01:09:46.000 --> 01:09:48.000
in den DevTools Breakpoint Setzen ist natürlich

01:09:48.000 --> 01:09:50.000
auch nie verkehrt.

01:09:50.000 --> 01:09:52.000
Manchmal funktioniert das halt nicht so gut

01:09:52.000 --> 01:09:54.000
einfach durch das

01:09:54.000 --> 01:09:56.000
Transpillieren

01:09:56.000 --> 01:09:58.000
und irgendwie wie dann die Source Maps

01:09:58.000 --> 01:10:00.000
wieder zurück übersetzt werden.

01:10:00.000 --> 01:10:02.000
Das dann manchmal ein bisschen

01:10:02.000 --> 01:10:04.000
irritierend, dass man den Breakpoint dann

01:10:04.000 --> 01:10:06.000
tatsächlich nicht da setzen kann, wo man den

01:10:06.000 --> 01:10:08.000
setzen will. Ich weiß gar nicht warum das so

01:10:08.000 --> 01:10:10.000
ist. Und da wo man den setzen kann,

01:10:10.000 --> 01:10:12.000
ist es möglicherweise gar nicht, wo man den

01:10:12.000 --> 01:10:14.000
setzen möchte.

01:10:14.000 --> 01:10:16.000
Aber die Browser DevTools sind da schon

01:10:16.000 --> 01:10:18.000
echt super und

01:10:18.000 --> 01:10:20.000
ich finde auch so Sachen hervorragend,

01:10:20.000 --> 01:10:22.000
dass man eben irgendwelches

01:10:22.000 --> 01:10:24.000
States enforzen

01:10:24.000 --> 01:10:26.000
kann, wie Hover

01:10:26.000 --> 01:10:28.000
oder so, oder dass man

01:10:28.000 --> 01:10:30.000
auch im Dom Breakpoint Setzen kann, wenn man

01:10:30.000 --> 01:10:32.000
listen will, so, hey, warum

01:10:32.000 --> 01:10:34.000
kommt da immer diese Klasse

01:10:34.000 --> 01:10:36.000
oder warum wird dieses Element da immer entfernt

01:10:36.000 --> 01:10:38.000
oder hinzugefügt, ist doch

01:10:38.000 --> 01:10:40.000
seltsam. Und dann kriegt man eben so, hey,

01:10:40.000 --> 01:10:42.000
das ist der Code, der

01:10:42.000 --> 01:10:44.000
gerade da was eingefügt hat.

01:10:44.000 --> 01:10:46.000
Das sind so die Dinger.

01:10:46.000 --> 01:10:48.000
Wenn ich so irgendwie so hingehe und so, hallo

01:10:48.000 --> 01:10:50.000
hier, Werthe Java Entwicklerin und Entwickler, jetzt

01:10:50.000 --> 01:10:52.000
mit eurem Webfront hin und machen das mal

01:10:52.000 --> 01:10:54.000
irgendwie besser. Wenn es so wirklich um die

01:10:54.000 --> 01:10:56.000
Debugging-Techniken geht, sind wirklich so

01:10:56.000 --> 01:10:58.000
Dinge wie Dom Breakpoints oder halt einfach

01:10:58.000 --> 01:11:00.000
nur der Haken im Network Panel, wo man sagen kann

01:11:00.000 --> 01:11:02.000
Disable Cache.

01:11:02.000 --> 01:11:04.000
Das sind wirklich so die Bringer, die

01:11:04.000 --> 01:11:06.000
wirklich alles sehr viel produktiver machen

01:11:06.000 --> 01:11:08.000
und

01:11:08.000 --> 01:11:10.000
alles was halt so ein fancy Pen Scrum darüber

01:11:10.000 --> 01:11:12.000
hinausgeht, gerade so was man alles mit der

01:11:12.000 --> 01:11:14.000
Konsole anstellen kann, ist es ja wirklich extrem

01:11:14.000 --> 01:11:16.000
beeindruckend, nichts davon verwende ich jemals.

01:11:16.000 --> 01:11:18.000
Und wenn ich es mal verwende oder zeige,

01:11:18.000 --> 01:11:20.000
aber oh, Dom Breakpoint.

01:11:20.000 --> 01:11:22.000
Oh, Hoverstate Forcing.

01:11:22.000 --> 01:11:24.000
Da gibt es ja ganz viel.

01:11:24.000 --> 01:11:26.000
Also zum Beispiel

01:11:26.000 --> 01:11:28.000
Ressourcen blockieren.

01:11:28.000 --> 01:11:30.000
Finde ich auch, also baue ich auch immer mal

01:11:30.000 --> 01:11:32.000
wieder, dass ich irgendwie sage,

01:11:32.000 --> 01:11:34.000
was passiert eigentlich mit dieser Webseite

01:11:34.000 --> 01:11:36.000
wenn die und die Ressource irgendwie nicht

01:11:36.000 --> 01:11:38.000
zur Verfügung steht?

01:11:38.000 --> 01:11:40.000
Oder ist die und die Ressource

01:11:40.000 --> 01:11:42.000
vielleicht zuständig für zu viel

01:11:42.000 --> 01:11:44.000
CPU-Lust oder sowas?

01:11:44.000 --> 01:11:46.000
Das finde ich gut, was ich auch richtig

01:11:46.000 --> 01:11:48.000
gut finde, ist

01:11:48.000 --> 01:11:50.000
diese Ressource Overrides, wo du quasi sagen kannst,

01:11:50.000 --> 01:11:52.000
so

01:11:52.000 --> 01:11:54.000
ich habe gerade ein bisschen Pause,

01:11:54.000 --> 01:11:56.000
was ich dir reinbringen kann.

01:11:56.000 --> 01:11:58.000
Ja, dann.

01:11:58.000 --> 01:12:00.000
Du benutzt sie auch gerne. Ja, da einfach diesen

01:12:00.000 --> 01:12:02.000
super gerne. Das ist was, wo ich mich wie

01:12:02.000 --> 01:12:04.000
im Frage, wir beschäftigen uns so viel

01:12:04.000 --> 01:12:06.000
damit, ob wir jetzt

01:12:06.000 --> 01:12:08.000
reaktives Framework 1 oder reaktives

01:12:08.000 --> 01:12:10.000
Framework 2 benutzen mit State Management

01:12:10.000 --> 01:12:12.000
1 oder State Management 2.

01:12:12.000 --> 01:12:14.000
Aber Sachen, die mich tatsächlich

01:12:14.000 --> 01:12:16.000
deutlich schneller werden lassen,

01:12:16.000 --> 01:12:18.000
sind solche Beispiele wie

01:12:18.000 --> 01:12:20.000
Ressource Overriding, dass

01:12:20.000 --> 01:12:22.000
ich mir jetzt eben nicht das ganze

01:12:22.000 --> 01:12:24.000
Ökosystem perfekt hin basteln muss

01:12:24.000 --> 01:12:26.000
um genau diesen Case dann

01:12:26.000 --> 01:12:28.000
in drei Stunden vorbereitet und dann

01:12:28.000 --> 01:12:30.000
nach dem Browser zu testen, sondern dass ich sagen kann,

01:12:30.000 --> 01:12:32.000
ich tausche das, dieses

01:12:32.000 --> 01:12:34.000
CSS-Datei einfach mal mit einer komplett anderen

01:12:34.000 --> 01:12:36.000
jetzt live aus. Ich muss noch nicht mal

01:12:36.000 --> 01:12:38.000
reüber in meinen Code-Editor gehen

01:12:38.000 --> 01:12:40.000
und kann hier Sachen ausprobieren.

01:12:40.000 --> 01:12:42.000
Das mich das teilweise

01:12:42.000 --> 01:12:44.000
sehr viel Zeit ersparen

01:12:44.000 --> 01:12:46.000
und nicht nur die Zeit ersparen, sondern

01:12:46.000 --> 01:12:48.000
Sachen rausfinden, die hätte ich jetzt so

01:12:48.000 --> 01:12:50.000
durch manuelles, was heißt manuelles,

01:12:50.000 --> 01:12:52.000
aber durch Coachreiben eben so gar nicht

01:12:52.000 --> 01:12:54.000
rausfinden können. Ja.

01:12:54.000 --> 01:12:56.000
Eigentlich finde ich wieder, wir sollten uns

01:12:56.000 --> 01:12:58.000
mal wieder ein bisschen mehr damit beschäftigen,

01:12:58.000 --> 01:13:00.000
was könnten wir im Browser eigentlich noch

01:13:00.000 --> 01:13:02.000
alles benutzen.

01:13:02.000 --> 01:13:04.000
Ich glaube, wir können jetzt ein bisschen das

01:13:04.000 --> 01:13:06.000
Network tab und anscheinend gibt es Dom Breakpoints,

01:13:06.000 --> 01:13:08.000
aber vielleicht eher mal wieder in die Richtung

01:13:08.000 --> 01:13:10.000
gehen, was könnten wir da mit dem Browser

01:13:10.000 --> 01:13:12.000
machen?

01:13:12.000 --> 01:13:14.000
Für welche Ressourcen

01:13:14.000 --> 01:13:16.000
Override ist du denn Schepp?

01:13:16.000 --> 01:13:18.000
Unterschiedlich.

01:13:18.000 --> 01:13:20.000
Also ich prototype zum Beispiel

01:13:20.000 --> 01:13:22.000
irgendwie so

01:13:22.000 --> 01:13:24.000
Preloads und so was, also meistens

01:13:24.000 --> 01:13:26.000
nutze ich das für HTML

01:13:26.000 --> 01:13:28.000
tatsächlich. Also das ich da

01:13:28.000 --> 01:13:30.000
eher quasi

01:13:30.000 --> 01:13:32.000
einen lokalen Override habe, wo ich einfach

01:13:32.000 --> 01:13:34.000
Dinge modifiziere und gucke, wie das dann so

01:13:34.000 --> 01:13:36.000
was die Auswirkungen sind.

01:13:36.000 --> 01:13:38.000
Weil du kannst ja auch

01:13:38.000 --> 01:13:40.000
die ganzen anderen Tools danach drauf

01:13:40.000 --> 01:13:42.000
laufen lassen, also es wie Lighthouse

01:13:42.000 --> 01:13:44.000
und

01:13:44.000 --> 01:13:46.000
oder vielleicht auch das Profiling tab

01:13:46.000 --> 01:13:48.000
und so Zeugs.

01:13:48.000 --> 01:13:50.000
Das geht ja dann auch mit den von dir lokal

01:13:50.000 --> 01:13:52.000
modifizierten Dateien.

01:13:52.000 --> 01:13:54.000
Und

01:13:54.000 --> 01:13:56.000
ja genau, also bei

01:13:56.000 --> 01:13:58.000
CSS da ist es so, dass ich dann,

01:13:58.000 --> 01:14:00.000
das manchmal ist es nicht in den DevTools,

01:14:00.000 --> 01:14:02.000
wobei du ja auch diese

01:14:02.000 --> 01:14:04.000
Resource Overrides, die kannst du ja quasi,

01:14:04.000 --> 01:14:06.000
du musst ja ein Verzeichnis angeben, wo die

01:14:06.000 --> 01:14:08.000
drinnen leben sollen, deine

01:14:08.000 --> 01:14:10.000
Geoverrideden Ressourcen

01:14:10.000 --> 01:14:12.000
und dann kannst du

01:14:12.000 --> 01:14:14.000
eben mit deiner IDE die bearbeiten

01:14:14.000 --> 01:14:16.000
und dann ist es irgendwie angenehmer, das

01:14:16.000 --> 01:14:18.000
zu schreiben als mit deinem

01:14:18.000 --> 01:14:20.000
den Browser DevTools. Also die finde ich zum

01:14:20.000 --> 01:14:22.000
Coden jetzt so mittel cool.

01:14:22.000 --> 01:14:24.000
Genau, aber da habe ich

01:14:24.000 --> 01:14:26.000
einen Plugin, ich glaube das heißt auch Resource

01:14:26.000 --> 01:14:28.000
Override.

01:14:28.000 --> 01:14:30.000
Wo ich dann zum Beispiel

01:14:30.000 --> 01:14:32.000
an der Live-Seite

01:14:32.000 --> 01:14:34.000
auf Production kann ich quasi einfach sagen

01:14:34.000 --> 01:14:36.000
dieses CSS

01:14:36.000 --> 01:14:38.000
da möchte ich quasi immer austauschen

01:14:38.000 --> 01:14:40.000
jetzt also auf Knopfdruck, ich aktiviere das einfach

01:14:40.000 --> 01:14:42.000
und dann kann ich sagen, jetzt möchte ich bitte

01:14:42.000 --> 01:14:44.000
diese ganzen Ressourcen

01:14:44.000 --> 01:14:46.000
während du die abfragst, Austauschung

01:14:46.000 --> 01:14:48.000
gegen die, die ich hier lokal liegen habe

01:14:48.000 --> 01:14:50.000
und dann kann ich da auch

01:14:50.000 --> 01:14:52.000
debuggen und dann habe ich meistens so

01:14:52.000 --> 01:14:54.000
dass ich den ganzen Satz austausche, also

01:14:54.000 --> 01:14:56.000
sowohl CSS als auch JavaScript und so

01:14:56.000 --> 01:14:58.000
und

01:14:58.000 --> 01:15:00.000
dann kann ich es auch wieder deaktivieren

01:15:00.000 --> 01:15:02.000
und dann ist es wieder der Production Code, aber

01:15:02.000 --> 01:15:04.000
dann kann ich eben lokal

01:15:04.000 --> 01:15:06.000
entwickeln und mit

01:15:06.000 --> 01:15:08.000
in Production

01:15:08.000 --> 01:15:10.000
mit in Production Umfeld sehen

01:15:10.000 --> 01:15:12.000
wie sich das eben dann verhält.

01:15:12.000 --> 01:15:14.000
Genau.

01:15:14.000 --> 01:15:16.000
Ja, ich überlege gerade was benutze ich denn sonst noch

01:15:16.000 --> 01:15:18.000
oft an DevTools, muss ich mal aufmachen.

01:15:18.000 --> 01:15:20.000
Die

01:15:20.000 --> 01:15:22.000
Framework spezifischen DevTools

01:15:22.000 --> 01:15:24.000
natürlich, also wenn man schon mal hier

01:15:24.000 --> 01:15:26.000
im React-Universum drin ist, dann

01:15:26.000 --> 01:15:28.000
macht das natürlich Sinn, die entsprechenden Dinge

01:15:28.000 --> 01:15:30.000
sich zu installieren

01:15:30.000 --> 01:15:32.000
oder irgendwie auch für die State Manager haben so was

01:15:32.000 --> 01:15:34.000
natürlich auch.

01:15:34.000 --> 01:15:36.000
Ja, dass ich einfach im Browser dann den

01:15:36.000 --> 01:15:38.000
State kurz ändern kann, dass ich irgendwie

01:15:38.000 --> 01:15:40.000
eine Boolean Variable auf True oder False

01:15:40.000 --> 01:15:42.000
hätte, damit ich sehe was im Browser passiert.

01:15:42.000 --> 01:15:44.000
Die ist viel schneller als würde ich jetzt die

01:15:44.000 --> 01:15:46.000
tatsächlichen Fade durchklicken,

01:15:46.000 --> 01:15:48.000
gerade auch um es zu dokumentieren, dass ich

01:15:48.000 --> 01:15:50.000
ein paar Screenshots mache.

01:15:50.000 --> 01:15:52.000
Wie viele verschiedene States haben wir denn jetzt

01:15:52.000 --> 01:15:54.000
eigentlich implementiert? State Dampen und an den

01:15:54.000 --> 01:15:56.000
Bug Report anhängen.

01:15:56.000 --> 01:15:58.000
Ja, genau.

01:15:58.000 --> 01:16:00.000
Wenn Leute aus dem Design Team oder

01:16:00.000 --> 01:16:02.000
Produkt Team auch mittlerweile

01:16:02.000 --> 01:16:04.000
einfach diese DevTools zu drauf haben

01:16:04.000 --> 01:16:06.000
und sie wischen schon,

01:16:06.000 --> 01:16:08.000
dass wir immer wieder die gleichen Fragen

01:16:08.000 --> 01:16:10.000
stellen.

01:16:10.000 --> 01:16:12.000
Bei UI Sachen habe ich tatsächlich

01:16:12.000 --> 01:16:14.000
mittlerweile erstaunlich wenig, dass ich

01:16:14.000 --> 01:16:16.000
nachfragen muss, ja welcher Browser war

01:16:16.000 --> 01:16:18.000
das denn, weil es jetzt nicht ob

01:16:18.000 --> 01:16:20.000
Rans genau liegt, aber irgendwie habe ich das Gefühl,

01:16:20.000 --> 01:16:22.000
dass es nicht mehr so davon abhängig ist, dass

01:16:22.000 --> 01:16:24.000
das jetzt der InterX Brower 6 ist und das mit

01:16:24.000 --> 01:16:26.000
Gehs halt nicht. Die meisten Sachen funktionieren

01:16:26.000 --> 01:16:28.000
halt. Meistens haben wir dann eher Probleme

01:16:28.000 --> 01:16:30.000
mit so, ja weil welcher ID war das denn

01:16:30.000 --> 01:16:32.000
und also wie soll denn der Request

01:16:32.000 --> 01:16:34.000
aus dem Kringler bei einem Screenshot

01:16:34.000 --> 01:16:36.000
mit einem Networktup auf irgendwas

01:16:36.000 --> 01:16:38.000
draufgeklickt, was rot war, dann mit

01:16:38.000 --> 01:16:40.000
schon passen. Das ist super hilfreich.

01:16:40.000 --> 01:16:42.000
Ich glaube, so Sachen können halt

01:16:42.000 --> 01:16:44.000
die Kommunikation rund um Bugs

01:16:44.000 --> 01:16:46.000
vereinfachen.

01:16:46.000 --> 01:16:48.000
Wenn da halt irgendwie so Dinge gemacht

01:16:48.000 --> 01:16:50.000
werden, wie State Dumps dran gehängt

01:16:50.000 --> 01:16:52.000
werden oder so.

01:16:52.000 --> 01:16:54.000
Mittlerweile ist das ja auch so Mini-Screencast

01:16:54.000 --> 01:16:56.000
eben schnell machen, dass man wirklich einfach

01:16:56.000 --> 01:16:58.000
ein Filmchen mit angehängt bekommt, wo genau

01:16:58.000 --> 01:17:00.000
drin steht, was sind die Steps, um das

01:17:00.000 --> 01:17:02.000
zu reproduzieren. Nicht nur ist das halt

01:17:02.000 --> 01:17:04.000
eben dann anschaulicher, weil man ja genau

01:17:04.000 --> 01:17:06.000
sieht, aha das und das und das ist passiert

01:17:06.000 --> 01:17:08.000
und man sieht vielleicht auch noch welcher Browser

01:17:08.000 --> 01:17:10.000
das war, sondern auch für diejenigen, die den

01:17:10.000 --> 01:17:12.000
Buck Report einstellen, ist das ja sehr viel einfacher,

01:17:12.000 --> 01:17:14.000
das Ding einfach einmal durch zu exerzieren,

01:17:14.000 --> 01:17:16.000
als das irgendwie in Prosa zu übersetzen

01:17:16.000 --> 01:17:18.000
möglicherweise noch in der Sprache, die man

01:17:18.000 --> 01:17:20.000
halt nicht perfekt drauf hat.

01:17:20.000 --> 01:17:22.000
Screenscast, da bin ich ein großer Fan

01:17:22.000 --> 01:17:24.000
und da ist das ja auch so.

01:17:24.000 --> 01:17:26.000
Ja, meistens, sehr oft lag es dann auch nicht unbedingt

01:17:26.000 --> 01:17:28.000
dran, dass jetzt dieser Button geklickt

01:17:28.000 --> 01:17:30.000
wurde, sondern vielleicht lag es eher mal

01:17:30.000 --> 01:17:32.000
dran.

01:17:32.000 --> 01:17:34.000
Da war halt schon vor zehn Schritten der State

01:17:34.000 --> 01:17:36.000
Fall schon, man hätte mal die Seite

01:17:36.000 --> 01:17:38.000
reloaden müssen, dann wäre es auch passiert,

01:17:38.000 --> 01:17:40.000
sondern der Button ging jetzt nur nicht,

01:17:40.000 --> 01:17:42.000
weil vor zehn Schritten ist das passiert

01:17:42.000 --> 01:17:44.000
und da haben wir vergessen, den Request zu

01:17:44.000 --> 01:17:46.000
machen, deswegen haben wir das gar nicht

01:17:46.000 --> 01:17:48.000
gespeichert, obwohl wir sagten, es war

01:17:48.000 --> 01:17:50.000
jetzt. Was halt auch so Dinge sind, die die

01:17:50.000 --> 01:17:52.000
dann über so was wie den State Dump

01:17:52.000 --> 01:17:54.000
oder den Screenscast transportieren.

01:17:54.000 --> 01:17:56.000
Ja,

01:17:56.000 --> 01:17:58.000
es ist solche Fälle, hatten wir z.B.

01:17:58.000 --> 01:18:00.000
wenn man irgendwelche,

01:18:00.000 --> 01:18:02.000
wir haben ja schon erzählt, bei uns kann man

01:18:02.000 --> 01:18:04.000
so Feedback-Zyplinen anlegen und auch

01:18:04.000 --> 01:18:06.000
Onboarding-Tourneys und etc.

01:18:06.000 --> 01:18:08.000
und ich glaube, einem Back hatten wir, wo wir dann

01:18:08.000 --> 01:18:10.000
rausgefunden haben, ach, das wurde davor

01:18:10.000 --> 01:18:12.000
dupliziert, das ganze Ding wurde dupliziert

01:18:12.000 --> 01:18:14.000
und wir hatten dann ein neues Feature

01:18:14.000 --> 01:18:16.000
mit Quizzes und hier und da

01:18:16.000 --> 01:18:18.000
und da war vielleicht noch die Relation

01:18:18.000 --> 01:18:20.000
Frage auch duplizieren müssen, sondern wir hatten

01:18:20.000 --> 01:18:22.000
jetzt vielleicht dummerweise die Frage

01:18:22.000 --> 01:18:24.000
war Unique, aber wir hatten

01:18:24.000 --> 01:18:26.000
diesen zwei verschiedenen Quizzes drin,

01:18:26.000 --> 01:18:28.000
ist dann natürlich ein bisschen schwierig

01:18:28.000 --> 01:18:30.000
und das funktioniert echt mittlerweile

01:18:30.000 --> 01:18:32.000
für, ich glaube, viele Verwenden

01:18:32.000 --> 01:18:34.000
bei uns Loom, irgendein Tool

01:18:34.000 --> 01:18:36.000
hat man noch ein Gesicht und kann Browser

01:18:36.000 --> 01:18:38.000
auswählen und kann Kamera auswählen,

01:18:38.000 --> 01:18:40.000
ist ganz nett, kriegt man einen Link zu

01:18:40.000 --> 01:18:42.000
geschickt und dann sieht man bei dem Video meistens,

01:18:42.000 --> 01:18:44.000
dass es abliefert und wenn da schon das

01:18:44.000 --> 01:18:46.000
Networktap einfach mit offen ist, ist es noch witziger.

01:18:46.000 --> 01:18:48.000
Sonst

01:18:48.000 --> 01:18:50.000
verwende ich eigentlich gar nicht wirklich viel,

01:18:50.000 --> 01:18:52.000
wie gesagt, wir hatten das Networktap,

01:18:52.000 --> 01:18:54.000
wir hatten die Deaf Utils

01:18:54.000 --> 01:18:56.000
des Lieblings Frameworks

01:18:56.000 --> 01:18:58.000
Lighthouse

01:18:58.000 --> 01:19:00.000
immer mal wieder, ich habe jetzt keine

01:19:00.000 --> 01:19:02.000
Plugins drinnen für eine HTML-Validierung

01:19:02.000 --> 01:19:04.000
oder ähnliches, da gehe ich einfach auf

01:19:04.000 --> 01:19:06.000
dem W3C, irgendwas

01:19:06.000 --> 01:19:08.000
HTML-Validator und kopiere es halt rein.

01:19:08.000 --> 01:19:10.000
Ich benutze noch,

01:19:10.000 --> 01:19:12.000
ich habe mal geguckt, also ich benutze

01:19:12.000 --> 01:19:14.000
noch Search, ganz gerne

01:19:14.000 --> 01:19:16.000
also wenn ich dann...

01:19:16.000 --> 01:19:18.000
Echt?

01:19:18.000 --> 01:19:20.000
Du hast ja diese 3

01:19:20.000 --> 01:19:22.000
Knöpfchen und dann gibt es ja so More Tools

01:19:22.000 --> 01:19:24.000
und eigentlich gibt es ja noch viel, viel, viel mehr.

01:19:24.000 --> 01:19:26.000
Die Suche steht bei mir schon da,

01:19:26.000 --> 01:19:28.000
was machst du denn damit, was suche ich denn jetzt?

01:19:28.000 --> 01:19:30.000
Damit kannst du

01:19:30.000 --> 01:19:32.000
in den Ressourcen

01:19:32.000 --> 01:19:34.000
nach bestimmten Schlagworten suchen,

01:19:34.000 --> 01:19:36.000
also wenn ich jetzt zum Beispiel...

01:19:36.000 --> 01:19:38.000
In den Ressourcen? Also in allen Sourcen der Seite.

01:19:38.000 --> 01:19:40.000
Du kannst dann quasi sagen, also zum Beispiel

01:19:40.000 --> 01:19:42.000
habe ich in Century

01:19:42.000 --> 01:19:44.000
einen Fehler, dass

01:19:44.000 --> 01:19:46.000
Screen Orientation Lock

01:19:46.000 --> 01:19:48.000
irgendwie nicht supported wird

01:19:48.000 --> 01:19:50.000
von irgendeiner Plattform und dann denke ich

01:19:50.000 --> 01:19:52.000
also ja, ich benutze es nicht, also

01:19:52.000 --> 01:19:54.000
wo kommt das denn her und dann kann ich

01:19:54.000 --> 01:19:56.000
eben in Search reingehen

01:19:56.000 --> 01:19:58.000
und kann dann nach Screen

01:19:58.000 --> 01:20:00.000
Orientation.Lock suchen und dann kriege ich

01:20:00.000 --> 01:20:02.000
eben die Ressource,

01:20:02.000 --> 01:20:04.000
die das verwendet, das ist

01:20:04.000 --> 01:20:06.000
eigentlich ganz cool.

01:20:06.000 --> 01:20:08.000
Also wenn Century mir nicht sowieso schon sagt

01:20:08.000 --> 01:20:10.000
wo das verwendet wird.

01:20:10.000 --> 01:20:12.000
Im Elements Panel ist natürlich die

01:20:12.000 --> 01:20:14.000
Volltext Suche auch ganz schön,

01:20:14.000 --> 01:20:16.000
weil die natürlich CSS-Elektoren frisst.

01:20:16.000 --> 01:20:18.000
Ja, stimmt.

01:20:18.000 --> 01:20:20.000
Ja, das dachte ich gerade, was du mit

01:20:20.000 --> 01:20:22.000
Suche meinst. Achso, ne, ne.

01:20:22.000 --> 01:20:24.000
Die war wenn ich gerne. Ne, genau, die meinte ich nicht.

01:20:24.000 --> 01:20:26.000
Genau, und

01:20:26.000 --> 01:20:28.000
ja, dann benutze ich halt auch gerne

01:20:28.000 --> 01:20:30.000
noch diesen Profiler, also der jetzt

01:20:30.000 --> 01:20:32.000
mittlerweile Performance heißt, aber der ist ja quasi

01:20:32.000 --> 01:20:34.000
alles

01:20:34.000 --> 01:20:36.000
irgendwie mitschneidet und profiled,

01:20:36.000 --> 01:20:38.000
was da so passiert

01:20:38.000 --> 01:20:40.000
wo ich dann eben sehen kann.

01:20:40.000 --> 01:20:42.000
Ah, okay, so.

01:20:42.000 --> 01:20:44.000
Hier löse ich

01:20:44.000 --> 01:20:46.000
ein Recalc

01:20:46.000 --> 01:20:48.000
aus in CSS und ein Relay

01:20:48.000 --> 01:20:50.000
out und so und dann kann ich eben hingehen

01:20:50.000 --> 01:20:52.000
und sagen, woran liegt das

01:20:52.000 --> 01:20:54.000
oder ich sehe auch wie lang braucht der

01:20:54.000 --> 01:20:56.000
und da habe ich auch letztens

01:20:56.000 --> 01:20:58.000
das habe ich

01:20:58.000 --> 01:21:00.000
beim Vortrag von dem Nolan Lawson,

01:21:00.000 --> 01:21:02.000
das ist ein Blog-Post von dem gelesen, es gibt auch noch

01:21:02.000 --> 01:21:04.000
Tools, die den Weg nicht in die Dev-Tools

01:21:04.000 --> 01:21:06.000
gefunden haben bislang.

01:21:06.000 --> 01:21:08.000
Das ist zum Beispiel Chrome Trace

01:21:08.000 --> 01:21:10.000
ist so ein Kandidat, das ist aber auch

01:21:10.000 --> 01:21:12.000
sehr rudimentär und da kannst du dann

01:21:12.000 --> 01:21:14.000
kannst du dann auch sagen

01:21:14.000 --> 01:21:16.000
ich mich interessiert eigentlich

01:21:16.000 --> 01:21:18.000
nur deine CSS-Selektor

01:21:18.000 --> 01:21:20.000
Performance

01:21:20.000 --> 01:21:22.000
oder wie lange brauchst du

01:21:22.000 --> 01:21:24.000
was quasi

01:21:24.000 --> 01:21:26.000
die Grundlage ist für diese Recalculation

01:21:26.000 --> 01:21:28.000
und dann habe ich halt gesehen

01:21:28.000 --> 01:21:30.000
so, ah okay, diese Selektoren

01:21:30.000 --> 01:21:32.000
in meinem Projekt

01:21:32.000 --> 01:21:34.000
also die quasi sagen wir mal die

01:21:34.000 --> 01:21:36.000
Stärkchenenden

01:21:36.000 --> 01:21:38.000
die sind also die und die gibt es

01:21:38.000 --> 01:21:40.000
und die werden ständig gegen

01:21:40.000 --> 01:21:42.000
Elemente gemetscht, weil Sternchen

01:21:42.000 --> 01:21:44.000
und da verbaue ich halt so und so viel

01:21:44.000 --> 01:21:46.000
Zeit und dann konnte ich das eben

01:21:46.000 --> 01:21:48.000
aufräumen oder ich habe eben auch

01:21:48.000 --> 01:21:50.000
dann wurde auch der Hasselektor

01:21:50.000 --> 01:21:52.000
aufgelistet was irgendwie auch kein Wunder

01:21:52.000 --> 01:21:54.000
ist, weil der ja quasi so

01:21:54.000 --> 01:21:56.000
der dreht ja alles auf links

01:21:56.000 --> 01:21:58.000
und der muss dann quasi anders gemetscht

01:21:58.000 --> 01:22:00.000
werden

01:22:00.000 --> 01:22:02.000
und ich hatte den eingebaut so als

01:22:02.000 --> 01:22:04.000
EdgeK ist Abfangmechanismus

01:22:04.000 --> 01:22:06.000
aber mein Effekt dachte ich dann so

01:22:06.000 --> 01:22:08.000
ja okay der ist jetzt auch nicht so wichtig

01:22:08.000 --> 01:22:10.000
ich brauche ihn wieder raus, damit der nicht

01:22:10.000 --> 01:22:12.000
irgendwie ständig gemetscht werden muss gegen Dinge

01:22:14.000 --> 01:22:16.000
Im Performance Tab noch

01:22:16.000 --> 01:22:18.000
CPU-Drosselung natürlich auch sehr schön

01:22:18.000 --> 01:22:20.000
also kann man natürlich gucken

01:22:20.000 --> 01:22:22.000
welcher CSS-Selektor matcht wie lange

01:22:22.000 --> 01:22:24.000
aber wichtiger vielleicht die Entscheidung

01:22:24.000 --> 01:22:26.000
muss ich danach gerade überhaupt gucken

01:22:26.000 --> 01:22:28.000
also einfach mal die Drossel anziehen, Neuladen

01:22:28.000 --> 01:22:30.000
gucken ist das noch alles butter smooth

01:22:30.000 --> 01:22:32.000
DevTools zu und weiter machen

01:22:32.000 --> 01:22:34.000
und das ist natürlich auch so sehr gut

01:22:34.000 --> 01:22:36.000
für so eine erste Einschätzung

01:22:36.000 --> 01:22:38.000
Ja, genau wobei ich finde

01:22:38.000 --> 01:22:40.000
halt so im JavaScript Bereich

01:22:40.000 --> 01:22:42.000
ist also ist die Auflösung schon

01:22:42.000 --> 01:22:44.000
ziemlich gut die man da bekommt

01:22:44.000 --> 01:22:46.000
diese FlameCharts und Co

01:22:46.000 --> 01:22:48.000
im so

01:22:48.000 --> 01:22:50.000
allem anderen also auch was

01:22:50.000 --> 01:22:52.000
so quasi wo wird am meisten

01:22:52.000 --> 01:22:54.000
Layout-Zeit zum Beispiel verbraten

01:22:54.000 --> 01:22:56.000
so das erzählt einem halt keiner

01:22:56.000 --> 01:22:58.000
man sieht nur so quasi das Ergebnis insgesamt

01:22:58.000 --> 01:23:00.000
aber cool da ja auch irgendwie zu wissen

01:23:00.000 --> 01:23:02.000
so dieses

01:23:02.000 --> 01:23:04.000
diese Komponente da immer

01:23:04.000 --> 01:23:06.000
also die braucht so und so lange

01:23:06.000 --> 01:23:08.000
weil da ist halt

01:23:08.000 --> 01:23:10.000
ein Grid im Einsatz das irgendwie kompliziert ist

01:23:10.000 --> 01:23:12.000
oder sowas ausrechnet

01:23:12.000 --> 01:23:14.000
für den Browser

01:23:14.000 --> 01:23:16.000
mal von den großen

01:23:16.000 --> 01:23:18.000
Frameworks abgesehen ich denke

01:23:18.000 --> 01:23:20.000
das ist immer so da wo man dann viel

01:23:20.000 --> 01:23:22.000
Zeit und Entscheidungsgespräche

01:23:22.000 --> 01:23:24.000
mit reinführen lässt

01:23:24.000 --> 01:23:26.000
benutzt man ReactView

01:23:26.000 --> 01:23:28.000
da da da, mir schaut es bei euch aus

01:23:28.000 --> 01:23:30.000
mit so kleineren Packages also wenn ich so denke

01:23:30.000 --> 01:23:32.000
an Date-Formatierungen

01:23:32.000 --> 01:23:34.000
bei mir ist es jetzt

01:23:34.000 --> 01:23:36.000
Date.js aus relativ

01:23:36.000 --> 01:23:38.000
schnell gefundenen Gründen

01:23:38.000 --> 01:23:40.000
wie viel Zeit steckt

01:23:40.000 --> 01:23:42.000
ihr da rein euch für so kleine Packages

01:23:42.000 --> 01:23:44.000
zu entscheiden und ob oder ja

01:23:44.000 --> 01:23:46.000
und dagegen und habt ihr auch die

01:23:46.000 --> 01:23:48.000
gleiche grundsätzliche Haltung

01:23:48.000 --> 01:23:50.000
Schöpfer lieber aber selber schreiben

01:23:50.000 --> 01:23:52.000
nix aus Bein binden

01:23:52.000 --> 01:23:54.000
ja tatsächlich also bei sowas

01:23:54.000 --> 01:23:56.000
dann irgendwie die im Browser eingebauten

01:23:56.000 --> 01:23:58.000
Sachen also das ist dann

01:23:58.000 --> 01:24:00.000
noch nicht Temporal glaube ich also

01:24:00.000 --> 01:24:02.000
so das fast ist mache ich damit nicht auf

01:24:02.000 --> 01:24:04.000
aber

01:24:04.000 --> 01:24:06.000
das was was der Browser hat

01:24:06.000 --> 01:24:08.000
zum

01:24:08.000 --> 01:24:10.000
auch zum Formatieren von Zahlen zum Beispiel

01:24:10.000 --> 01:24:12.000
da schippten die ja mittlerweile

01:24:12.000 --> 01:24:14.000
schon einiges zurück ich weiß nicht ob das

01:24:14.000 --> 01:24:16.000
ja Temporal ist das aber nicht

01:24:16.000 --> 01:24:18.000
genau ich würde ich genau ich möchte

01:24:18.000 --> 01:24:20.000
dafür keine Library haben

01:24:20.000 --> 01:24:22.000
einfach weil ich immer denke die sind

01:24:22.000 --> 01:24:24.000
das ist dann so der der death

01:24:24.000 --> 01:24:26.000
bei 1000 Paper Cuts

01:24:26.000 --> 01:24:28.000
also so eine so hier

01:24:28.000 --> 01:24:30.000
und eine da und dann

01:24:30.000 --> 01:24:32.000
dann schippt man halt relativ viel also

01:24:32.000 --> 01:24:34.000
wenn das wenn das alles serverseitig

01:24:34.000 --> 01:24:36.000
wäre dann wäre es ja vielleicht weniger ein Problem

01:24:36.000 --> 01:24:38.000
aber wenn man das irgendwie alles an die

01:24:38.000 --> 01:24:40.000
an die User schippt

01:24:40.000 --> 01:24:42.000
weiß ich nicht da muss dann schon irgendwie

01:24:42.000 --> 01:24:44.000
sehr viel Zeitformatierung

01:24:44.000 --> 01:24:46.000
stattfinden das ja irgendwann sage okay

01:24:46.000 --> 01:24:48.000
das jetzt irgendwie eine der

01:24:48.000 --> 01:24:50.000
Kernkompetenzen dieser Web Anwendung

01:24:50.000 --> 01:24:52.000
und dann

01:24:52.000 --> 01:24:54.000
da weiß ich nicht

01:24:54.000 --> 01:24:56.000
entweder was will ich dann was

01:24:56.000 --> 01:24:58.000
oder dann schippe ich das

01:24:58.000 --> 01:25:00.000
das ist nämlich glaube ich tatsächlich

01:25:00.000 --> 01:25:02.000
eine so eine Superkraft

01:25:02.000 --> 01:25:04.000
warum sollte man überhaupt von Web

01:25:04.000 --> 01:25:06.000
schon als eine Ahnung haben es steckt halt

01:25:06.000 --> 01:25:08.000
echt viel drin und man kann damit echt viel machen

01:25:08.000 --> 01:25:10.000
wofür man halt eben sich genauso gut ein

01:25:10.000 --> 01:25:12.000
npm-Paket installieren könnte

01:25:12.000 --> 01:25:14.000
man kann es halt eben öfter mal auch bleiben lassen

01:25:16.000 --> 01:25:18.000
ja genauso wie wie man low-dash

01:25:18.000 --> 01:25:20.000
nicht braucht und du petas das ja immer

01:25:20.000 --> 01:25:22.000
irgendwie so hey warum benutzt man denn nicht

01:25:22.000 --> 01:25:24.000
die native-formularvalidierung

01:25:24.000 --> 01:25:26.000
und so es gibt

01:25:26.000 --> 01:25:28.000
eigentlich genug Schätze

01:25:28.000 --> 01:25:30.000
native-formularvalidierung das verhacke ich mich auch

01:25:30.000 --> 01:25:32.000
warum verwenden wir die

01:25:32.000 --> 01:25:34.000
die ist doch super

01:25:34.000 --> 01:25:36.000
die musst du erst lernen um sie dann umzubiegen

01:25:36.000 --> 01:25:38.000
dass es funktioniert während du halt eben

01:25:38.000 --> 01:25:40.000
du suchst ja auch nicht nach

01:25:40.000 --> 01:25:42.000
also du suchst nach formularvalidierung

01:25:42.000 --> 01:25:44.000
aber irgendwie so max mütze sucht

01:25:44.000 --> 01:25:46.000
vielleicht nach react-formularvalidierung

01:25:46.000 --> 01:25:48.000
findet ja die html-5-formularvalidierung

01:25:48.000 --> 01:25:50.000
auf diesem wege gar nicht erst

01:25:50.000 --> 01:25:52.000
und wenn er sie ausprobiert stellt er fest

01:25:52.000 --> 01:25:54.000
das sieht ja in chrome und firefox komplett anders aus

01:25:54.000 --> 01:25:56.000
das kann ich ja gar nicht gebrauchen

01:25:56.000 --> 01:25:58.000
was ich wieder sagen würde

01:25:58.000 --> 01:26:00.000
das ist doch vielleicht eher den Vorteil

01:26:00.000 --> 01:26:02.000
ich weiß ich habe auch bug-Tickets darüber bekommen

01:26:02.000 --> 01:26:04.000
dass es jetzt im safari

01:26:04.000 --> 01:26:06.000
das datumsformat ganz anders angezeigt wird

01:26:08.000 --> 01:26:10.000
ich weiß jetzt nicht ob es genauso farge war

01:26:10.000 --> 01:26:12.000
aber es war irgendwie was das es dann eben lokaler

01:26:12.000 --> 01:26:14.000
sidestring hatte

01:26:14.000 --> 01:26:16.000
aber keine ahnung die was weiß ich welche

01:26:16.000 --> 01:26:18.000
sprache übersetzung gar nicht sondern war halt alles englisch

01:26:18.000 --> 01:26:20.000
und plötzlich kam das sprache

01:26:20.000 --> 01:26:22.000
xy datenformat

01:26:22.000 --> 01:26:24.000
ist doch ist das nicht ein feature

01:26:24.000 --> 01:26:26.000
nicht sicher

01:26:26.000 --> 01:26:28.000
aber solche requests dann kommt es halt aufs team an

01:26:28.000 --> 01:26:30.000
ich kann die ganz einfach abblocken und sagen

01:26:30.000 --> 01:26:32.000
das kommt vom browser

01:26:32.000 --> 01:26:34.000
müssen wir das tatsächlich ändern

01:26:34.000 --> 01:26:36.000
hat das irgendein mehr wert das davon

01:26:36.000 --> 01:26:38.000
wenn wir dieses grau auf dieses grau ändern

01:26:38.000 --> 01:26:40.000
oder nicht weil dann machen wir es nicht

01:26:40.000 --> 01:26:42.000
naja das ist schon eine formularvalidierung

01:26:42.000 --> 01:26:44.000
da kann man ja alles ändern man kann ja wirklich alles austauschen

01:26:44.000 --> 01:26:46.000
von wirklich irgendwelchen farben

01:26:46.000 --> 01:26:48.000
designs und was nicht allem

01:26:48.000 --> 01:26:50.000
bis hin wirklich auch zu dem text der angezeigt wird

01:26:50.000 --> 01:26:52.000
und das kann man halt eben alles auf eine art und weise

01:26:52.000 --> 01:26:54.000
machen was halt so die von chef fallen mal angesprach

01:26:54.000 --> 01:26:56.000
der ewigkeitsgarantie umsetzt weil das ändert sich

01:26:56.000 --> 01:26:58.000
nicht mehr das ist ein webstander seit

01:26:58.000 --> 01:27:00.000
10 jahren das wird man nie wieder updaten

01:27:00.000 --> 01:27:02.000
muss man muss halt initial mal halt da ein wenig

01:27:02.000 --> 01:27:04.000
ja was investieren

01:27:04.000 --> 01:27:06.000
das ist möglicherweise nicht so wenig

01:27:06.000 --> 01:27:08.000
da muss man möglicherweise einiges

01:27:08.000 --> 01:27:10.000
selber schreiben

01:27:10.000 --> 01:27:12.000
und kann nicht einfach irgendwie sich da die dependency

01:27:12.000 --> 01:27:14.000
von so und so reinziehen

01:27:14.000 --> 01:27:16.000
ja man muss halt wissen dass man das kann

01:27:16.000 --> 01:27:18.000
und man muss es halt eben dann auch machen

01:27:18.000 --> 01:27:20.000
und das fällt halt schwer

01:27:20.000 --> 01:27:22.000
glaube ich ganz klar und das ist natürlich auch eine zeitfrage

01:27:22.000 --> 01:27:24.000
also ich kann sowas machen

01:27:24.000 --> 01:27:26.000
weil ich in projekten bin die

01:27:26.000 --> 01:27:28.000
also das ist quasi produktentwicklung

01:27:28.000 --> 01:27:30.000
wo ich drin bin

01:27:30.000 --> 01:27:32.000
aber wenn du halt schnell

01:27:32.000 --> 01:27:34.000
viel output schaffen

01:27:34.000 --> 01:27:36.000
musst weil du vielleicht in einem

01:27:36.000 --> 01:27:38.000
agentur umfeld bist

01:27:38.000 --> 01:27:40.000
und das halt so ist

01:27:40.000 --> 01:27:42.000
und du einfach möglichst effizient

01:27:42.000 --> 01:27:44.000
arbeiten musst

01:27:44.000 --> 01:27:46.000
weil du dein chef

01:27:46.000 --> 01:27:48.000
eben den job nur akqueren konnte

01:27:48.000 --> 01:27:50.000
weil er einen guten preis gemacht hat

01:27:50.000 --> 01:27:52.000
und dann zählt eben jede minute

01:27:52.000 --> 01:27:54.000
die du schneller bist

01:27:54.000 --> 01:27:56.000
da ist das total legitim das ist ja auch wirklich immer

01:27:56.000 --> 01:27:58.000
es kommt ja immer darauf an

01:27:58.000 --> 01:28:00.000
wie der kontext ist das haben wir am

01:28:00.000 --> 01:28:02.000
anfang ja auch auch gesagt bei den

01:28:02.000 --> 01:28:04.000
javascript frameworks

01:28:04.000 --> 01:28:06.000
da sehe ich das total ein

01:28:06.000 --> 01:28:08.000
dann so macht das du hast das extrem gut beschrieben

01:28:08.000 --> 01:28:10.000
für einen fall wo man halt wirklich sagen würde

01:28:10.000 --> 01:28:12.000
ich nehme die dependency mit batteries included

01:28:12.000 --> 01:28:14.000
und fertig ist aber das ding ist

01:28:14.000 --> 01:28:16.000
da muss man halt genau das gleiche machen wie bei den frameworks

01:28:16.000 --> 01:28:18.000
nämlich dazustehen und wenn dann die core web vitals

01:28:18.000 --> 01:28:20.000
irgendwie rumweinen oder sie an mich herangetragen

01:28:20.000 --> 01:28:22.000
werden

01:28:22.000 --> 01:28:24.000
dann sind wir halt so bei dem

01:28:24.000 --> 01:28:26.000
guten alten agentur 3 eck

01:28:26.000 --> 01:28:28.000
schnell gut billig

01:28:28.000 --> 01:28:30.000
zwei von denen kannst du haben

01:28:30.000 --> 01:28:32.000
und wenn es dann halt irgendwie nicht schnell ist

01:28:32.000 --> 01:28:34.000
weil es gut und billig sein musste

01:28:34.000 --> 01:28:36.000
dazustehen und das halt eben auch irgendwie verteidigen

01:28:36.000 --> 01:28:38.000
wenn man es dann irgendwie kann

01:28:38.000 --> 01:28:40.000
aber das kann halt eben total valider tradeoff sein

01:28:40.000 --> 01:28:42.000
bin ich ganz bei dir

01:28:44.000 --> 01:28:46.000
ich kann das auch gleich wieder mein eigenes argument wieder mit einwerfen

01:28:46.000 --> 01:28:48.000
aber da finden wir ja jedes mal wieder das raten

01:28:48.000 --> 01:28:50.000
neu also nach dem

01:28:50.000 --> 01:28:52.000
zu dem satz loadisch braucht man ja nicht

01:28:52.000 --> 01:28:54.000
braucht man loadisch nicht

01:28:54.000 --> 01:28:56.000
oder ich könnte als gegenargument bringen

01:28:56.000 --> 01:28:58.000
wieso musst du jedes mal deinen clown deep mit hude

01:28:58.000 --> 01:29:00.000
selber schreiben

01:29:00.000 --> 01:29:02.000
brauchst du jetzt mittlerweile nicht mehr

01:29:02.000 --> 01:29:04.000
kommt auf deine note version an

01:29:04.000 --> 01:29:06.000
wie ich schmerzhaft gemerkt habe

01:29:06.000 --> 01:29:08.000
ja ansonsten

01:29:08.000 --> 01:29:10.000
hier jason stringify jason pass

01:29:10.000 --> 01:29:12.000
fertig

01:29:12.000 --> 01:29:14.000
plastik hat funktioniert aber nicht immer

01:29:14.000 --> 01:29:16.000
wenn du da proxies und so weiter drin hattest

01:29:16.000 --> 01:29:18.000
und dann funktioniert halt eben auch loadisch nicht mehr

01:29:18.000 --> 01:29:20.000
ich behaupte ja dass loadisch tatsächlich ja aktiv

01:29:20.000 --> 01:29:22.000
ein klotz am bein des fortschritts ist

01:29:22.000 --> 01:29:24.000
weil das ding halt arrays und objekte unterstützt

01:29:24.000 --> 01:29:26.000
aber keine map sets oder sonstigen

01:29:26.000 --> 01:29:28.000
exotischen neuheiten

01:29:28.000 --> 01:29:30.000
und das ist halt schon ein bisschen droof

01:29:30.000 --> 01:29:32.000
jason stringify

01:29:32.000 --> 01:29:34.000
aber dann machen wir das beispiel

01:29:34.000 --> 01:29:36.000
vom date management

01:29:36.000 --> 01:29:38.000
weil es eben so ein komplexes thema ist

01:29:38.000 --> 01:29:40.000
wie rechnest du jetzt aus ob das eine datum

01:29:40.000 --> 01:29:42.000
vor oder hinter dem andere

01:29:42.000 --> 01:29:44.000
im datum ist

01:29:44.000 --> 01:29:46.000
wie sicher bist du das

01:29:46.000 --> 01:29:48.000
und kümmere mich halt einfach dau echt nicht um die details

01:29:48.000 --> 01:29:50.000
also ich bin da wieder so bei meinem 80 20

01:29:50.000 --> 01:29:52.000
ding oder so das ist halt ein isoliertes problem

01:29:52.000 --> 01:29:54.000
das ich erschlagen muss

01:29:54.000 --> 01:29:56.000
da nehme ich also erstmal das erstbeste populärste

01:29:56.000 --> 01:29:58.000
was mir über den weg läuft

01:29:58.000 --> 01:30:00.000
und sollte sich dann diese date library

01:30:00.000 --> 01:30:02.000
als irgendwie zu schwer gewichtig

01:30:02.000 --> 01:30:04.000
oder zu sonst was herausstellen kann ich die

01:30:04.000 --> 01:30:06.000
weil die halt eben so ein relativ isoliertes

01:30:06.000 --> 01:30:08.000
ding ist, ist halt eine funktion die

01:30:08.000 --> 01:30:10.000
zwei dates vergleicht ersetzen

01:30:10.000 --> 01:30:12.000
oder halt eben mit plattformfunktionen

01:30:12.000 --> 01:30:14.000
selber machen oder oder oder

01:30:14.000 --> 01:30:16.000
also da bin ich extrem leidenschaftlos

01:30:16.000 --> 01:30:18.000
ich persönlich

01:30:18.000 --> 01:30:20.000
meistens ist mir da die abstraktion viel wichtiger

01:30:20.000 --> 01:30:22.000
als die entscheidung für was jetzt

01:30:22.000 --> 01:30:24.000
sondern das habe ich auch mit sentry so

01:30:24.000 --> 01:30:26.000
dass ich mir selber einen monitoring

01:30:26.000 --> 01:30:28.000
datai geschrieben habe da ist sentry

01:30:28.000 --> 01:30:30.000
drin wird sentry genannt

01:30:30.000 --> 01:30:32.000
wird sentry geladen

01:30:32.000 --> 01:30:34.000
ruft sentry funktionen auf

01:30:34.000 --> 01:30:36.000
aber nach außen hin an meiner eigene

01:30:36.000 --> 01:30:38.000
applikation gebe ich eine methode weiter

01:30:38.000 --> 01:30:40.000
die heißt keine ahnung capture exception

01:30:40.000 --> 01:30:42.000
hatten bekommt ein bestimmter

01:30:42.000 --> 01:30:44.000
parameter die ich mit liefern kann

01:30:44.000 --> 01:30:46.000
und dann verwende ich die aber in meinen

01:30:46.000 --> 01:30:48.000
komponenten weil ich möchte nicht in all meinen

01:30:48.000 --> 01:30:50.000
komponenten sentry.capture exception schreiben

01:30:50.000 --> 01:30:52.000
weil falls ich von sentry auf was weiß

01:30:52.000 --> 01:30:54.000
ich was umsteige

01:30:54.000 --> 01:30:56.000
müsste ich sonst ja 100.000

01:30:56.000 --> 01:30:58.000
Dateien ändern

01:30:58.000 --> 01:31:00.000
beim

01:31:00.000 --> 01:31:02.000
djs

01:31:04.000 --> 01:31:06.000
weiß ich gerade nicht wie es ganz genau ist

01:31:06.000 --> 01:31:08.000
aber generell für die so eine abstraktion

01:31:08.000 --> 01:31:10.000
immer ganz hilfreich

01:31:10.000 --> 01:31:12.000
wenn man es dann doch eben mal ändern möchte

01:31:12.000 --> 01:31:14.000
dass ich aber wirklich nur die eine Datei

01:31:14.000 --> 01:31:16.000
ändern muss wo die sachen drin stehen

01:31:16.000 --> 01:31:18.000
ich glaube laudisch ist das ganze

01:31:18.000 --> 01:31:20.000
ich glaube ich glaube laudisch mach ich mal anders

01:31:20.000 --> 01:31:22.000
wenn wir es noch verwenden fallen wir es noch

01:31:22.000 --> 01:31:24.000
aber dann ist es einfach import

01:31:24.000 --> 01:31:26.000
clone die von laudisch und dann wird er eben clone deep

01:31:26.000 --> 01:31:28.000
aufgerufen

01:31:28.000 --> 01:31:30.000
ja das ist dann ja auch perfekt

01:31:30.000 --> 01:31:32.000
habe ich gerade dann sprechen gemerkt mach ich doch immer anders

01:31:32.000 --> 01:31:34.000
ja dann ist es ja auch e klein

01:31:34.000 --> 01:31:36.000
also wenn du dann direkt

01:31:36.000 --> 01:31:38.000
nur dieses modul importierst

01:31:38.000 --> 01:31:40.000
und dann der rest landet ja auch gar nicht in der

01:31:40.000 --> 01:31:42.000
codebase das haben die ja bei laudisch schon

01:31:42.000 --> 01:31:44.000
ganz gut gemacht auch so

01:31:44.000 --> 01:31:46.000
ja ja

01:31:46.000 --> 01:31:48.000
was ich halt noch so an kleinigkeiten gerne habe

01:31:48.000 --> 01:31:50.000
sind so die ganzen ekelhaften sachen wo ich halt

01:31:50.000 --> 01:31:52.000
mir vorstellen könnte ich kriege das irgendwie raus

01:31:52.000 --> 01:31:54.000
aber besser ist wenn ich das

01:31:54.000 --> 01:31:56.000
überhaupt gar nicht erst in meinen gehirn rein lasse

01:31:56.000 --> 01:31:58.000
wenn ich zum Beispiel irgendwie textverarbeitung mache

01:31:58.000 --> 01:32:00.000
und ich muss irgendwie gucken so

01:32:00.000 --> 01:32:02.000
ich habe so da meinen string aus tokens

01:32:02.000 --> 01:32:04.000
und will den halt irgendwie so aufteilen

01:32:04.000 --> 01:32:06.000
aber ich will halt nicht irgendwie so ein kombinierten emoji

01:32:06.000 --> 01:32:08.000
kram irgendwie hautfarbe plus dis plus dis plus dis

01:32:08.000 --> 01:32:10.000
er gibt ein grafé im letztlich

01:32:10.000 --> 01:32:12.000
also da die trendstelle aus dem string raus zu

01:32:12.000 --> 01:32:14.000
suchen da gehe ich wirklich

01:32:14.000 --> 01:32:16.000
sehr gerne hin und ziehe mir eine library rein

01:32:16.000 --> 01:32:18.000
die obwohl sie halt irgendwie relativ groß ist

01:32:18.000 --> 01:32:20.000
weil sie halt eben sehr viele strings enthält

01:32:20.000 --> 01:32:22.000
aber das problem einfach löst

01:32:22.000 --> 01:32:24.000
damit ich das auf meinem kopf raushalten kann

01:32:26.000 --> 01:32:28.000
ja ja das ist das ist vielleicht

01:32:28.000 --> 01:32:30.000
dann auch zu kompliziert

01:32:30.000 --> 01:32:32.000
dass irgendwie selber zu implementieren oder auch

01:32:32.000 --> 01:32:34.000
also ich habe einen markdown parser

01:32:34.000 --> 01:32:36.000
als library

01:32:36.000 --> 01:32:38.000
welchen?

01:32:38.000 --> 01:32:40.000
irgendein markdown parser library

01:32:40.000 --> 01:32:42.000
ich weiß nicht welche

01:32:42.000 --> 01:32:44.000
ich muss mal gucken, ich mag

01:32:44.000 --> 01:32:46.000
nicht 100 pro sicher

01:32:46.000 --> 01:32:48.000
den ich auch immer nehme

01:32:48.000 --> 01:32:50.000
also der ist bestimmt irgendwie steinalt und doof

01:32:50.000 --> 01:32:52.000
und so aber weiße ist halt eine funktion

01:32:52.000 --> 01:32:54.000
du ich mein zeug rein kommt meistens was raus

01:32:54.000 --> 01:32:56.000
was relativ nah an dem ist was ich haben will

01:32:56.000 --> 01:32:58.000
ja und ist noch nicht zu groß

01:32:58.000 --> 01:33:00.000
und arbeite nicht mit track accent

01:33:00.000 --> 01:33:02.000
da krieg ich ja auch mal die krise

01:33:02.000 --> 01:33:04.000
weil das einfach dann wenn du da ganz viel text reinwürfst

01:33:04.000 --> 01:33:06.000
dann steigt ja quasi die verarbeitungszeit

01:33:06.000 --> 01:33:08.000
exponentiell an und so

01:33:08.000 --> 01:33:10.000
genau das andere was ich noch benutze

01:33:10.000 --> 01:33:12.000
ist popper js

01:33:12.000 --> 01:33:14.000
was irgendwann auch was ich irgendwann auch ablösen werde

01:33:14.000 --> 01:33:16.000
durch native

01:33:16.000 --> 01:33:18.000
das macht

01:33:18.000 --> 01:33:20.000
dass du tultipps ja aber dass du quasi

01:33:20.000 --> 01:33:22.000
sagen kannst hey gut die tultipps

01:33:22.000 --> 01:33:24.000
ja genau gute tultipps also an der

01:33:24.000 --> 01:33:26.000
dieses tultipp

01:33:26.000 --> 01:33:28.000
bitte hier auf das teil zeigen lassen

01:33:28.000 --> 01:33:30.000
und wenn du nahm

01:33:30.000 --> 01:33:32.000
bildschonrand bist dann klappt halt auf die andere

01:33:32.000 --> 01:33:34.000
seite so dass was mal alles

01:33:34.000 --> 01:33:36.000
haben will was man jetzt zum beispiel wenn man

01:33:36.000 --> 01:33:38.000
wenn man bei hovern

01:33:38.000 --> 01:33:40.000
ein pseudo element oder ein kind element

01:33:40.000 --> 01:33:42.000
anzeigen würde dann würde das halt muss man

01:33:42.000 --> 01:33:44.000
entscheiden ist es jetzt oben links rechts

01:33:44.000 --> 01:33:46.000
oder unten und wenn man halt

01:33:46.000 --> 01:33:48.000
an die falsche stelle gestreut ist

01:33:48.000 --> 01:33:50.000
ist es halt abgeschnitten so

01:33:50.000 --> 01:33:52.000
das ist halt blöd

01:33:52.000 --> 01:33:54.000
das ist dann auch wirklich so was wo du halt

01:33:54.000 --> 01:33:56.000
wirklich dir ein scenario ohne weiteres aufmalen

01:33:56.000 --> 01:33:58.000
könntest wo du das auch selber hinkriegen

01:33:58.000 --> 01:34:00.000
könntest aber wo du halt echt sagst

01:34:00.000 --> 01:34:02.000
wir leben hier nicht im jahre

01:34:02.000 --> 01:34:04.000
im nächsten 2023

01:34:04.000 --> 01:34:06.000
das sollte das sollte man nicht mehr machen

01:34:06.000 --> 01:34:08.000
müssen also ich könnte auch selber ein

01:34:08.000 --> 01:34:10.000
feuer machen aber ich mache mal meinen ofen an

01:34:10.000 --> 01:34:12.000
ja genau irgendwann wird das

01:34:12.000 --> 01:34:14.000
werde ich das auch auswerfen wenn dieses

01:34:14.000 --> 01:34:16.000
anchored positioning

01:34:16.000 --> 01:34:18.000
endlich mal fertig ist

01:34:18.000 --> 01:34:20.000
an dem wird ja auch gerade so quasi

01:34:20.000 --> 01:34:22.000
in diesem open ui kontext

01:34:22.000 --> 01:34:24.000
gewerkelt

01:34:24.000 --> 01:34:26.000
genau da freue ich mich schon wie bolle drauf

01:34:26.000 --> 01:34:28.000
wie es aber soweit ist

01:34:28.000 --> 01:34:30.000
übrigens was ich auch super finde ist also

01:34:30.000 --> 01:34:32.000
dieses dialogue element

01:34:32.000 --> 01:34:34.000
ganz großes tennis aus verschiedenen gründen

01:34:34.000 --> 01:34:36.000
aber ich glaube am coolsten finde ich eben

01:34:36.000 --> 01:34:38.000
dass das eben standortmäßig auf die oberste

01:34:38.000 --> 01:34:40.000
layer promoted wird was was ja früher

01:34:40.000 --> 01:34:42.000
glaube ich in also in den reaktiven

01:34:42.000 --> 01:34:44.000
frameworks haben die das ja portals genannt

01:34:44.000 --> 01:34:46.000
was wiederum nix mit den portals

01:34:46.000 --> 01:34:48.000
in webstandards gibt

01:34:48.000 --> 01:34:50.000
da kriegt die webplattform

01:34:50.000 --> 01:34:52.000
eben dinge beigebracht die sie vorher

01:34:52.000 --> 01:34:54.000
noch nicht konnte

01:34:54.000 --> 01:34:56.000
das finde ich auch super

01:34:56.000 --> 01:34:58.000
ja und das sind auch wirklich dinge die

01:34:58.000 --> 01:35:00.000
sich halt standardisieren lassen

01:35:00.000 --> 01:35:02.000
wo wir jetzt wieder bei unserem ding von

01:35:02.000 --> 01:35:04.000
ganz zu Beginn sind was lässt sich wirklich

01:35:04.000 --> 01:35:06.000
gut genug auf so ein use case eingrenzen

01:35:06.000 --> 01:35:08.000
wie dieses dialogue wie es umgesetzt ist

01:35:08.000 --> 01:35:10.000
dass das einfach sein content repräsentiert

01:35:10.000 --> 01:35:12.000
supergeschichte auch das details element

01:35:12.000 --> 01:35:14.000
das ja hier in unseren podcast

01:35:14.000 --> 01:35:16.000
episoden so den schönen das transkript

01:35:16.000 --> 01:35:18.000
immer enthält ja okay das ist nicht

01:35:18.000 --> 01:35:20.000
animiert das ist nicht schöner man kann das super

01:35:20.000 --> 01:35:22.000
einfach mit bischen css so aussehen lassen

01:35:22.000 --> 01:35:24.000
dass es halt echt gut genug funktioniert

01:35:24.000 --> 01:35:26.000
und dann braucht man kein javascript keine dependency

01:35:26.000 --> 01:35:28.000
keine komponente html tag fertig

01:35:28.000 --> 01:35:30.000
bin ich ein extrem großer freund von

01:35:30.000 --> 01:35:32.000
ja und bei dem dialog ding ist ja noch super

01:35:32.000 --> 01:35:34.000
dass es dann quasi automatisch setzt

01:35:34.000 --> 01:35:36.000
auf den fokus auf das erste fokussierbare

01:35:36.000 --> 01:35:38.000
kind und

01:35:38.000 --> 01:35:40.000
dann kannst du es wenn es mit show

01:35:40.000 --> 01:35:42.000
modell öffnen ist dann wird quasi alles

01:35:42.000 --> 01:35:44.000
andere auf inert gesetzt also es ist

01:35:44.000 --> 01:35:46.000
quasi

01:35:46.000 --> 01:35:48.000
stumm geschaltet ist für screen reader

01:35:48.000 --> 01:35:50.000
und auch nicht mehr angetappt werden kann

01:35:50.000 --> 01:35:52.000
und also was also quasi deinen

01:35:52.000 --> 01:35:54.000
tapp circle

01:35:54.000 --> 01:35:56.000
im dialog also ist einfach super

01:35:56.000 --> 01:35:58.000
ja wo ich halt wirklich auch sagen würde

01:35:58.000 --> 01:36:00.000
ja okay würde ich mir da irgendeine

01:36:00.000 --> 01:36:02.000
dependency installieren das sind halt eben so

01:36:02.000 --> 01:36:04.000
kriegschauplätze wo ich durchaus so manchen

01:36:04.000 --> 01:36:06.000
autoren zutrauen würde das nicht zu beachten

01:36:06.000 --> 01:36:08.000
und hier ist es halt eben einfach mal

01:36:08.000 --> 01:36:10.000
die runde lösung was halt kein problem ist

01:36:10.000 --> 01:36:12.000
bei so einer string passing library

01:36:12.000 --> 01:36:14.000
oder date validierung oder so das

01:36:14.000 --> 01:36:16.000
da gibt es halt keine neben kriegschauplätze

01:36:16.000 --> 01:36:18.000
das kann man halt wirklich so unix

01:36:18.000 --> 01:36:20.000
prinzipmäßig einsetzen aber so was wie ein modell dialog

01:36:20.000 --> 01:36:22.000
ist halt notwendigerweise was was

01:36:22.000 --> 01:36:24.000
alles andere mit betrifft weil es halt eben alles

01:36:24.000 --> 01:36:26.000
andere überdeckt und das richtig eine ausnahme

01:36:26.000 --> 01:36:28.000
das ist die accessibility dialog

01:36:28.000 --> 01:36:30.000
der a11

01:36:30.000 --> 01:36:32.000
y-dialog

01:36:32.000 --> 01:36:34.000
das der einzig wahre

01:36:34.000 --> 01:36:36.000
einzig wahre library

01:36:38.000 --> 01:36:40.000
was ist daran der

01:36:42.000 --> 01:36:44.000
also ich interpretiere das so

01:36:44.000 --> 01:36:46.000
dass der bis zum erscheinen des dialog

01:36:46.000 --> 01:36:48.000
die elemenz eben all diese dinge

01:36:48.000 --> 01:36:50.000
konnte und wirklich drauf

01:36:50.000 --> 01:36:52.000
geachtet hat das war auch sogar noch leicht zu benutzen

01:36:52.000 --> 01:36:54.000
also die

01:36:54.000 --> 01:36:56.000
die schnitzstelle

01:36:56.000 --> 01:36:58.000
zum eigenem code war es sehr einfach

01:36:58.000 --> 01:37:00.000
anzuhaben

01:37:00.000 --> 01:37:02.000
und all diese sachen wie es muss

01:37:02.000 --> 01:37:04.000
fokussierbar sein der hintergrund muss

01:37:04.000 --> 01:37:06.000
dunkel gefärbt

01:37:06.000 --> 01:37:08.000
werden aber soll natürlich nicht mehr fokussiert

01:37:08.000 --> 01:37:10.000
sein mit dieser fokus trap

01:37:10.000 --> 01:37:12.000
alles mit sehr hübschen code

01:37:12.000 --> 01:37:14.000
rein implementiert worden also das war

01:37:14.000 --> 01:37:16.000
das einzige was ich was man gut verwenden konnte

01:37:16.000 --> 01:37:18.000
meiner meiner nach

01:37:18.000 --> 01:37:20.000
vor dem dialog

01:37:20.000 --> 01:37:22.000
und die details

01:37:22.000 --> 01:37:24.000
die verwende ich super gerne

01:37:24.000 --> 01:37:26.000
bei

01:37:26.000 --> 01:37:28.000
das match requests

01:37:28.000 --> 01:37:30.000
wenn ich da irgendwelche mockingdaten

01:37:30.000 --> 01:37:32.000
oder sonstiges mitliefern muss

01:37:32.000 --> 01:37:34.000
dass ich da detail summary etc verwende

01:37:34.000 --> 01:37:36.000
ganz toll dann freue ich mich immer

01:37:36.000 --> 01:37:38.000
man kann die auch in ernsthaften uis

01:37:38.000 --> 01:37:40.000
sehr gut verwenden weil ich letztens festgestellt hab

01:37:40.000 --> 01:37:42.000
man kann hier einfach völlig problemlos teilen

01:37:42.000 --> 01:37:44.000
das heißt einfach alles

01:37:44.000 --> 01:37:46.000
nicht so aussieht wie bei uns

01:37:46.000 --> 01:37:48.000
bei den transcripten sondern halt wirklich

01:37:48.000 --> 01:37:50.000
so schöne box mit einem schönen header

01:37:50.000 --> 01:37:52.000
und boah das drumherum und man kann das icon austauschen

01:37:52.000 --> 01:37:54.000
weil es gibt ja da einen selektor den man da

01:37:54.000 --> 01:37:56.000
aufbauen oder nicht und dann kann sich das alles

01:37:56.000 --> 01:37:58.000
einfach so aus

01:37:58.000 --> 01:38:00.000
es fehlt halt nur irgendwie so eine butterweiche animation

01:38:00.000 --> 01:38:02.000
aber den Kampf bin ich bereit aufzunehmen

01:38:02.000 --> 01:38:04.000
das kannst du demnächst ja auch machen

01:38:04.000 --> 01:38:06.000
weil es gibt ja die

01:38:06.000 --> 01:38:08.000
view transition api die ja gerade in der mache ist

01:38:08.000 --> 01:38:10.000
und die funktioniert so dass du quasi

01:38:10.000 --> 01:38:12.000
also du würdest

01:38:12.000 --> 01:38:14.000
diesem details element

01:38:14.000 --> 01:38:16.000
einen

01:38:16.000 --> 01:38:18.000
transition tag glaube ich geben

01:38:18.000 --> 01:38:20.000
in css und dann

01:38:20.000 --> 01:38:22.000
kannst du quasi über zwei

01:38:22.000 --> 01:38:24.000
stände hinweg wenn die beide also

01:38:24.000 --> 01:38:26.000
wenn elemente dasselbe tag haben

01:38:26.000 --> 01:38:28.000
dann weiß sie view transition api

01:38:28.000 --> 01:38:30.000
aha ok dieses element soll ich

01:38:30.000 --> 01:38:32.000
überblenden in vollendes element

01:38:32.000 --> 01:38:34.000
das können halt zwei verschiedene sein

01:38:34.000 --> 01:38:36.000
in dem fall würdest du dann zwei gleiche haben wollen

01:38:36.000 --> 01:38:38.000
oder wer das das gleiche

01:38:38.000 --> 01:38:40.000
weil du auch nicht irgendwie den

01:38:40.000 --> 01:38:42.000
irgendwie navigierst oder sowas

01:38:42.000 --> 01:38:44.000
und dann kannst du eben diese api

01:38:44.000 --> 01:38:46.000
nutzen und quasi eine

01:38:46.000 --> 01:38:48.000
transition initialisieren

01:38:48.000 --> 01:38:50.000
dann macht er letztlich ein screenshot

01:38:50.000 --> 01:38:52.000
allen elementen die so geteckt sind

01:38:52.000 --> 01:38:54.000
dann und dann kannst du in der

01:38:54.000 --> 01:38:56.000
quasi keine funktion übergeben

01:38:56.000 --> 01:38:58.000
die view verändert

01:38:58.000 --> 01:39:00.000
das wäre dann irgendwie

01:39:00.000 --> 01:39:02.000
dann würdest du wahrscheinlich den klick

01:39:02.000 --> 01:39:04.000
abfangen

01:39:04.000 --> 01:39:06.000
und ich glaube open attribute setzen

01:39:06.000 --> 01:39:08.000
und dann wird

01:39:08.000 --> 01:39:10.000
macht die davon eben auch in ein screenshot

01:39:10.000 --> 01:39:12.000
und

01:39:12.000 --> 01:39:14.000
überblendet die im weich

01:39:14.000 --> 01:39:16.000
und du kannst dann wenn du möchtest

01:39:16.000 --> 01:39:18.000
auch per css sogar

01:39:18.000 --> 01:39:20.000
auf die überblendungs

01:39:20.000 --> 01:39:22.000
animation also die default animation

01:39:22.000 --> 01:39:24.000
ist schon ziemlich cool ich wollte fragen

01:39:24.000 --> 01:39:26.000
was heißt überblenden ist das einfach nur ein crossfade

01:39:26.000 --> 01:39:28.000
oder kann das auch was anderes sein

01:39:28.000 --> 01:39:30.000
das ist ein

01:39:30.000 --> 01:39:32.000
das kann was anderes sein genau das ist ein crossfade

01:39:32.000 --> 01:39:34.000
und natürlich auch eine animiertes

01:39:34.000 --> 01:39:36.000
bewegen

01:39:36.000 --> 01:39:38.000
von vorheriger position

01:39:38.000 --> 01:39:40.000
und größe zu neuer

01:39:40.000 --> 01:39:42.000
position und größe also

01:39:42.000 --> 01:39:44.000
genau

01:39:44.000 --> 01:39:46.000
also ich weiß nicht wann es dann quasi in stable

01:39:46.000 --> 01:39:48.000
landet

01:39:48.000 --> 01:39:50.000
ihr sollt ne flag noch mal erwähnen

01:39:50.000 --> 01:39:52.000
ist im moment hinter einem flag in chrome

01:39:52.000 --> 01:39:54.000
genau aber dann

01:39:54.000 --> 01:39:56.000
dann ist dieses also

01:39:56.000 --> 01:39:58.000
ich glaube dann sind auch ganz viele probleme auf einmal mit

01:39:58.000 --> 01:40:00.000
auch mit

01:40:00.000 --> 01:40:02.000
nativa browser technologie erschlagen

01:40:02.000 --> 01:40:04.000
auch generell

01:40:04.000 --> 01:40:06.000
frameworks dann überhaupt noch so

01:40:06.000 --> 01:40:08.000
transition or animation

01:40:08.000 --> 01:40:10.000
module brauchen um von einer view

01:40:10.000 --> 01:40:12.000
zu anderen irgendwie weich zu animieren

01:40:12.000 --> 01:40:14.000
oder update es dann im hintergrund

01:40:14.000 --> 01:40:16.000
auch alles nur noch an die view transition

01:40:16.000 --> 01:40:18.000
api weiter

01:40:18.000 --> 01:40:20.000
reichen also wenn die denn

01:40:20.000 --> 01:40:22.000
dann in allen browser implementiert ist

01:40:26.000 --> 01:40:28.000
aber ich würde sagen das machen wir dann

01:40:28.000 --> 01:40:30.000
nächstes Jahr dann kommt das in alle browser

01:40:30.000 --> 01:40:32.000
und dann sind all diese probleme erschlagen

01:40:32.000 --> 01:40:34.000
ist es ist das themat testing

01:40:34.000 --> 01:40:36.000
mittlerweile eine

01:40:36.000 --> 01:40:38.000
geklärte frage das wäre so das letzte

01:40:38.000 --> 01:40:40.000
vom state of j s was wir jetzt

01:40:40.000 --> 01:40:42.000
noch nicht so drüber gesp..

01:40:42.000 --> 01:40:44.000
an der mono repos finden auch noch

01:40:44.000 --> 01:40:46.000
okay in zehn minuten unsere meinung zu den mono

01:40:46.000 --> 01:40:48.000
repotools und zum testing

01:40:48.000 --> 01:40:50.000
beim testing habe ich

01:40:50.000 --> 01:40:52.000
das gefühl seit wir uns alle nicht mehr

01:40:52.000 --> 01:40:54.000
über selenium aufregen müssen weil ich ja

01:40:54.000 --> 01:40:56.000
so langsam hat man zwar auch hier

01:40:56.000 --> 01:40:58.000
eine diverse auswahl an sachen

01:40:58.000 --> 01:41:00.000
aber hier sind wir jetzt auch eher an der

01:41:00.000 --> 01:41:02.000
problematik von

01:41:02.000 --> 01:41:04.000
wir müssen uns jetzt eben entscheiden und uns drauf

01:41:04.000 --> 01:41:06.000
kommenten aber eigentlich sind

01:41:06.000 --> 01:41:08.000
das gelöste probleme beim testing

01:41:08.000 --> 01:41:10.000
jetzt für mich

01:41:10.000 --> 01:41:12.000
hätte ich auch gesagt ich nehme

01:41:12.000 --> 01:41:14.000
ich persönlich nehme just aus einfach so

01:41:14.000 --> 01:41:16.000
persönlicher masseträgheit

01:41:16.000 --> 01:41:18.000
heraus weiß ich funktioniert

01:41:18.000 --> 01:41:20.000
gehören aus ab dafür

01:41:20.000 --> 01:41:22.000
fertig für meine unitests

01:41:22.000 --> 01:41:24.000
und

01:41:24.000 --> 01:41:26.000
puppeteer weiß ich kenne ich funktioniert

01:41:26.000 --> 01:41:28.000
und ehrlich gesagt gucke ich auch nicht mehr groß links und rechts

01:41:28.000 --> 01:41:30.000
da müsste schon echt irgendwie

01:41:30.000 --> 01:41:32.000
das mega feature um die ecke kommen mit dem man mich

01:41:32.000 --> 01:41:34.000
dann nochmal dazu ausreichend aktiviert also die

01:41:34.000 --> 01:41:36.000
aktivierungs energie für hallo hier

01:41:36.000 --> 01:41:38.000
web platform feature oder hallo hier

01:41:38.000 --> 01:41:40.000
extension ist auf jeden fall niedriger als

01:41:40.000 --> 01:41:42.000
für guck mal hier neues test framework

01:41:42.000 --> 01:41:44.000
toll kann ich jetzt nochmal irgendwo

01:41:44.000 --> 01:41:46.000
mir woanders das describe die describe

01:41:46.000 --> 01:41:48.000
function her importieren ist ja spannend

01:41:50.000 --> 01:41:52.000
ja also sehe ich da ganz

01:41:52.000 --> 01:41:54.000
genau so also es gibt verschiedene tools

01:41:54.000 --> 01:41:56.000
und die haben dann wieder alle vornachteile

01:41:56.000 --> 01:41:58.000
und macht man den zeibels oder macht man

01:41:58.000 --> 01:42:00.000
playwright oder macht man dies oder jenes aber

01:42:00.000 --> 01:42:02.000
es ist eben nicht mehr das ich brauche den

01:42:02.000 --> 01:42:04.000
chess mein driver und dann brauche ich das

01:42:04.000 --> 01:42:06.000
hier und dann brauche ich mocker und dann

01:42:06.000 --> 01:42:08.000
baue ich das hier und wir funktionieren es

01:42:08.000 --> 01:42:10.000
alles zusammen das ist für mich gelöst ich

01:42:10.000 --> 01:42:12.000
benutze ein bis zwei dinge davon und dann

01:42:12.000 --> 01:42:14.000
läuft schon irgendwie und dann kann man

01:42:14.000 --> 01:42:16.000
halt jammern das ist nicht ganze läuft wie man

01:42:16.000 --> 01:42:18.000
es am allerliebsten hätte und was richtig

01:42:18.000 --> 01:42:20.000
ist an deiner beschreibung von gerade merkt

01:42:20.000 --> 01:42:22.000
man auch dass man glaube ich hier definitive

01:42:22.000 --> 01:42:24.000
fortschritt mal beschreiben kann im vergleich

01:42:24.000 --> 01:42:26.000
zu vergangenheit das ist definitiv was

01:42:26.000 --> 01:42:28.000
test angeht weniger aufwendig geworden

01:42:28.000 --> 01:42:30.000
im vergleich zu

01:42:30.000 --> 01:42:32.000
keine ahnung

01:42:32.000 --> 01:42:34.000
ich will halt irgendwo ein formular

01:42:34.000 --> 01:42:36.000
anzeigen das ist jetzt ja nicht sehr viel

01:42:36.000 --> 01:42:38.000
einfacher geworden da man das auf den modernen

01:42:38.000 --> 01:42:40.000
fancy weg machen möchte

01:42:40.000 --> 01:42:42.000
ja das meinte ich mit für mich ein gelöstes

01:42:42.000 --> 01:42:44.000
problem ja aber halt eben auch nicht nur

01:42:44.000 --> 01:42:46.000
gelöst sondern tatsächlich

01:42:46.000 --> 01:42:48.000
endpunkt einer entwicklung würde ich

01:42:48.000 --> 01:42:50.000
behaupten zumindest temporär

01:42:50.000 --> 01:42:52.000
gut ich hätte die monoribus

01:42:52.000 --> 01:42:54.000
ribus gar nicht erwähnen sollen

01:42:54.000 --> 01:42:56.000
weil

01:42:56.000 --> 01:42:58.000
bei monoripus bin ich raus

01:42:58.000 --> 01:43:00.000
also ich wollte

01:43:00.000 --> 01:43:02.000
ich finde es nicht schlecht das meine ich nicht

01:43:02.000 --> 01:43:04.000
mal den case für diese tools von den ich

01:43:04.000 --> 01:43:06.000
noch nie gehört habe

01:43:06.000 --> 01:43:08.000
das ist genau das ist die frage was

01:43:08.000 --> 01:43:10.000
was ist überhaupt monorepo tool

01:43:10.000 --> 01:43:12.000
weil entweder ich habe monorepo

01:43:12.000 --> 01:43:14.000
ich habe mal die repos dachte ich naives

01:43:14.000 --> 01:43:16.000
menschen mal

01:43:16.000 --> 01:43:18.000
aber es gibt dann noch tools die wir

01:43:18.000 --> 01:43:20.000
verwenden können und als tool zählt

01:43:20.000 --> 01:43:22.000
dann eben auch so was wie pnpm

01:43:22.000 --> 01:43:24.000
oder

01:43:24.000 --> 01:43:26.000
npm workspaces die ich in meinem

01:43:26.000 --> 01:43:28.000
hinterkopf gar nicht so als tool

01:43:28.000 --> 01:43:30.000
abgespeichert hatte aber da können wir

01:43:30.000 --> 01:43:32.000
überlegen ob wir einfach auf die folge

01:43:32.000 --> 01:43:34.000
mit dem droh verweisen haben wir ja auch schon

01:43:34.000 --> 01:43:36.000
darüber gesprochen bei dem ganzen state

01:43:36.000 --> 01:43:38.000
auf js können wir auf die folge

01:43:38.000 --> 01:43:40.000
machen wir das hier mit auch jeden fall

01:43:40.000 --> 01:43:42.000
auch

01:43:42.000 --> 01:43:44.000
ja also wir haben hier die tools von rush

01:43:44.000 --> 01:43:46.000
turbo g pro turbo e

01:43:46.000 --> 01:43:48.000
immer das turbo ist super

01:43:48.000 --> 01:43:50.000
haben wir gelernt alles was ein

01:43:50.000 --> 01:43:52.000
framework ist wenn wir turbo vorsetzen ist

01:43:52.000 --> 01:43:54.000
immer gut ja in workspaces

01:43:54.000 --> 01:43:56.000
ja ich habe ihn noch nie gehört

01:43:56.000 --> 01:43:58.000
und dann haben wir learner noch dabei

01:43:58.000 --> 01:44:00.000
und da gab es hier das haben wir auch

01:44:00.000 --> 01:44:02.000
beim letzten episode besprochen da gab es

01:44:02.000 --> 01:44:04.000
mal das problem dass es auf einmal

01:44:04.000 --> 01:44:06.000
wird nicht mehr gemaintaint und alles

01:44:06.000 --> 01:44:08.000
das war so ein bisschen

01:44:08.000 --> 01:44:10.000
so ein angular angular js case

01:44:10.000 --> 01:44:12.000
so das ist jetzt aber nicht so mal

01:44:12.000 --> 01:44:14.000
so ein bisschen klein ist das verwenden

01:44:14.000 --> 01:44:16.000
schon viele aber da gab es dann auch

01:44:16.000 --> 01:44:18.000
gleich leute die das jetzt

01:44:18.000 --> 01:44:20.000
weiter betreiben

01:44:20.000 --> 01:44:22.000
ganz kurz für die ganz blöden unter uns

01:44:22.000 --> 01:44:24.000
was machen die teile

01:44:24.000 --> 01:44:26.000
wofür bräuchte was machen die

01:44:26.000 --> 01:44:28.000
von uns weil wir sie alle nicht benutzen

01:44:28.000 --> 01:44:30.000
soweit ich weiß

01:44:30.000 --> 01:44:32.000
hast du dann

01:44:32.000 --> 01:44:34.000
wenn ich mich gut an learner noch erinner

01:44:34.000 --> 01:44:36.000
schon jahre her kümmert sich das dann

01:44:36.000 --> 01:44:38.000
auch drum dass du nicht alles auf deiner

01:44:38.000 --> 01:44:40.000
festplatte immer speichern musst

01:44:40.000 --> 01:44:42.000
sondern du in deinem workspace

01:44:42.000 --> 01:44:44.000
davon dann eben arbeiten kannst

01:44:44.000 --> 01:44:46.000
und es ist zwar alles

01:44:46.000 --> 01:44:48.000
im allgemeinen witz denn ein großes monorepo

01:44:48.000 --> 01:44:50.000
aber wenn du sagst du arbeitest

01:44:50.000 --> 01:44:52.000
nur an diesen bestimmten teilbereich davon

01:44:52.000 --> 01:44:54.000
dann willst du dir vielleicht nicht immer

01:44:54.000 --> 01:44:56.000
alles komplett bei dir speichern

01:44:56.000 --> 01:44:58.000
laufen lassen bei jedem branch

01:44:58.000 --> 01:45:00.000
wechsel mit ändern müssen

01:45:00.000 --> 01:45:02.000
sondern dass du quasi schon

01:45:02.000 --> 01:45:04.000
eine art struktur hast

01:45:04.000 --> 01:45:06.000
vielleicht habe ich jetzt auch wirklich

01:45:06.000 --> 01:45:08.000
total was blödes gesagt das wäre jetzt

01:45:08.000 --> 01:45:10.000
wieder ein guter aufruf für leute die das

01:45:10.000 --> 01:45:12.000
benutzen uns zu über mehr zu erzählen

01:45:12.000 --> 01:45:14.000
ja gut aber klingt ja klingt ja erstmal

01:45:14.000 --> 01:45:16.000
plausibel also monorepo per se

01:45:16.000 --> 01:45:18.000
irgendwie ich habe irgendwie

01:45:18.000 --> 01:45:20.000
la services und die haben irgendwie so ein bisschen

01:45:20.000 --> 01:45:22.000
geteilten code machst du monorepo alles toll

01:45:22.000 --> 01:45:24.000
aber ich kann mir natürlich vorstellen dass

01:45:24.000 --> 01:45:26.000
auf einer gewissen skala das auch unhandlich wird

01:45:26.000 --> 01:45:28.000
und da wäre natürlich das man das so

01:45:28.000 --> 01:45:30.000
selektiv isolieren kann und zu tun kann als

01:45:30.000 --> 01:45:32.000
wer es keins klingt erstmal jetzt nicht

01:45:32.000 --> 01:45:34.000
blöde

01:45:34.000 --> 01:45:36.000
nee es klingt bestimmt nicht blöder ich

01:45:36.000 --> 01:45:38.000
finde es auch so ein bisschen wie so

01:45:38.000 --> 01:45:40.000
im micro frontenbereich es gibt

01:45:40.000 --> 01:45:42.000
irgendein bereich wo sinnvoll erscheint

01:45:42.000 --> 01:45:44.000
wir machen das jetzt in micro fronten

01:45:44.000 --> 01:45:46.000
um all diese probleme die wir davor hatten

01:45:46.000 --> 01:45:48.000
halt einfach mit diesem konzept zu lösen

01:45:48.000 --> 01:45:50.000
aber sicherlich hat man dann mit diesen

01:45:50.000 --> 01:45:52.000
tools neue probleme sich

01:45:52.000 --> 01:45:54.000
reingeholt

01:45:54.000 --> 01:45:56.000
immer der snow free

01:45:56.000 --> 01:45:58.000
richtig so ist es

01:45:58.000 --> 01:46:00.000
gut aber trotzdem

01:46:00.000 --> 01:46:02.000
lunch können wir jetzt ja mal machen

01:46:02.000 --> 01:46:04.000
um die geholzene

01:46:04.000 --> 01:46:06.000
Brücke zur ausleitung zu bauen

01:46:06.000 --> 01:46:08.000
lunch lunch

01:46:08.000 --> 01:46:10.000
es wird auch free

01:46:10.000 --> 01:46:12.000
das nehme ich bei der schwiegermama

01:46:12.000 --> 01:46:14.000
ja weiß ich nicht

01:46:14.000 --> 01:46:16.000
es gibt noch so

01:46:16.000 --> 01:46:18.000
finden wir das javascript in die richtige

01:46:18.000 --> 01:46:20.000
leitung sich entwickelt

01:46:20.000 --> 01:46:22.000
ich habe da jetzt

01:46:22.000 --> 01:46:24.000
keine starke meinung dazu

01:46:24.000 --> 01:46:26.000
ich habe hier vorhin die ganzen

01:46:26.000 --> 01:46:28.000
schwierigen fragen schon gestellt mit

01:46:28.000 --> 01:46:30.000
wollen wir nicht langsam mal no code tools

01:46:30.000 --> 01:46:32.000
verwenden

01:46:32.000 --> 01:46:34.000
ich glaube javascript

01:46:34.000 --> 01:46:36.000
ist der generelle trend

01:46:36.000 --> 01:46:38.000
der programmiersprachen ist glaube ich

01:46:38.000 --> 01:46:40.000
dass die irgendwann alles beinhalten

01:46:40.000 --> 01:46:42.000
also die reine leere ist halt zunehmend

01:46:42.000 --> 01:46:44.000
selten habe ich das gefühl

01:46:44.000 --> 01:46:46.000
und von daher

01:46:46.000 --> 01:46:48.000
keine ahnung

01:46:48.000 --> 01:46:50.000
es ist ja mittlerweile wirklich nicht so

01:46:50.000 --> 01:46:52.000
dass wir hier irgendwie so die objektorientierte

01:46:52.000 --> 01:46:54.000
programmiersprache haben und da gibt es

01:46:54.000 --> 01:46:56.000
nur den einen weg und nichts anderes

01:46:56.000 --> 01:46:58.000
und die reinfunktionale und es gibt nur diesen

01:46:58.000 --> 01:47:00.000
einen weg und nichts anderes die zeiten sind ja

01:47:00.000 --> 01:47:02.000
ziemlich vorbei und insofern

01:47:02.000 --> 01:47:04.000
wenn jetzt javascript also

01:47:04.000 --> 01:47:06.000
weiß nicht ich werme mich ja so langsam

01:47:06.000 --> 01:47:08.000
ich für zum beispiel decorators

01:47:08.000 --> 01:47:10.000
in javascript klassen auf

01:47:10.000 --> 01:47:12.000
vielleicht ist das ja gar nicht

01:47:12.000 --> 01:47:14.000
alles so schlecht so wollen wir das mal

01:47:14.000 --> 01:47:16.000
alles reinholen können wir gucken hinterher

01:47:16.000 --> 01:47:18.000
kann man es ja immer noch links liegen lassen also das passt schon

01:47:18.000 --> 01:47:20.000
das schöne an javascript ist ja man kann ja

01:47:20.000 --> 01:47:22.000
jede entwicklung ist ja immer nur ein hinzufügen von features

01:47:22.000 --> 01:47:24.000
die man bei bedarf ja ignorieren kann

01:47:24.000 --> 01:47:26.000
man kann ja nichts kaputt machen und von daher

01:47:26.000 --> 01:47:28.000
kann es ja eigentlich nicht schlimmer werden als es schon ist

01:47:28.000 --> 01:47:30.000
definitionsgemäße

01:47:30.000 --> 01:47:32.000
ja es ist nur für die

01:47:32.000 --> 01:47:34.000
javascript engine schreiberlinge

01:47:34.000 --> 01:47:36.000
für die ist es eine mehr belastung

01:47:36.000 --> 01:47:38.000
oder für die leute die aus irgendwelchen gründen

01:47:38.000 --> 01:47:40.000
tools schreiben müssen die javascript analysieren

01:47:40.000 --> 01:47:42.000
oder highlighten oder so die haben natürlich auch sehr viel

01:47:42.000 --> 01:47:44.000
spass an ja oder transpilieren

01:47:44.000 --> 01:47:46.000
der gesamte situation exakt

01:47:46.000 --> 01:47:48.000
ja super dann genau

01:47:48.000 --> 01:47:50.000
wenn unsere höherein

01:47:50.000 --> 01:47:52.000
und höherein noch input haben

01:47:52.000 --> 01:47:54.000
für uns unser kommentarbereich

01:47:54.000 --> 01:47:56.000
ist ja nicht mehr offen

01:47:56.000 --> 01:47:58.000
ich glaube einfach weil da sowieso nichts also

01:47:58.000 --> 01:48:00.000
fast nur spam irgendwie landet ist

01:48:00.000 --> 01:48:02.000
aber wir haben ja hier draft.community

01:48:02.000 --> 01:48:04.000
als slack

01:48:04.000 --> 01:48:06.000
bereich um uns

01:48:06.000 --> 01:48:08.000
mit uns irgendwie zu quatschen

01:48:08.000 --> 01:48:10.000
und aber auch vor allem mit anderen

01:48:10.000 --> 01:48:12.000
und höherein und noch sind wir auf twitter

01:48:12.000 --> 01:48:14.000
auf masto dann sind wir auch

01:48:14.000 --> 01:48:16.000
da habe ich aber keinen zugang zum account

01:48:16.000 --> 01:48:18.000
das hat der steffan

01:48:18.000 --> 01:48:20.000
genau schreibt uns gerne

01:48:20.000 --> 01:48:22.000
irgendwann kommt eine Antwort

01:48:22.000 --> 01:48:24.000
wir müssen jetzt mit sehr viel der platform immer

01:48:24.000 --> 01:48:26.000
abgrasen

01:48:26.000 --> 01:48:28.000
genau oder ladet euch einfach ein

01:48:28.000 --> 01:48:30.000
als gessin oder guest

01:48:30.000 --> 01:48:32.000
hier bei uns und erzählt uns

01:48:32.000 --> 01:48:34.000
was über zum Beispiel monorepos

01:48:34.000 --> 01:48:36.000
oder warum das alles total

01:48:36.000 --> 01:48:38.000
quatsch war was wir gerade gesagt haben

01:48:38.000 --> 01:48:40.000
genau

01:48:40.000 --> 01:48:42.000
und ja

01:48:42.000 --> 01:48:44.000
wir hören uns dann

01:48:44.000 --> 01:48:46.000
vermutlich nächste woche wieder

01:48:46.000 --> 01:48:48.000
bleibt gesund

01:48:48.000 --> 01:48:50.000
habt eine schöne woche

01:48:50.000 --> 01:48:52.000
die wahrscheinlich nicht mehr weihnachtlich ist

01:48:52.000 --> 01:48:54.000
wenn das hier erscheint

01:48:54.000 --> 01:48:56.000
sondern schon 2000 weit in 2023 ist

01:48:56.000 --> 01:48:58.000
und weiß welche pandemie wir dann haben

01:48:58.000 --> 01:49:00.000
werden ja genau

01:49:00.000 --> 01:49:02.000
dann haben wir grippe und scharlachpandemie

01:49:02.000 --> 01:49:04.000
vielleicht

01:49:04.000 --> 01:49:06.000
vielleicht auch ein aktuell

01:49:06.000 --> 01:49:08.000
ganz akuten fall von irgendwie

01:49:08.000 --> 01:49:10.000
angular virus

01:49:10.000 --> 01:49:12.000
oder irgendwie sowas

01:49:12.000 --> 01:49:14.000
wäre auch mal eine schöne abwechslung

01:49:14.000 --> 01:49:16.000
alles klar dann

01:49:16.000 --> 01:49:18.000
wünsche euch auch was

01:49:18.000 --> 01:49:20.000
und sage bis demnächst

01:49:20.000 --> 01:49:22.000
tschüss tschüssi

01:49:22.000 --> 01:49:44.000
tschüss