Zum Jahreswechsel haben wir uns mit Joe Ray Gregory (@joyraygregory) hingesetzt und zusammen darüber orakelt, welche neuen Tools und Paradigmen die Frontend Entwicklung im Jahr 2023 prägen könnten. Joe ist Frontend-Entwickler und Trainer aus Hamburg und Ihr kennt ihn vielleicht aus der Revision 520 über Unit-Testing.

Schaunotizen

[00:01:45] Frontend Development im Jahr 2023
Wir reden natürlich über Frontend-Frameworks und denken, dass der Schwenk hin zu Frameworks fortsetzen wird, bei denen Server-Side-Rendering und so wenig JaVaScript im Client der Standard ist. Prominentestes Beispiel hierfür ist Astro, aber auch NextJS und NuxtJS entwickeln sich in diese Richtung.

Außerdem werden sich Web Components als Auslieferungsform weiter etablieren.

Für eine bessere Performance wird alles weiter in Richtung „Actor Model“ entwickelt, also dass ein Main-Thread möglichst viel Arbeit in separate Threads auslagert (höre auch Revision 329 zum Actor Model). Eine Schlüsselrolle wird das Tool Partytown spielen.

Als Unterstützung bei der Entwicklung werden Mikro-Bibliotheken aus dem UnJS-Pool große gebräuchliche Bibliotheken wie Axios oder auch Lodash ersetzen.

Im Testing wird Playwright seinen Marktanteil weiterausbauen.

Für die Komponenten-basierte Entwicklung wird Storybook zwar das Goto-Werkzeug bleiben, aber daneben wird sich Histoire aus dem Vue-Umfeld ähnlich etablieren können wie zuvor auch schon Vite.

In Sachen Bundler und Build-Tools kommt allerlei Neues auf uns zu: Turbopack wird der Nachfolger von Webpack und dann gibt es vom Erfinder von Babel noch eine ganze Build-Suite namens Rome, die Code-Formattier, Code-Linter, Com- & Transpiler, Bundler, sowie das Testing-Tool aus einer Hand sein will. Beiden ist gemeinsam, dass sie aus Performance-Gründen auf Rust bauen, was derzeit auch im Trend zu sein scheint und von SWC, Parcels Lightning CSS und esbuild (allerdings in Go) vorexerziert wurde. Darüber, ob das immer nötig ist oder ob ein wenig Nacharbeit an JavaScript-Code nicht der erste Zwischenstopp sein müsste, fragt sich da Marvin Hagemeister.

Aus dem CSS-Bereich kommend werden die Container Queries ganz viel neue Möglichkeiten eröffnen, sobald diese in allen Browsern freigeschaltet sind.

Monorepos werden ein Thema werden, dank exzellentem Tool-Support durch pnpm, Turborepo oder Lerna (das allerdings nicht mehr maintained wird).

Und schließlich schauen wir auch gespannt darauf, was der NodeJS- und Deno-Konkurrent Bun, dessen JavaScript-Engine nicht auf Googles V8, sondern auf Apple JavaScriptCore bsisert, zukünftig in die Waagschalde werfen wird.

[00:00:00] Keine Schaunotizen

Console Ninja
VSCode-Erweiterung, um Consolen-Output direkt in der IDE zu haben.
Transkript
WEBVTT

00:00.000 --> 00:02.000
Revision 552

00:30.000 --> 00:40.000
Kennst du das auch? Du willst mit einer neuen Technologie starten, aber das Internet ist zu voll mit Wirrm-Content in verschiedenster Qualität?

00:40.000 --> 00:51.000
Du suchst kompaktes Wissen, was dich direkt produktiv macht, mit echter Erfahrung von Experten und Expertinnen, die für deine akuten Fragestellungen da sind?

00:51.000 --> 01:11.000
Dann solltest du mal im TrainerInnen-Netzwerk von Workshops.de vorbeischauen. Hier findest du eine Community aus über 80 TrainerInnen, welche gemeinsam Material erstellen, sich gegenseitig unterstützen und weiterbilden, um möglichst nachhaltige und hochqualitative Weiterbildungsangebote zu schaffen.

01:11.000 --> 01:20.000
Es gibt sowohl Intensivschulungen über mehrere Tage als auch Masterclasses, welche dich über einige Monate unterstützen.

01:20.000 --> 01:30.000
Ist du auf der Suche nach einer qualitativen Weiterbildung im Bereich Web-Entwicklung? Oder möchtest du dich selbst als TrainerInnen einbringen?

01:30.000 --> 01:34.000
Dann bist du bei Workshops.de genau richtig.

01:34.000 --> 01:42.000
Schau einfach mal vorbei für alle Informationen, Workshops.de. Wir freuen uns auf dich.

01:47.000 --> 01:56.000
Hallo und herzlich willkommen beim WorkingDraft mit der Revision 552. Wir sind heute zu dritt. Aus dem Team dabei habe ich den Chef.

01:56.000 --> 01:57.000
Hallo.

01:57.000 --> 02:08.000
Und als Gast haben wir einen Wiederholungstäter, den Joe. Hallo Joe. Du warst schon mal bei uns in der Revision 520. Da haben wir über Unitesting gesprochen.

02:08.000 --> 02:13.000
Aber dennoch werde ich dich mal kurz nochmal bitten, dich vorzustellen, wer du bist.

02:13.000 --> 02:31.000
Ja, hallo Vanessa. Hallo Chef. Schön, dass ich wieder da sein kann. Ich bin Joe Ray Gregory. Ich bin wohnhaft in Lüneburg bei Hamburg und bin Software-Engineer seit über 15 Jahren mit dem Schwerpunkt im Front-End, im Web-Front-End.

02:31.000 --> 02:48.000
Ich bin beruflich tätig mittlerweile als Trainer, Mentor und Konsultant, wie gesagt im Bereich der Front-End-Architektur und dementsprechend freue ich mich heute zu Gast zu sein bei euch und mich über das Thema mit euch austauschen zu können.

02:48.000 --> 03:13.000
Ja, da freuen wir uns auch sehr, denn wir sind ja mittlerweile quasi im neuen Jahr 2023. Es kann nur besser werden an sich und heute sprechen wir dann über einen Ausblick, was eigentlich uns in der Front-End-Welt alles so vorausschauen können, was du vorausschauen kannst, was uns so auf uns zukommen wird.

03:13.000 --> 03:31.000
Und einen Punkt, den wir besprechen wollen, gerade im Thema Front-End, ist natürlich das Thema der Frameworks, denn davon gibt es einige und da wollten wir dich nach deiner Prognose fragen, wie es weitergehen könnte in der Zukunft.

03:31.000 --> 03:51.000
Ja, das ist gut. Ich pack schon mal die Kristallkugel habe ich schon auf den Tisch und guck einmal rein vorausschauend. Nein, Scherz beiseite. Also ja, 2023 dieses Jahr wird sich wahrscheinlich wieder ein neues JavaScript-Famework rauskristallisieren.

03:51.000 --> 04:04.000
Das ist ja nicht ohne Grund zu, dass jedes Jahr irgendwie gefühlt ein neues JavaScript-Famework rauskommt, was Dinge besser tut. Ich denke, dass wir 2023 ein starkes Wachstum bei Sweld haben werden.

04:04.000 --> 04:15.000
Das ist schon 2022 gut gewachsen und da denke ich, dass auf jeden Fall da sich ein bisschen was tun wird.

04:15.000 --> 04:24.000
Ich denke auch, dass das Wachstum von React dementsprechend nicht so krass weitergehen wird, wie es die letzten Jahre war, so meine persönliche Meinung.

04:24.000 --> 04:30.000
Ich habe das Gefühl, dass sehr viele Companies wechseln Richtung View, Richtung Sweld.

04:30.000 --> 04:49.000
Das kann ich dadurch beurteilen, dass ich sehr viele Menschen schule bei Workshops.de unter anderem und dort immer wieder vermehrt Leute zu uns kommen, Kunden zu uns kommen, die sich im Bereich Future-S-Schulen lassen, die vorher Angular oder anderen Frameworks unterwegs waren.

04:49.000 --> 05:08.000
Aber auch das Interesse nach Sweld, die Nachfragen nach Sweld, sich deutlich gesteigert hat mittlerweile, die Leute sind neugierig und finden vor allem auch bei Future-S mittlerweile den Part sehr spannend, der von Sweld nicht kopiert, sondern adoptiert wurde.

05:08.000 --> 05:26.000
Genau, inspiriert wurde, danke schön. Von daher sprich die ganze Script-Setup-Geschichte, die es im Future-S gibt, die ist ja sehr inspiriert von Sweld und deswegen glaube ich, dass das auf jeden Fall einen großen Wachstum machen wird nochmal 2023.

05:26.000 --> 05:46.000
Den Punkt, den du gerade meines von Angular zu View finde ich irgendwie persönlich immer noch sinnvoll, weil die beiden mal vor sehr langer Zeit auf der gleichen Basis beruht haben und ich von den Konzepten her klingt, dass für mich wirklich sinnvoll von Angular zu View zu wechseln.

05:46.000 --> 05:53.000
Aber hattest du auch den Eindruck, dass Developer von React zu View wechseln oder zu Sweld?

05:53.000 --> 06:13.000
Ja, teils, teils. Zumindest sieht man auch bei View Mastery, was eine Schulungsressource ist, mit Lern-Content im Web, dass zumindest React zu View Kurse angeboten werden und ja, also ich habe auch das Gefühl, dass von React es einen Umschwung gibt.

06:13.000 --> 06:26.000
Wobei, ich glaube da noch die Fronten ein bisschen härter sind und vielleicht auch der, wie du schon so schön gesagt hast, der Bedarf gar nicht so groß ist, weil die Nähe doch tatsächlich von Angular zu View eher gegeben ist.

06:26.000 --> 06:37.000
Wobei, seit der Composition API in View gibt es auch viele Leute, die sagen, okay, ich sehe die Vorteile bei View.js an der Stelle und von daher glaube ich auch, dass da einige User rüber wechseln.

06:37.000 --> 06:49.000
Das soll aber nicht heißen, dass React verschwinden wird, also die sind alle gekommen, um zu bleiben. Und das Einzige, was sich verschieben wird, ist wahrscheinlich der Markteinteil von allen anderen Richtungen, das ist meine Einschätzung aktuell.

06:49.000 --> 07:05.000
Also, Sweld wird am meisten gewinnen können. Und vielleicht View.js könnte noch ein bisschen was gewinnen, aber ich glaube React an sich sieht man ja bei State of JavaScript 2021, da hat man es ganz deutlich gesehen, dass es schon eine straight Linear, die da irgendwie gezeichnet wird.

07:05.000 --> 07:18.000
Ja, genau, ich meine gerade, was Bedarf angeht, vielleicht gibt es Bedarf tatsächlich von Angular wegzugehen aus Gründen, dass die Trade-offs, die aktuell mit dem Framework inhergehen, nicht mehr zum aktuellen Konzept des Produkts empasst.

07:18.000 --> 07:29.000
Wenn ich jetzt aber jemand Außenstehenden wirklich mal View oder React erklären müsste, würde ich schon auch manchmal sagen, naja, das ist sein Dialekt, das ist schon ziemlich ähnlich.

07:29.000 --> 07:38.000
Und React sehe ich jetzt selber, weiß ich nicht, ob es da wirklich Gründe gibt, davon wegzugehen, also das riecht driftige Gründe.

07:38.000 --> 07:50.000
Außer zum Beispiel, man hat das ganze Team ist besser im View geschult und möchte das machen und wenn es jemand irgendwie eine Firma verlässt und eine andere Firma betritt und diese Firma macht dann View.js, dann muss ich natürlich umsetteln.

07:50.000 --> 07:59.000
Aber wie du zur Richtung schmeintest, ich glaube auch nicht, dass React weiter wächst, weil es eben bisher schon die Top 1 war und jetzt die anderen ein bisschen nachrücken.

07:59.000 --> 08:12.000
Ich erinnere mich aber daran, dass es irgendwann in 2022 einen Talk darüber gab mit Vorhersagen, auch über die Web Development, der war ziemlich Big Picture-mäßig.

08:12.000 --> 08:20.000
So nach dem Motto, wir sollten wieder mit No Code Programmierung weiterleben.

08:20.000 --> 08:28.000
Und das war gar nicht der Talk, aber ich glaube, es gab einen Talk, wo React so als der einzige Stern dastand.

08:28.000 --> 08:37.000
So das hat sich durchgesetzt, so das ist das Apple, was anderes gibt es nicht mehr und View ins Welt waren da so ein bisschen am Absterben.

08:37.000 --> 08:43.000
Muss man wahrscheinlich alles wird ein bisschen grain of salt betrachten.

08:43.000 --> 08:48.000
Absolut, ich sage mal diese absoluten Aussagen, ich bin ja kein Fan von.

08:48.000 --> 08:56.000
Und letzten Endes darf man nicht vergessen, es ist alles JavaScript und wir wissen nicht, wie sich der Markt generell weiterentwickeln wird.

08:56.000 --> 09:01.000
Wie gesagt, ich habe gerne gesagt, die sind gekommen, um zu bleiben, das ist definitiv der Fall.

09:01.000 --> 09:07.000
Und ich kenne noch so viele Projekte, die auf Angular 1.7, glaube ich, sogar laufen.

09:07.000 --> 09:14.000
Das wird sich ändern. Irgendwann werden die definitiv umschwingen.

09:14.000 --> 09:21.000
Aber der Trend geht ja auch dahin, dass man auch weniger auf ein Framework setzt, also dass man wieder mehr Vanilla-Jabber-Script einsetzt.

09:21.000 --> 09:30.000
Das ist ja das, was du gerade auch meintest, also glaube ich, dass man weniger Code oder weniger Framework-Code einsetzt.

09:30.000 --> 09:35.000
Das ist ja das, was bei Swelt auch so interessant ist, dass du ja eigentlich nicht wirklich dieses Framework dahinter hast,

09:35.000 --> 09:46.000
sondern dass es halt transpiled wird zu was Eigenem, also erst dann zu einem Konstrukt wird, was zusammengesetzt wird zu Transpiled Time, Compiled Time.

09:46.000 --> 09:50.000
Und das macht das halt schon ziemlich interessant.

09:50.000 --> 09:52.000
Aber der Trend geht ja auch dahin, dass andere Frameworks das eher nicht machen.

09:52.000 --> 09:57.000
Also auch wenn man sich quick zum Beispiel anguckt, es geht ja immer darum, höher, schneller, weiter.

09:57.000 --> 10:01.000
Und am Ende ist es nur ein Werkzeug, was man einsetzt.

10:01.000 --> 10:08.000
Und ich glaube, der Schwung von React oder zu einer von einem Komponent getriebenen Framework zu einem anderen Komponent getriebenen Framework,

10:08.000 --> 10:14.000
der ist machbar, glaube ich, für jeden professionellen Frontend-Developer.

10:14.000 --> 10:22.000
Ja, was mich interessieren würde generell, es gibt ja mittlerweile wirklich viele gute kleine Frameworks,

10:22.000 --> 10:25.000
die genau für einen Use Case extrem gut sind.

10:25.000 --> 10:33.000
Und dann gibt es die größeren, die man quasi auf alles schmeißen kann und die werden schon alles davon irgendwie erledigen.

10:33.000 --> 10:39.000
Und es gibt so Situationen, da könnte ich jetzt ViewJS einsetzen.

10:39.000 --> 10:42.000
Aber eigentlich brauche ich auch nur einen Modal.

10:42.000 --> 10:46.000
Und dann drücke ich mir dafür, ich brauche da jetzt nicht einen Shavascript-Laden, um einen Modal zu öffnen.

10:46.000 --> 10:48.000
Und da habe ich immer das Problem.

10:48.000 --> 10:52.000
Jetzt weiß ich, es gibt da wahrscheinlich fünf kleine Frameworks, die das gut machen könnten.

10:52.000 --> 11:00.000
Aber dann, interessanterweise tendiere ich eher dazu, dass es so richtig war, ein Shavascript selber zu schreiben,

11:00.000 --> 11:06.000
weil bei mir dann selbst die Angst hochkommt, dass ich dann sonst zwei Frameworks maintainen müsste

11:06.000 --> 11:11.000
und das ganze Team sich mit beiden Sprachen auskennen müsste.

11:11.000 --> 11:16.000
Dann denke ich mir gut, das klingt jetzt fast wieder wie eine Ausgäte, weil es nun mal alles Frontend-Developer.

11:16.000 --> 11:21.000
Und wenn man ViewJS lernen und schreiben kann, dann kann man wahrscheinlich auch so ein anderes kleines Framework

11:21.000 --> 11:23.000
lernen und schreiben.

11:23.000 --> 11:29.000
Aber denkst du, da gibt es einen Trend hin, dass man mehrere Frameworks einsetzen könnte.

11:29.000 --> 11:34.000
Also eben tatsächlich dieses Ich wähle die richtige Technologie für das richtige Problem.

11:34.000 --> 11:42.000
Oder dass wir weiterhin alles, okay, wir haben uns entschieden, ganze Firma hat sich entschieden, wir machen Angular 7

11:42.000 --> 11:44.000
und da bleibt man jetzt dabei.

11:44.000 --> 11:48.000
Und dann erschlagen wir eben jedes Problem damit, auch wenn es uns da manchmal im Weg steht.

11:48.000 --> 11:54.000
Definitiv ist da ein Trend Richtung, sagen wir mal, den Micro-Frontends noch zu erkennen.

11:54.000 --> 12:01.000
Mit Micro-Frontends würdest du dieses Problem auf jeden Fall erschlagen können, zumindestens auf Papier.

12:01.000 --> 12:04.000
Die Praxis sagt dann nochmal was anderes an der Stelle.

12:04.000 --> 12:13.000
Das bedeutet letzten Endes, mit dem Micro-Frontend kannst du einzelnen Applikationsteile theoretisch und auch praktisch

12:13.000 --> 12:15.000
mit unterschiedlichen Technologien umsetzen.

12:15.000 --> 12:18.000
Kommt drauf an, wie man das Ganze angeht.

12:18.000 --> 12:23.000
Es gibt da die Möglichkeit, über Webpack Module Federation ranzugehen bzw. es ist jetzt kein Webpack-Ding,

12:23.000 --> 12:30.000
sondern diese Module Federation als Technik kann man auch mit Weed oder mit anderen Bandlern dementsprechend einsetzen.

12:30.000 --> 12:37.000
Wo man halt sagt, okay, dieser Bereich der Applikation ist jetzt mit Angular, der ist mit React und der ist mit View.

12:37.000 --> 12:39.000
Das würde auf der einen Seite gehen.

12:39.000 --> 12:45.000
Oder man nutzt ein Web-Component-Layer, isoliert quasi diese einzelnen Frameworks in Web-Components.

12:45.000 --> 12:52.000
Das ist ja auch ein Trend, den man auch bei, also ich bin primär im Future-S-Bereich auch als Trainer,

12:52.000 --> 12:57.000
deswegen spreche ich jetzt vielleicht ein bisschen mehr über View, aber das gleiche gilt auch für andere Frameworks.

12:57.000 --> 13:01.000
Man kann Web-Komponenten erstellen quasi.

13:01.000 --> 13:03.000
Und das ist auch was, was ich mittlerweile sehr oft mache.

13:03.000 --> 13:08.000
Wenn ich in Umgebung bin, wie du sie beschrieben hast, ich weiß nicht, da ist jetzt irgendwie jQuery im Einsatz.

13:08.000 --> 13:13.000
Ich weiß, wir sind 2023, aber trotzdem ist jQuery immer noch da.

13:13.000 --> 13:16.000
Es wird auch so schnell nicht von gewissen Seiten verschwinden.

13:16.000 --> 13:19.000
Aber wenn man jetzt eine fremde Webseite hat, meistens ist das irgendwie so,

13:19.000 --> 13:25.000
vielleicht hat man eine WordPress-Seite, ist Freelancer und soll da irgendwie ein Shirt-Konfigurator bauen.

13:25.000 --> 13:27.000
Man hat keine Ahnung, wie die Umgebung ist.

13:27.000 --> 13:33.000
Dann könnte man sehr gut auf jeden Fall mit View.js, React oder mit Spell eine Web-Component kompilen lassen,

13:33.000 --> 13:36.000
die dann dementsprechend eingesetzt werden kann.

13:36.000 --> 13:39.000
Und die ist ja isoliert vom Rest der Webseite.

13:39.000 --> 13:41.000
Das wäre auf jeden Fall eine Möglichkeit.

13:41.000 --> 13:45.000
Mit dieser Technik kann man dementsprechend auch Micro-Front and Stumbound bauen.

13:45.000 --> 13:47.000
Das wäre die andere Möglichkeit.

13:47.000 --> 13:57.000
Oder man setzt auf eine Technologie wie AstroJS und sagt da, ich erstelle mir ein Static-Website

13:57.000 --> 14:04.000
oder ich erstelle mir eine Web-Applikation, die mit unterschiedlichen Frameworks laufen kann.

14:04.000 --> 14:08.000
Vielleicht habe ich das eine Team, das kennt sich ein bisschen besser aus mit swelled

14:08.000 --> 14:13.000
und das andere Team kennt sich besser aus mit react oder preact oder was auch immer.

14:13.000 --> 14:17.000
Und Astro gibt uns dann die Möglichkeit zu sagen, hey, nutze was immer du willst.

14:17.000 --> 14:22.000
Am Ende renne ich eh Static.html raus und mache die Bereiche, die du möchtest,

14:22.000 --> 14:27.000
dynamisch mit JavaScript, mit dem JavaScript-Framework deiner Wahl.

14:27.000 --> 14:30.000
Und damit könnte man das mit dieser Island-Architecture, wie sie das Ganze nennt,

14:30.000 --> 14:33.000
natürlich dann auch gut lösen.

14:33.000 --> 14:36.000
Also es sind drei Ansätze, die ich jetzt gerade genannt habe.

14:36.000 --> 14:39.000
Du hattest auch gerade Web-Components erwähnt.

14:39.000 --> 14:41.000
Ja.

14:41.000 --> 14:45.000
Ich weiß nicht, wie die aktuelle Beliebtheit der Web-Components jetzt gerade so ist.

14:45.000 --> 14:49.000
Ich habe noch nicht die Ergebnisse auch von State of JS direkt angeschaut.

14:49.000 --> 14:51.000
Wie schaut es denn da aus?

14:51.000 --> 14:55.000
Weil das letzte Mal, als ich reingehört habe, war das immer so, ja, nicht so gut,

14:55.000 --> 14:58.000
Support nicht so gut oder Doku nicht so gut.

14:58.000 --> 15:02.000
Auf jeden Fall gab es immer so eher die nicht so gehypte Grundeinstellung.

15:02.000 --> 15:09.000
Also generell ist das so ein Thema, ich sage mal, ich habe mich damit sehr viel beschäftigt

15:09.000 --> 15:12.000
im letzten Projekt, in dem ich tätig war.

15:12.000 --> 15:17.000
Und ich will eigentlich die positiven Dinge erst mal hervorstellen.

15:17.000 --> 15:21.000
Die positiven Dinge sind, dass man mit Web-Components auf jeden Fall sehr gut

15:21.000 --> 15:25.000
User-Interface-Components bereitstellen kann, also UI-Components,

15:25.000 --> 15:32.000
die, ich sage mal, unabhängig sind, dann von dem jeweiligen Framework.

15:32.000 --> 15:35.000
Das heißt also, wenn man zum Beispiel Shoelace,

15:35.000 --> 15:41.000
Shoelace ist ein Component-Library, die auf Web-Components basierend ist

15:41.000 --> 15:45.000
und die kannst du halt einsetzen in React, View, whatever.

15:45.000 --> 15:47.000
Es spielt einfach keine Rolle.

15:47.000 --> 15:49.000
Das funktioniert einfach dementsprechend.

15:49.000 --> 15:51.000
Und da sehe ich die ganz großen Stärken.

15:51.000 --> 15:55.000
Ich sehe aber immer noch die ganz großen Schwächen auch darin, dass diese Standardthemen,

15:55.000 --> 15:59.000
wie zum Beispiel diese Global Registry von Web-Components,

15:59.000 --> 16:02.000
und das ist eines der großen Probleme bei Microfrontends,

16:02.000 --> 16:05.000
so sehe ich das zumindest in gewissen Konstellationen,

16:05.000 --> 16:09.000
dass du halt dann eben nicht independent eine Web-Componentin,

16:09.000 --> 16:12.000
eine anderen Web-Component nutzen kannst, weil die ja alle global registriert werden.

16:12.000 --> 16:16.000
Die These wäre ja eigentlich zu sagen, ich habe einen Button,

16:16.000 --> 16:19.000
und der ist in Version 1, der ist in der einen Web-Componenten,

16:19.000 --> 16:21.000
ich habe einen Button, der ist in der Version 2,

16:21.000 --> 16:23.000
hat vielleicht ein anderes Prop noch dazu,

16:23.000 --> 16:25.000
hat ein Breaking Change oder sonst irgendwas,

16:25.000 --> 16:27.000
und der ist in der anderen.

16:27.000 --> 16:30.000
Und du kannst diese beiden nicht mit dem gleichen Namen registrieren,

16:30.000 --> 16:33.000
sondern du müsstest irgendwie sagen, das eine ist der Button V1,

16:33.000 --> 16:35.000
das andere ist der Button V2.

16:35.000 --> 16:37.000
Es ist so ein Problem, was ich bei Web-Componenten sehe,

16:37.000 --> 16:40.000
und ich glaube, das Problem ist ja 2018 bekannt oder so.

16:40.000 --> 16:47.000
Und ansonsten ist das ganze Formularhandling noch ein bisschen gewöhnungsbedürftig, teilweise.

16:47.000 --> 16:51.000
Aber ansonsten sage ich mal so, glaube ich, ich persönlich setze Web-Components

16:51.000 --> 16:53.000
mittlerweile sehr, sehr gerne ein.

16:53.000 --> 16:56.000
Und zwar, wie gesagt, immer dann, wenn ich so in anderen Environments bin,

16:56.000 --> 17:00.000
die ich nicht kenne, und dementsprechend, ja,

17:00.000 --> 17:03.000
ist das auf jeden Fall eine sinnvolle Ergänzung.

17:03.000 --> 17:05.000
Ich kenne allerdings, muss ich ehrlich sagen,

17:05.000 --> 17:07.000
nicht so viele Leute, die Native Web-Components entwickeln,

17:07.000 --> 17:09.000
die meisten nutzen dann doch Lit.

17:09.000 --> 17:14.000
Das als Framework, ja, wir sind eigentlich bei den Web-Components,

17:14.000 --> 17:16.000
aber ganz ohne Frameworks geht es dann auch nicht.

17:16.000 --> 17:19.000
Und ich persönlich habe mir fast vorgenommen,

17:19.000 --> 17:24.000
20, 23 Web-Components eine neue Chance zu geben,

17:24.000 --> 17:26.000
in die sofern, dass ich sie noch ein bisschen mehr,

17:26.000 --> 17:28.000
vielleicht berücksichtige und einsetze.

17:28.000 --> 17:31.000
Ja, wir haben Ihnen in 2022 schon mal wieder eine Chance gegeben.

17:31.000 --> 17:35.000
Also, wie gesagt, das meiste mache ich dann doch irgendwie in Vanille noch mal hinterher.

17:35.000 --> 17:38.000
Aber wir haben einen, so ein Passwort-Check,

17:38.000 --> 17:42.000
so ist da auch genügend Sonderzeichen, blieb la blub drinnen.

17:42.000 --> 17:47.000
Und das haben wir ja natürlich gerade auf der Registrierungseite,

17:47.000 --> 17:49.000
gut dann auch später bei der Account-Seite,

17:49.000 --> 17:53.000
aber das sind Seiten, die laufen tatsächlich ganz ohne JavaScript.

17:53.000 --> 17:55.000
Ich war jetzt ganz verrückt, aber ich habe mir gedacht,

17:55.000 --> 17:58.000
naja, ich brauche einen User-Namen und ich brauche einen Passwort,

17:58.000 --> 18:01.000
ich brauche kein JavaScript, das läuft so statisch,

18:01.000 --> 18:04.000
so eine Form, so eine Action.

18:04.000 --> 18:06.000
Aber dann war eben, ja, jetzt brauchen wir eine Passwort-Überprüfung,

18:06.000 --> 18:09.000
da war ich so, oh, das ist aber doof.

18:09.000 --> 18:12.000
Und dann haben wir, da hat ein Kollege für mich gemeint, da weißte was,

18:12.000 --> 18:15.000
ich mache mal Webkomponent und ohne Lit Elements.

18:15.000 --> 18:19.000
Und ich kam schon mit der Syntags eher weniger klar.

18:19.000 --> 18:21.000
Also, was heißt, ich kam wieder, es war halt ungewohnt,

18:21.000 --> 18:23.000
deswegen sage ich jetzt nicht, dass ich schlecht ist,

18:23.000 --> 18:25.000
sondern nur wieder ungewohnt.

18:25.000 --> 18:30.000
Aber das läuft seit Monaten glücklich vor sich hin und funktioniert.

18:30.000 --> 18:33.000
Ja, das ist auch ein guter Anwendungsfall.

18:33.000 --> 18:36.000
Also, deswegen, ich glaube auch, aber was du meinst, ist ungewohnt.

18:36.000 --> 18:40.000
Es ist so ein bisschen, in React geht man weg von den Glass-Based-Komponenten.

18:40.000 --> 18:42.000
In View hat man gesagt, keine Glass-Based-Komponenten,

18:42.000 --> 18:45.000
dann kommst du mit Lit, beziehungsweise mit Web-Komponenten

18:45.000 --> 18:47.000
und nutzt wieder Glass-Based-Syntags.

18:47.000 --> 18:50.000
Das ist für mich persönlich mit, also ich,

18:50.000 --> 18:52.000
ist jetzt nicht so, als wenn ich ein Problem habe,

18:52.000 --> 18:53.000
aber es ist halt ungewohnt.

18:53.000 --> 18:55.000
Und geht eigentlich weg davon und da geht man halt,

18:55.000 --> 18:57.000
dann gefühlt wieder einen Schritt zurück.

18:57.000 --> 18:59.000
Stimmt, du hast das besser beschrieben, es war gar nicht ungewohnt,

18:59.000 --> 19:01.000
sondern es ist halt der Klassensyntags,

19:01.000 --> 19:04.000
von der man mir doch jetzt gerade ein halbes Jahr eingebleut hat,

19:04.000 --> 19:06.000
dass wir das nicht mehr machen.

19:06.000 --> 19:09.000
Ja, genau, richtig, genau. Das Gefühl kenne ich nur zu gut, ja.

19:11.000 --> 19:16.000
So, dann gibt es ja auch noch neben so Frameworks

19:16.000 --> 19:18.000
ganz viele Helfer-Tools.

19:18.000 --> 19:22.000
Ich erinnere mich, jetzt erzählst du dir auch mal wieder vom Krieg,

19:22.000 --> 19:25.000
an noch einander aus Scorches.

19:25.000 --> 19:29.000
Ich wollte noch einmal kurz, bevor wir uns weiterbesiegen,

19:29.000 --> 19:32.000
wollte ich noch zwei Dinge fragen.

19:32.000 --> 19:36.000
Das war, können wir noch einmal kurz über Quick sprechen?

19:36.000 --> 19:40.000
Das hast du ganz kurz erwähnt vorhin, also quasi das viel als Stichwort.

19:40.000 --> 19:43.000
Und bevor wir das machen, wollte ich noch fragen,

19:43.000 --> 19:45.000
ich glaube im JavaScript-Bereich,

19:45.000 --> 19:48.000
gibt es, arbeitet man jetzt an diesen Shadow Realms,

19:48.000 --> 19:50.000
ich weiß nicht, ob die, oder Realms,

19:50.000 --> 19:52.000
ich weiß nicht, ob die nächstes Jahr schon kommen,

19:52.000 --> 19:56.000
aber das ist ja im Prinzip so was wie eine Isolation von JavaScript,

19:56.000 --> 19:59.000
also so im Prinzip das, was man mit Shadowdom hat in JavaScript,

19:59.000 --> 20:03.000
aber da weißt du, ich glaube wahrscheinlich dürfte das nicht das Problem

20:03.000 --> 20:07.000
dieser globalen Registry lösen,

20:07.000 --> 20:09.000
weil, also zumindest wenn ich so drüber nachdenke,

20:09.000 --> 20:11.000
wird das wahrscheinlich nicht funktionieren,

20:11.000 --> 20:14.000
weil letztendlich ist ja das, der Pasa,

20:14.000 --> 20:18.000
es gibt ja nur den einen Pasa, den man alles bekannt machen kann.

20:18.000 --> 20:21.000
Genau, also sagst du auch, also Shadow Realms,

20:21.000 --> 20:24.000
die helfen dann quasi nicht wahrscheinlich.

20:24.000 --> 20:27.000
Nicht, dass ich wüsste, da muss ich aber links auch gestehen,

20:27.000 --> 20:32.000
dass ich mich da nicht so intensiv genug damit auseinandergesetzt habe bis dato.

20:32.000 --> 20:35.000
Aber wäre auf jeden Fall mal spannend, da nochmal nachzurecherchieren,

20:35.000 --> 20:38.000
aber ich glaube, wenn ich es so wie es verstanden habe,

20:38.000 --> 20:42.000
lösen die nicht das Problem, weil diese globale Registry,

20:42.000 --> 20:46.000
das ist irgendwie ein generelles architektonisches Problem von diesem Custom,

20:46.000 --> 20:48.000
man redet ja immer von Web Components,

20:48.000 --> 20:51.000
aber eigentlich sind es ja die Custom Elements an der Stelle,

20:51.000 --> 20:53.000
und du hast es ja schon gesagt,

20:53.000 --> 20:57.000
das ist ein Kombination mit dem Shadow Dom,

20:57.000 --> 20:59.000
aber Shadow Realms, wie gesagt,

20:59.000 --> 21:01.000
da weiß ich gerade zu wenig drüber,

21:01.000 --> 21:04.000
um eine qualifizierte Aussage dazu treffen zu können.

21:04.000 --> 21:07.000
Ja, also ich glaube, theoretisch ist es so,

21:07.000 --> 21:10.000
dass du quasi, du könntest jetzt in einem Shadow Realm,

21:10.000 --> 21:13.000
kannst du eine Version von React laufen lassen

21:13.000 --> 21:16.000
und in einem anderen quasi eine andere Version,

21:16.000 --> 21:19.000
und die würden sich dann eben nicht ins Gehege kommen,

21:19.000 --> 21:23.000
quasi wie getrennten Containern unterwegs werden.

21:23.000 --> 21:26.000
Also das, was eigentlich bisher gefehlt hat,

21:26.000 --> 21:30.000
an Isolation, genau, aber wahrscheinlich,

21:30.000 --> 21:33.000
also ich kann mir auch nicht vorstellen, dass das funktioniert,

21:33.000 --> 21:35.000
weil der Pasa müsste dann ja auf einmal

21:35.000 --> 21:38.000
an einer bestimmten Stelle im Dombaum sagen,

21:38.000 --> 21:41.000
so hey, jetzt vergesse ich mal, was vorhin registriert wurde,

21:41.000 --> 21:44.000
und jetzt warte ich, dass neue Dinge registriert werden

21:44.000 --> 21:48.000
und irgendwie kann ich mir das nicht vorstellen, genau.

21:48.000 --> 21:50.000
Aber interessant ist an der Technik ja,

21:50.000 --> 21:53.000
dass das ja genau eigentlich das Problem ist,

21:53.000 --> 21:56.000
was Module Federation angegangen hat,

21:56.000 --> 21:58.000
also auf Bandlerseite irgendwie, ja,

21:58.000 --> 22:04.000
und wenn wir als, ich sag mal, wir als Web,

22:04.000 --> 22:07.000
oder die Menschen, die das Web mit vorantreiben,

22:07.000 --> 22:11.000
es schaffen, diese, ja, eine Lösung zu finden,

22:11.000 --> 22:14.000
die halt nicht irgendwie abhängig ist von irgendwem Tooling,

22:14.000 --> 22:18.000
das ist ja eigentlich das erklärte Ziel gefühlt seit 2021,

22:18.000 --> 22:22.000
ja, mit Erscheinen von Veed und EES-Bild

22:22.000 --> 22:27.000
und den ganzen Tools, weniger Tooling zurück zu nativen Lösungen,

22:27.000 --> 22:31.000
dann klingt das ja wie eine perfekte Lösung für Micro Frontends.

22:31.000 --> 22:34.000
Ja, also das könnte schon gut funktionieren dafür, ja,

22:34.000 --> 22:35.000
denke ich auch.

22:35.000 --> 22:38.000
Ich weiß aber nicht, wie der Stand ist, also,

22:38.000 --> 22:42.000
genau wie das so bei der TC39,

22:42.000 --> 22:46.000
wie das da gerade auf welchem Stage das rumhängt.

22:46.000 --> 22:48.000
Nee, hab ich leider auch nicht verfolgt,

22:48.000 --> 22:50.000
aber du hattest Quick noch angesprochen, ja.

22:50.000 --> 22:51.000
Genau.

22:51.000 --> 22:53.000
Ja, Quick, ja, sehr spannend.

22:53.000 --> 22:55.000
Aus dem Nichts kam eine Framework, ja, so gefühlt

22:55.000 --> 22:59.000
und alle haben gesagt zu, hey, den Menschen kennen wir doch.

22:59.000 --> 23:02.000
Der Entwickler von Quick, jetzt muss ich sagen,

23:02.000 --> 23:07.000
ich hab das auch nur gehört durch ein Kollegen von Workshops.de,

23:07.000 --> 23:09.000
der dann, das hat mir das mal erklärt hatte,

23:09.000 --> 23:12.000
dass der Angular-Welt kommt und der Entwickler von Quick

23:12.000 --> 23:14.000
hat wohl diesen Angular-Background

23:14.000 --> 23:17.000
oder hat mit Angular entwickelt, ja, irgendwie.

23:17.000 --> 23:19.000
So hab ich das zumindestens verlauten gehört.

23:19.000 --> 23:24.000
Auf jeden Fall interessant an Quick ist doch letzten Endes,

23:24.000 --> 23:27.000
dass es auch die Probleme angeht,

23:27.000 --> 23:31.000
die andere Frameworks ähnlich versuchen anzugehen,

23:31.000 --> 23:33.000
aber auf eine spezielle Art und Weise, ja.

23:33.000 --> 23:35.000
Also bei Quick ist es ja wirklich so,

23:35.000 --> 23:38.000
dass du ja auch da voll of Performance gehst,

23:38.000 --> 23:41.000
es battelt sich so ein bisschen gefühlt mit AstroJS,

23:41.000 --> 23:44.000
hab ich das Gefühl, aber technologisch auf einer anderen Ebene.

23:44.000 --> 23:46.000
Also Quick löst das Problem einfach anders.

23:46.000 --> 23:52.000
Und ja, ich weiß nicht, ich kann es noch nicht so wirklich fassen,

23:52.000 --> 23:54.000
ich hab nur gehört, dass es einen Riesenhype gibt,

23:54.000 --> 23:57.000
das Interessante daran ist, mit dem Battle und mit Astro

23:57.000 --> 23:58.000
kann man ja auch nicht so wirklich sagen,

23:58.000 --> 24:01.000
weil man kann ja Quick in AstroJS benutzen quasi.

24:01.000 --> 24:04.000
Das ist ja das Verrückte an Astro, irgendwo so ein bisschen.

24:04.000 --> 24:06.000
Ich glaube, der Unterschied ist ja,

24:06.000 --> 24:10.000
dass Astro dieses Island-Konzept hat.

24:10.000 --> 24:12.000
Also was quasi, wo man sagt so,

24:12.000 --> 24:16.000
hey, bevor wir jetzt quasi die ganze Seite befähigen,

24:16.000 --> 24:21.000
dynamisch zu sein, machen wir die einfach nur statisch

24:21.000 --> 24:24.000
und definieren einfach nur quasi Unterbereiche.

24:24.000 --> 24:26.000
Also Böse zungen würden behaupten,

24:26.000 --> 24:29.000
das hätte jetzt endlich nichts anderes als mit J.CurryWidgets

24:29.000 --> 24:32.000
wieder reinzusetzen in so eine Seite, nur halt in modern.

24:32.000 --> 24:36.000
Aber so ist das ja oft, dass man Konzepte irgendwie

24:36.000 --> 24:38.000
in neuerer Form wiederfindet,

24:38.000 --> 24:41.000
einfach so quasi jetzt hier in der nächsten Anlauf.

24:41.000 --> 24:45.000
Genau, und ich glaube bei Quick, bei denen ist ja das Besondere,

24:45.000 --> 24:50.000
dass die beim Hydrieren irgendwie sehr clevere Wege gehen,

24:50.000 --> 24:52.000
wie die irgendwie partiell hydrieren und lazy

24:52.000 --> 24:55.000
und erst wenn irgendwie was in den Viewport kommt.

24:55.000 --> 24:57.000
Und ich glaube, da toben die sich stark aus,

24:57.000 --> 24:59.000
dass man das eben nicht alles upfront hat,

24:59.000 --> 25:03.000
sondern und demand.

25:03.000 --> 25:06.000
Ja, wobei du das ja auch bei Astro so ähnlich hast.

25:06.000 --> 25:10.000
Da kannst du ja auch sagen, dass erst lazy dann dementsprechend

25:10.000 --> 25:14.000
diese Islands geladen werden, diese JavaScript Islands.

25:14.000 --> 25:16.000
Ja, aber da genau dieser Hydration Ansatz von denen sprichst,

25:16.000 --> 25:18.000
der ist bei Quick halt anders.

25:18.000 --> 25:20.000
Und wenn ich das gesehen habe, richtig gesehen habe,

25:20.000 --> 25:22.000
oder mich richtig auch erinnere, ist es bei Quick so,

25:22.000 --> 25:24.000
dass dieser Hydration Ansatz so gar nicht da ist,

25:24.000 --> 25:28.000
weil das halt schon prehydrated ist, oder wie die das da handnennen.

25:28.000 --> 25:31.000
Also das ist schon sehr, sehr interessant,

25:31.000 --> 25:33.000
insofern sich das mal anzugucken.

25:33.000 --> 25:35.000
Interessant ist auch die Sündhacks,

25:35.000 --> 25:37.000
wenn man sich Quick so anguckt,

25:37.000 --> 25:41.000
das ist so gefühlt ein bisschen reactmäßig dann wiederum.

25:41.000 --> 25:44.000
Obwohl es eigentlich eher aus der Angular-Welt kommt,

25:44.000 --> 25:46.000
das fand ich sehr spannend.

25:46.000 --> 25:48.000
Also es ist auch wieder dieser Ansatz von JSX

25:48.000 --> 25:51.000
mit einem Einsatz das Ganze zu haben.

25:51.000 --> 25:54.000
Und also ich würde definitiv sagen,

25:54.000 --> 25:56.000
Quick hat Potenzial auch 2023,

25:56.000 --> 25:59.000
also dieses Jahr wirklich steil zu gehen.

25:59.000 --> 26:01.000
Das hängt so ein bisschen davon ab,

26:01.000 --> 26:05.000
wie die ganze Webponsche sich weiterentwickelt,

26:05.000 --> 26:07.000
wo der Fokus raufgesetzt wird.

26:07.000 --> 26:11.000
Und ich sag mal, Performance-Optimierung ist das,

26:11.000 --> 26:14.000
was sehr oft halt auch im E-Commerce-Bereich,

26:14.000 --> 26:18.000
oder ich sag mal Verlagsbereich auch benutzt wird und verwendet wird.

26:18.000 --> 26:21.000
Also von daher, glaube ich, ist Quick genau diese Lücke,

26:21.000 --> 26:23.000
die gefehlt hat, die geschlossen wird irgendwie.

26:23.000 --> 26:28.000
Man hat so diese Mischung aus SSG, SSR, pre-gerendeter Stuff,

26:28.000 --> 26:32.000
der dann dementsprechend auch in diese einzelnen Bands...

26:32.000 --> 26:35.000
In mir hat es persönlich ein bisschen an das Junking von Webpack

26:35.000 --> 26:37.000
auch erinnert, was da passiert so gefühlt,

26:37.000 --> 26:39.000
als ich das gesehen hatte.

26:39.000 --> 26:42.000
Das war nicht mich so erinnere letzten Endes,

26:42.000 --> 26:46.000
aber ich habe mit Quick persönlich jetzt noch keine App gebaut

26:46.000 --> 26:48.000
oder so qualifiziert sagen zu können.

26:48.000 --> 26:51.000
Ja, das ist voll das Problem und das ist wirklich viel, viel schneller.

26:51.000 --> 26:53.000
Und die Frage ist mal ehrlich zu sein,

26:53.000 --> 26:55.000
wie viel schneller muss es denn noch sein,

26:55.000 --> 26:58.000
ja, in gewissen Bereichen.

26:58.000 --> 27:00.000
Ja, das ist ja immer so ein Wettlauf

27:00.000 --> 27:06.000
und dann, weiß ich nicht, möchte man die ganzen Google-Core-Web-Vitals

27:06.000 --> 27:08.000
irgendwie zufrieden stellen

27:08.000 --> 27:11.000
und das geht halt dann irgendwie vielleicht mit Quick besser

27:11.000 --> 27:13.000
als mit irgendwann einem Framework.

27:13.000 --> 27:15.000
Genau, richtig.

27:15.000 --> 27:17.000
Also ist auf jeden Fall ein guter Tipp,

27:17.000 --> 27:19.000
einfach zu sagen, sich Quick nochmal genauer anzugucken.

27:19.000 --> 27:22.000
Auch nochmal hinter die Kulissen auszugucken,

27:22.000 --> 27:25.000
wiefern im Detail sie jetzt unterscheidet.

27:25.000 --> 27:27.000
Also wie auch gesagt, von der Sendung her,

27:27.000 --> 27:29.000
man kommt da schnell rein.

27:29.000 --> 27:31.000
Also ich hatte das gesehen und habe gedacht,

27:31.000 --> 27:34.000
ja, das traue ich mir zu, damit zu arbeiten auf jeden Fall.

27:34.000 --> 27:37.000
Ja, ich denke, das sinkt wahrscheinlich auch davon ab.

27:37.000 --> 27:39.000
Also so gibt es irgendwann große Fürsprecher,

27:39.000 --> 27:43.000
die das irgendwie erwähnen und so ein bisschen championen,

27:43.000 --> 27:47.000
dann wie gut ist die Dooku und die Community,

27:47.000 --> 27:51.000
also wie welcoming sind die, also die üblichen Faktoren

27:51.000 --> 27:54.000
und vielleicht dann auch noch irgendwie eine Google-IO

27:54.000 --> 27:57.000
oder Chrome Dev Summit, die dann vielleicht irgendwelche Seiten

27:57.000 --> 28:00.000
Erfolgsgeschichten so Showcases bringen,

28:00.000 --> 28:02.000
wo was benutzt wurde mit Quick

28:02.000 --> 28:05.000
und dann halt ganz toll abgeschnitten hat.

28:05.000 --> 28:08.000
So, ich glaube, das sind immer so die Faktoren,

28:08.000 --> 28:11.000
die dann zum Framework irgendwie nach vorne bringen.

28:11.000 --> 28:13.000
Und eine gute Dokumentation.

28:13.000 --> 28:17.000
Also ich persönlich möchte sagen, ich gehe immer nach gefühlt

28:17.000 --> 28:20.000
Dokumentationen, wo ich, kann ich jetzt auch nicht sagen,

28:20.000 --> 28:25.000
ich bin, glaube ich, schon, ja, aus der Welt,

28:25.000 --> 28:27.000
wo ich noch Source Code lesen musste,

28:27.000 --> 28:30.000
weil es keine Dokumentation gab, so gefühlt am Anfang,

28:30.000 --> 28:31.000
aber mittlerweile...

28:31.000 --> 28:32.000
Und zu alt für den Scheiß, ne?

28:32.000 --> 28:34.000
Ja, genau, richtig.

28:34.000 --> 28:36.000
Aber jetzt mittlerweile ist es so,

28:36.000 --> 28:39.000
dass ich es halt schätzen gelernt habe,

28:39.000 --> 28:42.000
dass eine gute Dokumentation einfach mich schneller auch

28:42.000 --> 28:44.000
als eine neue Technik einarbeiten lässt.

28:44.000 --> 28:46.000
Und das ist für mich sehr, sehr wichtig.

28:46.000 --> 28:47.000
Ja.

28:47.000 --> 28:50.000
Ja, macht auch absolut Sinn.

28:50.000 --> 28:51.000
Genau.

28:51.000 --> 28:54.000
Und jetzt, Vanessa, kannst du weiter machen.

28:54.000 --> 28:56.000
Ich habe aber jetzt was ganz anderes,

28:56.000 --> 29:00.000
als Joe, du gerade meintest, da war noch eine Lücke

29:00.000 --> 29:02.000
und die hat Quick geschlossen.

29:02.000 --> 29:05.000
Im Moment sehe ich eine ganz große andere Lücke,

29:05.000 --> 29:08.000
wo ich aber auch nicht weiß, ob jetzt Frameworks-PC

29:08.000 --> 29:10.000
dabei helfen können.

29:10.000 --> 29:13.000
Und zwar bin ich in der letzten Zeit immer wieder konfrontiert worden

29:13.000 --> 29:15.000
mit das, was wir eigentlich wissen wollen,

29:15.000 --> 29:16.000
ist, wie wir...

29:16.000 --> 29:18.000
Wir haben uns jetzt für dieses Framework entschieden

29:18.000 --> 29:21.000
und ja, ja, wir wissen, wie die Sonntagstag von funktioniert

29:21.000 --> 29:24.000
und wie die Konzepte generell funktionieren sollen.

29:24.000 --> 29:27.000
Aber jetzt ist mittlerweile die Webseite halt schon mal ganz schön groß.

29:27.000 --> 29:29.000
Die Codebase ist ziemlich gewachsen

29:29.000 --> 29:31.000
und sogar mit den Best Practices

29:31.000 --> 29:34.000
und alle Video Tutorials dieser Welt angeschaut,

29:34.000 --> 29:37.000
fühlt sich die Ijecture teilweise noch nicht so gut an.

29:37.000 --> 29:40.000
Und jetzt gehen wir das dann an, wenn wir jetzt von View 2

29:40.000 --> 29:42.000
auf View 3 gehen.

29:42.000 --> 29:44.000
Welche Schritte machen wir genau hintereinander?

29:44.000 --> 29:47.000
Und da kommen ja ganz andere Themen noch damit rein,

29:47.000 --> 29:50.000
die gar nichts speziell mit den Frameworks zu tun haben,

29:50.000 --> 29:51.000
sondern auch...

29:51.000 --> 29:54.000
Wie schreibe ich jetzt zum Beispiel auch mal Interfaces

29:54.000 --> 29:57.000
für meine Komponenten mit Interfaces, meine ich.

29:57.000 --> 29:59.000
Ich habe jetzt ein...

29:59.000 --> 30:01.000
Nennen wir das Ganze einfach mal Modul geschrieben

30:01.000 --> 30:04.000
und das verwende ich jetzt zum Beispiel in einer View 3 App,

30:04.000 --> 30:06.000
aber ich möchte es auch in einer View 2 App verwenden

30:06.000 --> 30:08.000
und darauf geht es jetzt gar nicht.

30:08.000 --> 30:10.000
Also brauche ich hier irgendwie...

30:10.000 --> 30:13.000
Das eine benutzt Redux, das andere benutzt Pinnier State Management

30:13.000 --> 30:16.000
und jetzt muss ich ja vielleicht nur irgendwie den Interface dafür schreiben,

30:16.000 --> 30:19.000
dass ich jetzt mit beiden State Managements klar komme.

30:19.000 --> 30:23.000
Und da in dieser Richtung sehe ich gerade nicht viel passieren,

30:23.000 --> 30:26.000
obwohl es da so viel Bedarf für Antworten gibt,

30:26.000 --> 30:29.000
aber ich sehe halt hier ist dieses Framework für dieses Problem

30:29.000 --> 30:31.000
und hier ist dieses Framework weil es performanter

30:31.000 --> 30:34.000
und hier ist dieses Framework weil XY.

30:34.000 --> 30:36.000
Ich sehe nicht das große Aufleben von

30:36.000 --> 30:38.000
okay, wir haben jetzt diese Codebase

30:38.000 --> 30:40.000
und das ist kompliziert

30:40.000 --> 30:44.000
und wie gehen wir mit der Folderstruktur um

30:44.000 --> 30:48.000
und Migrationen und etc.

30:48.000 --> 30:51.000
Also klar, ich habe jetzt View als Beispiel genommen

30:51.000 --> 30:53.000
und mir ist bewusst, dass es View 2 zu View 3

30:53.000 --> 30:55.000
Migrationstutorials gibt.

30:55.000 --> 30:58.000
Beispiele gibt wirklich gute Beispiele gibt,

30:58.000 --> 31:02.000
aber dennoch gibt es da so einen Bedarf an Antworten,

31:02.000 --> 31:06.000
den ich nicht gedeckt sehe aktuell in der Frontend-Entwicklung.

31:06.000 --> 31:10.000
Ja, das ist das alte Thema der Architektur

31:10.000 --> 31:14.000
und das sind auch die Fragen, die in Workshops natürlich immer wieder kommen.

31:14.000 --> 31:18.000
Ich habe nur Businesskunden in den Workshops

31:18.000 --> 31:20.000
und diese Fragen kommen relativ schnell.

31:20.000 --> 31:22.000
Es ist ja alles schön und gut,

31:22.000 --> 31:26.000
schön, dass die Basistechnik mir geschult wurde

31:26.000 --> 31:31.000
oder ich jetzt weiß, wie View 3 benutzt werden kann,

31:31.000 --> 31:33.000
welche Unterschiede es zu View 2 gibt.

31:33.000 --> 31:38.000
Aber die eigentliche Architektur-Probleme,

31:38.000 --> 31:40.000
die sind natürlich nicht gelöst

31:40.000 --> 31:44.000
und da hilft natürlich immer,

31:44.000 --> 31:49.000
vor allem Inspiration, die man sich ranziehen kann.

31:49.000 --> 31:50.000
Und ich persönlich muss immer noch sagen,

31:50.000 --> 31:52.000
eines meiner Standardwerke,

31:52.000 --> 31:54.000
egal ob das jetzt View oder React ist,

31:54.000 --> 31:56.000
das ist von Dana Premov, der hatte 2015,

31:56.000 --> 31:58.000
glaube ich, damals ein Blog-Artikel geschrieben

31:58.000 --> 32:02.000
über diese Geschichte mit den Presentational-Components

32:02.000 --> 32:04.000
und den Container-Components

32:04.000 --> 32:07.000
oder diese damals Smart- und Dump-Components

32:07.000 --> 32:08.000
werden die auch genannt.

32:08.000 --> 32:10.000
So ein Pattern halt einfach,

32:10.000 --> 32:13.000
so eine Basisarchitektur.

32:13.000 --> 32:15.000
Das ist ein Blogbeitrag von 2015,

32:15.000 --> 32:19.000
den ich persönlich immer noch mal ranziehe.

32:19.000 --> 32:22.000
Und dementsprechend gibt es wenige Leute,

32:22.000 --> 32:24.000
die darüber bloggen.

32:24.000 --> 32:27.000
Markus Oberliner ist einer, der gerne genau diese Themen sich schnappt

32:27.000 --> 32:29.000
und dann dementsprechend verpackt.

32:29.000 --> 32:31.000
Aber die Frage ist ja,

32:31.000 --> 32:33.000
kann man das vielleicht auch nochmal auf andere Ebene,

32:33.000 --> 32:35.000
wie du schon gesagt hast, als Lücke schließen?

32:35.000 --> 32:37.000
Oder wie könnte man diese Lücke schließen

32:37.000 --> 32:40.000
in Form von Packages oder Code,

32:40.000 --> 32:43.000
dass man sagt, okay, diese einzelnen Frameworks teilen

32:43.000 --> 32:45.000
sich gewisse Ressourcen,

32:45.000 --> 32:48.000
auch oder gewisse Pattern und Mustern.

32:48.000 --> 32:51.000
Und ich finde, da sind die Next-Developer,

32:51.000 --> 32:53.000
ja, ich weiß, wir sind wieder im View-Universum,

32:53.000 --> 32:56.000
okay, aber die sind ein guter Beispiel vorangegangen.

32:56.000 --> 32:58.000
Wir haben gesagt, okay, wir machen einen Revite,

32:58.000 --> 33:01.000
der gesamten Next-Architektur

33:01.000 --> 33:06.000
und den ganzen Unterbau, den wir dafür benötigen,

33:06.000 --> 33:13.000
den stellen wir quasi dann als einzelne Pakete zur Verfügung,

33:13.000 --> 33:15.000
ja, kleine einzelne Pakete

33:15.000 --> 33:20.000
und teilen das dementsprechend dann mit der Welt.

33:20.000 --> 33:23.000
Und da ist zum Beispiel was dabei herausgekommen,

33:23.000 --> 33:27.000
wie dementsprechend die Lösung,

33:27.000 --> 33:31.000
dass man sagt, okay, Pakete sind ja meistens irgendwie,

33:31.000 --> 33:33.000
oder Plug-ins sind ja nur für Veed oder für Webpack.

33:33.000 --> 33:35.000
Also man kann immer nur ein Webpack-Plug-in bauen

33:35.000 --> 33:37.000
oder ein Veed-Plug-in oder ein Roll-up-Plug-in.

33:37.000 --> 33:39.000
Und bei Ange es sind sehr hingegangen,

33:39.000 --> 33:41.000
haben gesagt, okay, wir bauen einen Rapper, der es ermöglicht,

33:41.000 --> 33:45.000
dass halt ein Plug-in für verschiedene Elemente,

33:45.000 --> 33:47.000
also nicht verschiedene Elemente,

33:47.000 --> 33:49.000
sondern verschiedene Bandler genutzt werden kann.

33:49.000 --> 33:51.000
Das ist schon mal, glaube ich, der Schritt in eine richtige Richtung.

33:51.000 --> 33:54.000
Aber das löst natürlich nicht die Architekturprobleme.

33:54.000 --> 33:57.000
Man kann jetzt nicht sagen, MPM innert

33:57.000 --> 34:00.000
so auf mein Architekturproblem oder irgend sowas,

34:00.000 --> 34:05.000
oder nutzt eine Architektur, die für alle dementsprechend gilt.

34:05.000 --> 34:08.000
Ja, da finde ich definitiv, dass das in die richtige Richtung geht,

34:08.000 --> 34:09.000
weil das war ja auch so ein Problem,

34:09.000 --> 34:11.000
das ich vorhin schon mal angesprungen hatte.

34:11.000 --> 34:13.000
Was ist jetzt, wenn ich hier halt überall Veed 3 im Einsatz habe,

34:13.000 --> 34:16.000
aber hier bräuchte es jetzt ein bisschen anders.

34:16.000 --> 34:21.000
Aber brauche ich dafür jetzt wieder Hilfsfunktionen,

34:21.000 --> 34:23.000
brauche ich dafür wieder andere Utile Functions.

34:23.000 --> 34:26.000
Und bei Utile Functions,

34:26.000 --> 34:29.000
das, was die Oma vorhin vom Krieg erzählen wollte,

34:29.000 --> 34:32.000
ist, ich habe ja damals noch underscore.js verwendet.

34:32.000 --> 34:35.000
Mittlerweile bin ich sogar auf Lowdash umgestiegen,

34:35.000 --> 34:37.000
beziehungsweise schon vor einiger Zeit,

34:37.000 --> 34:40.000
habe nur nicht wirklich den Bedarf.

34:40.000 --> 34:43.000
Muss auch sagen, ich habe es nicht mal so ganz im Hinterkopf.

34:43.000 --> 34:47.000
Ich muss hier ein Feature implementieren,

34:47.000 --> 34:50.000
boom auf, damals war es eben underscore,

34:50.000 --> 34:52.000
also boom auf Lowdash.

34:52.000 --> 34:56.000
Aber mittlerweile mit ECMAScript und gerade Avery Funktionen

34:56.000 --> 34:58.000
habe ich nicht mehr das Gefühl,

34:58.000 --> 35:02.000
dass man jetzt für alles eine Hilfsfunktion braucht.

35:02.000 --> 35:06.000
Aber da hat mich dieses Ange.js auch von Nux da genannt.

35:06.000 --> 35:10.000
Das habe ich hier ganz viele Begrifflichkeiten aufeinander gehäuft.

35:10.000 --> 35:14.000
Deswegen nochmal Lowdash und auch underscore sind generell,

35:14.000 --> 35:18.000
ich würde sich immer Utile Funktion oder Hilfsfunktion nennen,

35:18.000 --> 35:22.000
wie das sich beim Array bestimmte Funktionen aufrufen kann,

35:22.000 --> 35:26.000
wie ist es das Letzte, ist es das Erste, alles möglich.

35:26.000 --> 35:29.000
Aber von Ange.js, da kannst du uns glaube ich auch nochmal

35:29.000 --> 35:32.000
ein bisschen genauer darüber erzählen,

35:32.000 --> 35:36.000
was genau Sie da anbieten,

35:36.000 --> 35:38.000
was ich jetzt vielleicht auch ansetzen könnte,

35:38.000 --> 35:42.000
obwohl ich hier gar nicht Nux verwende.

35:42.000 --> 35:46.000
Ja, also wie gesagt, zum einen kann man mit,

35:46.000 --> 35:49.000
ich weiß jetzt nicht genau, wie die Pakete alle heißen.

35:49.000 --> 35:53.000
Ein einziger erinnere ich mich ganz besonders, das ist Oh My Fetch.

35:53.000 --> 35:57.000
Haben Sie witzigerweise umbenannt, ich hatte das heute in der Schulung,

35:57.000 --> 36:00.000
jemanden empfohlen gehabt und war erstaunt,

36:00.000 --> 36:03.000
dass es jetzt nur noch Oh Fetch heißt, also nicht mehr Oh My Fetch,

36:03.000 --> 36:05.000
wahrscheinlich haben Sie gemerkt,

36:05.000 --> 36:09.000
der Produktname muss seriöser werden, nein, weiß ich nicht, genau.

36:09.000 --> 36:14.000
Und das ersetzt quasi ein HTTP Client wie Axios.

36:14.000 --> 36:17.000
Also Axios kennen wahrscheinlich die meisten,

36:17.000 --> 36:21.000
als die Lösung im, ich sag mal, Enterprise Segment

36:21.000 --> 36:24.000
oder beziehungsweise generell bei Single-Page-Applications

36:24.000 --> 36:27.000
oder auch bei SSR-Pages oder sonst was,

36:27.000 --> 36:30.000
als den HTTP Client, den man einsetzen kann,

36:30.000 --> 36:34.000
um dementsprechend mit einer REST-API zu kommunizieren.

36:34.000 --> 36:40.000
Und das Ding ist, Axios basiert ja immer noch im Hintergrund auf XHR,

36:40.000 --> 36:42.000
also XML HTTP Request Object.

36:42.000 --> 36:49.000
So, und ja, warum nutzen die meisten Leute Axios wegen den Interceptors?

36:49.000 --> 36:51.000
Ja, diese Interceptors, diese Form der Middleware,

36:51.000 --> 36:54.000
die man zwischen Request und Response packen kann,

36:54.000 --> 36:58.000
um einfach Daten zu manipulieren nochmal an der Stelle,

36:58.000 --> 37:00.000
das ist ein cooles Feature und das kann halt Oh Fetch.

37:00.000 --> 37:04.000
Oh Fetch löst halt eigentlich alle Probleme, die Axios auch gelöst hat,

37:04.000 --> 37:07.000
aber mit der nativen Fetch API im Hintergrund.

37:07.000 --> 37:12.000
Ja, und das ist schon ein sehr cooles Paket an der Stelle.

37:12.000 --> 37:14.000
So, ein anderes Paket.

37:14.000 --> 37:16.000
Moment ganz kurz, also das heißt,

37:16.000 --> 37:20.000
weil ich wollte genau gerade fragen, wozu brauche ich jetzt ein Package Oh Fetch,

37:20.000 --> 37:23.000
weil ich kann ja einfach mittlerweile in meinen Browser ein Fetch verwenden.

37:23.000 --> 37:27.000
Aber hier ist eben der Vorteil, dass ich die Interceptors habe.

37:27.000 --> 37:31.000
Das heißt, ich kann sowohl Form Request, aber auch wahrscheinlich nach dem Request

37:31.000 --> 37:35.000
die Daten nochmal manipulieren.

37:35.000 --> 37:38.000
Genau, oder beim Federfall, da könntest du dann dementsprechend,

37:38.000 --> 37:40.000
du hast dann quasi so Hookpoints, Corebacks,

37:40.000 --> 37:44.000
wie du es nennen möchtest, technisch wahrscheinlich eher in der Middleware,

37:44.000 --> 37:47.000
weiß ich nicht, es heißt Interceptor, das Konzept so.

37:47.000 --> 37:50.000
Und genau, das ist von Axios adaptiert.

37:50.000 --> 37:54.000
Das ist das eine und das andere ist, du kannst natürlich die Fetch API einfach so benutzen,

37:54.000 --> 38:00.000
natürlich, aber wir wissen alle, dass die Developer Experience von der Fetch API

38:00.000 --> 38:05.000
ein bisschen, ja, da muss man ein bisschen was dazukoden.

38:05.000 --> 38:08.000
Und damit du das halt nicht, also du kannst eine eigene Lösung bauen,

38:08.000 --> 38:11.000
oder du nutzt halt eine Lösung, wo mehrere Leute ihr Gehirnschmalz reingesteckt haben

38:11.000 --> 38:14.000
und schon Probleme gelöst haben, die du auch selbst lösen würdest.

38:14.000 --> 38:17.000
Und vielleicht sogar schlechter lösen würdest,

38:17.000 --> 38:21.000
als sie in diesem Open Source Projekt an dementsprechend vorhanden.

38:21.000 --> 38:24.000
Ja, das ist immer die große Frage, weil ich war schon, das kann man doch selber implementieren.

38:24.000 --> 38:27.000
Also auch ein Arrow-Handler kann ich das selber implementieren.

38:27.000 --> 38:30.000
Aber du hast dementsprechend recht,

38:30.000 --> 38:33.000
meistens passiert immer was, was man vorher nicht eingeplant hatte.

38:33.000 --> 38:36.000
Und im schlimmsten Fall vergisst man selber,

38:36.000 --> 38:40.000
und dieses Tool würde daran denken, auf der anderen Seite immer die Sorge ist,

38:40.000 --> 38:42.000
ist es dann noch maintained, ist es Open Source,

38:42.000 --> 38:44.000
wie lange es ist, Open Source, etc.

38:44.000 --> 38:46.000
Genau, und im Fall ist es ja so,

38:46.000 --> 38:51.000
dass AnJS von dem Geldpot von Nux profitiert.

38:51.000 --> 38:56.000
Also Nux, man sagt ja immer so, Software sollte backed by Giants sein,

38:56.000 --> 38:59.000
also irgendwelche größeren Companies, die das Ganze unterstützen.

38:59.000 --> 39:03.000
Und Nux selbst ist ja eine Company, das darf man ja auch nicht vergessen.

39:03.000 --> 39:10.000
Und dementsprechend ist dieses Open Source Produkt ganz gut unterstützt an der Stelle.

39:10.000 --> 39:14.000
Und ich sage mal, die Komplexität dieser einzelnen AnJS-Packages

39:14.000 --> 39:19.000
ist jetzt auch nicht so groß, dass man da Sorge haben müsste,

39:19.000 --> 39:21.000
dass auf einmal das ganze System zusammenbricht.

39:21.000 --> 39:24.000
Also trotzdem könnte man mit einer guten Softwarearchitektur im Hintergrund

39:24.000 --> 39:26.000
das Ganze nochmal austauschen.

39:26.000 --> 39:29.000
Und davon gibt es halt verschiedene Pakete an der Stelle.

39:29.000 --> 39:33.000
Also gibt es viele Pakete für Node.js-Bereich, die dadurch entstanden sind,

39:33.000 --> 39:37.000
dass Nux halt viel mit Server-Site-Rendering macht, ja, an der Stelle.

39:37.000 --> 39:40.000
Und da auch sehr viele Probleme angegangen ist.

39:40.000 --> 39:45.000
Und ich glaube, es sind insgesamt über 50 kleine Pakete.

39:45.000 --> 39:49.000
Und wenn das nochmal interessieren sollte,

39:49.000 --> 39:51.000
da könnt ihr bestimmt nochmal Link zur Verfügung stellen,

39:51.000 --> 39:57.000
auf der ViewJS-Conference in Berlin dieses Jahr, die ich mitorganisiert hatte,

39:57.000 --> 40:01.000
war Alexander Lichter und der ist auch mit Core-Member bei Nux.

40:01.000 --> 40:06.000
Und der hat quasi ne, glaube ich, 20-25 Minuten genau an JS vorgestellt,

40:06.000 --> 40:08.000
die einzelnen Pakete vorgestellt.

40:08.000 --> 40:11.000
Und gezeigt, was man damit machen kann.

40:11.000 --> 40:14.000
Und ich glaube, es ist nur so ne kleine Lücke, die gefüllt wird.

40:14.000 --> 40:16.000
Weil die größere Lücke hat sie so angesprochen,

40:16.000 --> 40:18.000
das ist halt die Architektur dahinter.

40:18.000 --> 40:20.000
Und da kann man eigentlich nur sagen,

40:20.000 --> 40:23.000
vielleicht helfen irgendwelche Scar-Folding-Tools oder so.

40:23.000 --> 40:26.000
Vielleicht ist das der nächste Trend, ja, zu sagen,

40:26.000 --> 40:31.000
man sagt irgendwie, es gibt einen JS-Architektur, Scar-Folding,

40:31.000 --> 40:35.000
das, ja, Best Practices vereint für alle Systeme.

40:35.000 --> 40:39.000
Aber auf der anderen Seite neigen wir Entwickler

40:39.000 --> 40:41.000
und Entwicklerinnen ja auch immer dazu,

40:41.000 --> 40:44.000
irgendwie ein eigenes Geschmäckler anzubringen an die Dinge.

40:44.000 --> 40:46.000
Und dann heißt der Ordner halt nicht Views, sondern Pages,

40:46.000 --> 40:48.000
aber macht eigentlich das Gleiche.

40:48.000 --> 40:50.000
Dann fängt es nämlich schon an.

40:50.000 --> 40:54.000
Und es muss alles konfigurierbar sein und anpassbar sein.

40:54.000 --> 40:57.000
Könnte viel schwer werden, aber wer weiß,

40:57.000 --> 41:01.000
vielleicht ist das ja genau das Ding, was 2023 noch dazukommt.

41:01.000 --> 41:03.000
Auf der anderen Seite könnte vielleicht,

41:03.000 --> 41:05.000
ob JS dann genau dabei helfen,

41:05.000 --> 41:07.000
diese kleinen Problemchen schon mal zu lösen,

41:07.000 --> 41:09.000
damit wir nicht alle unseren eigenen Arrow-Handler

41:09.000 --> 41:11.000
alle mal genau durchdefinieren müssen

41:11.000 --> 41:15.000
und uns auf die großen Probleme fokussieren können.

41:15.000 --> 41:17.000
Denn auf jeden Fall müssen wir alle das Grad

41:17.000 --> 41:19.000
ein bisschen anders erfinden.

41:19.000 --> 41:22.000
Das ist schon auf jeden Fall sehr wahr.

41:22.000 --> 41:23.000
Ja.

41:23.000 --> 41:25.000
Ich wollte jetzt nur kurz mal fragen,

41:25.000 --> 41:28.000
ob es noch bei JS was anderes gab, was du...

41:28.000 --> 41:30.000
Jetzt nix spontan, so sage ich auch,

41:30.000 --> 41:33.000
das ist all my fetches mehr hängen geblieben.

41:33.000 --> 41:39.000
Wie gesagt, dass ich Bundles oder Plugins für Weed, Webpack und Rollup

41:39.000 --> 41:41.000
also für andere Bundler bereitstellen kann,

41:41.000 --> 41:43.000
also einen Plug-in für alle.

41:43.000 --> 41:45.000
Das ist mir auf jeden Fall hängen geblieben,

41:45.000 --> 41:47.000
weil das sind wirklich zwei Dinge, die ich auch benutzt habe schon.

41:47.000 --> 41:49.000
Weil ich gesagt habe, das ist wirklich mega cool.

41:49.000 --> 41:51.000
Und da gibt es noch andere,

41:51.000 --> 41:53.000
aber ich müsste jetzt auf die Liste rauf gucken,

41:53.000 --> 41:55.000
um zu sagen, das war genau das,

41:55.000 --> 41:57.000
weil ich einfach nicht mehr weiß, wie es heißt.

41:57.000 --> 41:59.000
Das ist gerade mein Hauptproblem.

41:59.000 --> 42:01.000
Das Problem ist hundertprozentig geteckelt hat,

42:01.000 --> 42:03.000
weil ich es halt einfach nicht im Einsatz hatte an der Stelle.

42:03.000 --> 42:05.000
Aber es lohnt sich auf jeden Fall rauf zu gucken.

42:05.000 --> 42:08.000
Es waren halt sehr viele Probleme, die auch im Node-JS-Bereich waren,

42:08.000 --> 42:12.000
die da dementsprechend gelöst wurden.

42:12.000 --> 42:16.000
Und deswegen die Empfehlung einfach mal rein zu gucken.

42:16.000 --> 42:20.000
Um noch ein bisschen im ViewJS-Bereich zu bleiben,

42:20.000 --> 42:25.000
obwohl es ja auch gar nichts per se mit ViewJS so direkt zu tun hat,

42:25.000 --> 42:30.000
würde ich gerne nochmal auf das Thema von Histoire versus Storybook kommen.

42:30.000 --> 42:34.000
Da hatten wir auch vor Kurzem auch ebenfalls eine Revision

42:34.000 --> 42:38.000
drüber, die 539, wer da nochmal reinhören möchte.

42:38.000 --> 42:42.000
Aber die Kurzzusammenfassung ist halt eben auch eine Darstellung

42:42.000 --> 42:44.000
einer Komponentenbibliothek.

42:44.000 --> 42:50.000
Und mit Storybook und ViewJS gab es so die kleine Problematik,

42:50.000 --> 42:52.000
dass man manchmal das Gefühl hatte,

42:52.000 --> 42:55.000
man schwimmt so ein bisschen gegen den Strom,

42:55.000 --> 42:58.000
weil man möchte in dieses React-Tool was Viewmäßiges reinbringen.

42:58.000 --> 43:02.000
Und Histoire ist halt eben eher aus der Viewsicht geschrieben worden,

43:02.000 --> 43:06.000
was nicht heißt, dass man nur ViewJS-Komponenten damit machen kann,

43:06.000 --> 43:10.000
sondern genauso gut gleiches Weltkamen quasi auch gleich mitgeliefert.

43:10.000 --> 43:13.000
Wie ist deine Einschätzung zu?

43:13.000 --> 43:16.000
Brauchen wir das überhaupt noch?

43:16.000 --> 43:19.000
Ist Storybook da unschlagbar?

43:19.000 --> 43:23.000
Oder kann Histoire da ein bisschen Marktanteil bekommen?

43:23.000 --> 43:30.000
Also ich kenne diese Hassliebe zu Storybook auf jeden Fall.

43:30.000 --> 43:32.000
Manchmal ist es mehr Hass als Liebe.

43:32.000 --> 43:37.000
Auch das habe ich öfter gehört gerade aus dem View oder dem Nicht-React-Lager.

43:37.000 --> 43:39.000
Mal sagen wir mal aus dem Nicht-React-Lager,

43:39.000 --> 43:42.000
weil Storybook ist ein gutes Tool, das funktioniert perfekt mit React,

43:42.000 --> 43:46.000
weil es ein React aufgeschrieben ist, dafür auch so ein Hopffokus hat.

43:46.000 --> 43:50.000
Ich finde aber persönlich aus meiner eigenen Erfahrung aus,

43:50.000 --> 43:53.000
Storybook gar nicht so dramatisch und schlimm.

43:53.000 --> 43:56.000
Das Einzige, was ich immer problematisch finde, ist dieses Doppel-Tooling.

43:56.000 --> 44:00.000
Du hast halt dieses, das eine wird damit Webpack gebundelt,

44:00.000 --> 44:02.000
das andere fähig schon mit View.

44:02.000 --> 44:05.000
Das ist schon mal eine Sache, die ich nicht so mag,

44:05.000 --> 44:08.000
weil es einfach auch einen riesen Ballast in die Applikation bringt irgendwie.

44:08.000 --> 44:11.000
Aber im Großen und Ganzen finde ich,

44:11.000 --> 44:14.000
Histoire finde ich halt mega cool vom Ansatz von der Idee her.

44:14.000 --> 44:16.000
Ich finde es gut, dass es ein Konkurrenzprodukt gibt,

44:16.000 --> 44:18.000
weil das hat mir gefehlt die ganze Zeit.

44:18.000 --> 44:21.000
Irgendwas, wo ich sage so, hey, das kann es wirklich damit aufnehmen,

44:21.000 --> 44:25.000
bzw. das ist eine wirkliche echte Alternative zu Storybook an der Stelle.

44:25.000 --> 44:28.000
Und deswegen hoffe ich, dass da mehr Merktanteil kommt.

44:28.000 --> 44:31.000
Ich verfolge das weiterhin und bin sehr gespannt,

44:31.000 --> 44:35.000
ob ich darauf wechseln werde, halt auch in Kundenprojekten

44:35.000 --> 44:38.000
oder auch diese Empfehlung in den Final aussprechen werde

44:38.000 --> 44:41.000
und nicht nur meinen eigenen Hobbyprojekten das erst mal ausprobiere.

44:41.000 --> 44:47.000
Und da sehe ich ganz große Chancen, dass das auf jeden Fall ein guter Player werden kann.

44:47.000 --> 44:51.000
Auf der anderen Seite ist es so, dass ich Storybook immer noch für,

44:51.000 --> 44:54.000
ich sage mal so, man kann das unterschiedlich einsetzen.

44:54.000 --> 44:56.000
Oftmals wird es halt für Component Libraries benutzt,

44:56.000 --> 44:59.000
aber ich habe zum Beispiel auch in Kundenprojekten dafür benutzt,

44:59.000 --> 45:01.000
dass wir gesagt haben, wir bauen das ganze User-Interface.

45:01.000 --> 45:09.000
Also auch wenn du ein Bootstrap oder ein Material-Design-Based-Component-Library einsetzt

45:09.000 --> 45:12.000
und schon fertige Komponenten da sind, habe ich trotzdem gesagt,

45:12.000 --> 45:15.000
okay, lass mal die ganze UI auch in Storybook aufbauen.

45:15.000 --> 45:18.000
Und zwar eher so mit dem Atomic-Ansatz,

45:18.000 --> 45:21.000
dass du halt sagst, okay, das sind deine Basebutton.

45:21.000 --> 45:23.000
Zwar die müssen ja auch trotzdem konfiguriert werden.

45:23.000 --> 45:26.000
Und die rappt man dann halt nochmal in Rapper-Components

45:26.000 --> 45:30.000
und baut dementsprechend dann Moleküle und dann wieder Organismen,

45:30.000 --> 45:32.000
wenn man mit Atomic-Design-Ansatz bleibt.

45:32.000 --> 45:35.000
Das funktioniert sehr gut, weil auch diese Kapsung dann da ist

45:35.000 --> 45:38.000
und man halt dementsprechend sich mehr Gedanken auch darum macht,

45:38.000 --> 45:42.000
um das User-Interface, als wenn das einfach mal so reingekloppt wird von Fullstack.

45:42.000 --> 45:45.000
Also es ist kein Bash gegen Fullstack-Developer.

45:45.000 --> 45:49.000
Ich glaube, jeder ist im Herzen mit einer bisschen mehr Erfahrung,

45:49.000 --> 45:51.000
hat irgendwann ein Fullstack-Developer,

45:51.000 --> 45:54.000
zumindest wenn er in unterschiedlichen Projekten tätig war.

45:54.000 --> 45:57.000
Ist die da von uns in der Lage auch Backendcode oder Frontendcode zu schreiben?

45:57.000 --> 46:00.000
Die Frage ist, in welcher Qualität und welcher Geschwindigkeit.

46:00.000 --> 46:05.000
Aber da pass jetzt halt doch schon auf, dass Leute mit einem Backend-Hintergrund,

46:05.000 --> 46:09.000
die Fullstack dann im Front unterwegs sind, schnell auch dazu neigen,

46:09.000 --> 46:11.000
einfach das reinzuwerfen.

46:11.000 --> 46:13.000
Ohne so Fragen ist das semantisch korrekt.

46:13.000 --> 46:15.000
Passt das ein Job zusammen.

46:15.000 --> 46:19.000
Es sieht ungefähr so aus, wie es soll und es macht, was es soll.

46:19.000 --> 46:21.000
Das ist manchmal das Kriterium.

46:21.000 --> 46:23.000
Und das ist mit Storybook ein bisschen anders.

46:23.000 --> 46:24.000
Man macht sich halt erst mal Gedanken,

46:24.000 --> 46:28.000
dass User-Interface hat meistens Leute, die darauf spezialisiert sind auch

46:28.000 --> 46:32.000
und von daher die ganzen Plugins, die es da gibt

46:32.000 --> 46:36.000
und die ganzen Erfahrungswerte, diesen zeitlichen Vorsprung in Storybook hat,

46:36.000 --> 46:38.000
den hat Histoire noch nicht.

46:38.000 --> 46:42.000
Das ist so ein bisschen wie bei Sweld und React oder Sweld und View.

46:42.000 --> 46:44.000
Da fehlen halt einfach ein paar Jahre dazwischen.

46:44.000 --> 46:47.000
Und die Frage ist, wie schnell entwickelt sich Histoire weiter?

46:47.000 --> 46:49.000
Und ich glaube, da ist Potenzial auf jeden Fall da.

46:49.000 --> 46:51.000
Die Leute sind neugierig.

46:51.000 --> 46:56.000
Und es funktioniert sehr gut mit Sweld und mit View.

46:56.000 --> 46:57.000
Beides ist sehr angesagt.

46:57.000 --> 47:00.000
Also ich glaube, da ist eine große Zukunft auf jeden Fall.

47:00.000 --> 47:03.000
Ich denke vielleicht auch gerade, weil es noch so am Start ist,

47:03.000 --> 47:09.000
kann man vielleicht tatsächlich so als End-User von dem Developer-Tool

47:09.000 --> 47:12.000
vielleicht auch so ein bisschen noch mit reinwirken

47:12.000 --> 47:14.000
und ein bisschen Feedback ergeben,

47:14.000 --> 47:17.000
welche Richtung es sich am besten weiterentwickeln sollte.

47:17.000 --> 47:20.000
Es besteht natürlich die Gefahr, dass das auch,

47:20.000 --> 47:23.000
was ich negativ ist, über Storybook höre.

47:23.000 --> 47:24.000
Das kommt ja von irgendwo her.

47:24.000 --> 47:26.000
Das kommt halt von daher, dass sie versuchen,

47:26.000 --> 47:29.000
sehr viele Probleme auch dann irgendwie zu lösen.

47:29.000 --> 47:32.000
Und das ist ein Framework.

47:32.000 --> 47:35.000
Das hat wahnsinnig viele Nutzer und Nutzerinnen.

47:35.000 --> 47:38.000
Das heißt, das kann es nicht für jeden perfekt machen.

47:38.000 --> 47:43.000
Das könnte eben auch mit Histoire quasi auch passieren.

47:43.000 --> 47:45.000
Allerdings, dann hätte man zumindest schon mal zwei.

47:45.000 --> 47:48.000
Und dann könnten die beiden jeweils ihren eigenen Fokus haben.

47:48.000 --> 47:50.000
Dann kann man sich immer noch dafür entscheiden,

47:50.000 --> 47:53.000
was jetzt im eigenen Fokus besser entspricht.

47:53.000 --> 47:56.000
Ich würde es auf jeden Fall im Hinterkopf behalten.

47:56.000 --> 48:01.000
Ich würde schon fast jetzt einfach dazu tendieren zu sagen,

48:01.000 --> 48:03.000
ich würde mal sagen, das wäre für mich sozusagen

48:03.000 --> 48:05.000
Production Ready, würde ich empfehlen.

48:05.000 --> 48:11.000
Weil ich auch nicht den allergrößten Migrationsaufwand sehe,

48:11.000 --> 48:13.000
wenn man zum Beispiel sagen müsste,

48:13.000 --> 48:15.000
dass die Funktionalitäten eben nicht ausreichen,

48:15.000 --> 48:18.000
dann wechseln wir von Histoire to Storybook

48:18.000 --> 48:20.000
versus andersherum.

48:20.000 --> 48:21.000
Bei andersherum, bei Storybook,

48:21.000 --> 48:24.000
dann hast du deine Actions und Nobs definiert.

48:24.000 --> 48:27.000
Die es halt einfach bei dem anderen Tool nicht gibt.

48:27.000 --> 48:29.000
Und das andere Tool könnte ja auch,

48:29.000 --> 48:30.000
wie Schabte schon mal gemacht hat,

48:30.000 --> 48:31.000
einfach selbst geschrieben sein.

48:31.000 --> 48:34.000
Dann hat man da diese Tools auch nicht.

48:34.000 --> 48:37.000
Was ich es aber auch euch beide damit fragen würde,

48:37.000 --> 48:40.000
Joe, weil du meintest, macht die Applikation größer

48:40.000 --> 48:41.000
und hier das dazu gebanntet.

48:41.000 --> 48:43.000
Und das wird vielleicht anders gebanntet.

48:43.000 --> 48:45.000
Würdet ihr dazu tendieren,

48:45.000 --> 48:47.000
kann man auch ganz toll für Tests fragen.

48:47.000 --> 48:49.000
Würdet ihr dazu tendieren,

48:49.000 --> 48:52.000
das in der gleichen Repository zu machen

48:52.000 --> 48:57.000
oder abzukapseln und in ein zweites Repository zu legen,

48:57.000 --> 49:00.000
dann irgendwie mit SimLinks, NPM, Private Packages

49:00.000 --> 49:02.000
sonst was irgendwie zu verknüpfen?

49:04.000 --> 49:09.000
Tja, das hängt wie immer davon ab letzten Endes.

49:09.000 --> 49:11.000
Das könnte man jetzt als ersten Satz sagen.

49:11.000 --> 49:16.000
Aber ich sage mal so, in der Praxis aus meiner Erfahrung heraus

49:16.000 --> 49:21.000
würde ich immer das Storybook als lebende Dokumentation

49:21.000 --> 49:24.000
innerhalb des Projektes auch mit sehen und dort auch angesiedelt sehen.

49:24.000 --> 49:27.000
Man kann natürlich auch, das hängt davon ab,

49:27.000 --> 49:29.000
jetzt baust du eine Component Library,

49:29.000 --> 49:31.000
also machst du das ein oder machst du das andere.

49:31.000 --> 49:33.000
Wenn du eine Component Library machst,

49:33.000 --> 49:36.000
dann hast du das Storybook in der Component Library

49:36.000 --> 49:38.000
und dann kommt ein Feature von Storybook,

49:38.000 --> 49:39.000
was wiederum sehr cool ist,

49:39.000 --> 49:41.000
und das ist dieses Storybook in Storybook.

49:41.000 --> 49:44.000
Also dass du quasi mehrere Storybooks einsammelst

49:44.000 --> 49:48.000
und dementsprechend daraus eine große Dokumentation machst.

49:48.000 --> 49:51.000
Und gerade wenn man mehrere Teams hat,

49:51.000 --> 49:54.000
die in unterschiedlichen Bereichen der Applikation arbeiten

49:54.000 --> 49:57.000
oder Microfront arbeiten,

49:57.000 --> 50:00.000
ist das natürlich eine ziemlich coole Möglichkeit,

50:00.000 --> 50:02.000
dementsprechend zu werden.

50:02.000 --> 50:04.000
Das ist das, was ich sage, das ist das, was ich sage.

50:04.000 --> 50:06.000
Das ist das, was ich sage.

50:06.000 --> 50:08.000
Das ist das, was ich sage.

50:08.000 --> 50:10.000
Das ist das, was ich sage.

50:10.000 --> 50:12.000
Das ist das, was ich sage.

50:12.000 --> 50:14.000
Das ist das, was ich sage.

50:14.000 --> 50:18.000
Das ist das natürlich eine ziemlich coole Möglichkeit, dementsprechend

50:18.000 --> 50:25.000
dafür dann Storybook zu verwenden an der Stelle.

50:25.000 --> 50:27.000
Deswegen, das wäre halt ein Vorteil,

50:27.000 --> 50:30.000
wenn man es mit drin hat, dann im Repository

50:30.000 --> 50:34.000
oder verteilt auf mehrere Repositories dann an der Stelle.

50:34.000 --> 50:36.000
Ich hatte das auch schon in einem anderen Projekt gehabt.

50:36.000 --> 50:39.000
Das war noch so 2017, 18.

50:39.000 --> 50:41.000
Da habe ich das endlich so gemacht,

50:41.000 --> 50:43.000
wie du gerade gesagt hast, Vanessa.

50:43.000 --> 50:46.000
Ich habe halt verschiedene Simlings aufgebaut

50:46.000 --> 50:48.000
und hatte verschiedene Docker-Container

50:48.000 --> 50:50.000
und habe dann die Stories da rausgecrawlt.

50:50.000 --> 50:52.000
Und dann hatte ich einen Container gehabt,

50:52.000 --> 50:54.000
der dann das Storybook zusammengebaut hat.

50:54.000 --> 50:57.000
War im Nachhinein nicht so die eleganteste Lösung.

50:57.000 --> 51:00.000
Es war gedanklich, fand ich das cool.

51:00.000 --> 51:04.000
In der Praxis war das dann doch ein ziemliches Gefummel.

51:04.000 --> 51:06.000
Wie Microfront jetzt?

51:06.000 --> 51:08.000
Genau, richtig, wie Microfront.

51:08.000 --> 51:10.000
In der Theorie mega gut.

51:10.000 --> 51:13.000
Aber jetzt bin ich gespannt, was der schreibt dazu.

51:13.000 --> 51:16.000
Ja, ich schließe mich dem auch an.

51:16.000 --> 51:18.000
Ich würde höchstens sagen,

51:18.000 --> 51:20.000
ich würde es immer darleben lassen,

51:20.000 --> 51:23.000
wo auch die Komponenten leben.

51:23.000 --> 51:26.000
Also, dass nicht irgendwie separieren voneinander.

51:26.000 --> 51:30.000
Und genau, also macht für mich keinen Sinn.

51:33.000 --> 51:35.000
Und Hosten?

51:35.000 --> 51:37.000
Das kann man ja dann anders einstellen,

51:37.000 --> 51:40.000
dass man es irgendwie bildet.

51:40.000 --> 51:45.000
Und auf irgendeinen, das Lieblingstool der Wahl,

51:45.000 --> 51:47.000
der Entwickler und Entwicklerinnen,

51:47.000 --> 51:50.000
dass man das da hostet.

51:50.000 --> 51:53.000
Ja, da gibt es ja unsliche Möglichkeiten.

51:53.000 --> 51:55.000
Am Ende ist es so,

51:55.000 --> 51:57.000
dass es in deine Pipeline wahrscheinlich verarbeitet ist

51:57.000 --> 52:00.000
und dann dementsprechend auf einen günstigen

52:00.000 --> 52:03.000
Engings raufballerst.

52:03.000 --> 52:05.000
Ja, ich hatte gerade überlegt,

52:05.000 --> 52:07.000
dass es eigentlich kein Problem gibt,

52:07.000 --> 52:09.000
wenn es in der gleichen Codebase ist

52:09.000 --> 52:11.000
versus im gedrennten Repository.

52:11.000 --> 52:13.000
Aber eigentlich sehe ich da gar kein Problem,

52:13.000 --> 52:15.000
weil man braucht einen gesonderten Befehl.

52:15.000 --> 52:17.000
Und wenn man das Glück hat,

52:17.000 --> 52:20.000
jetzt auf View und Historischung gesetzt zu haben,

52:20.000 --> 52:24.000
kann man auch beides einfach mit Weed weiter bearbeiten.

52:24.000 --> 52:27.000
Das bringt mich auch zum nächsten Punkt.

52:27.000 --> 52:32.000
Was ist 2022 auch ganz groß passiert?

52:32.000 --> 52:35.000
Da war TurboPack.

52:35.000 --> 52:40.000
Und das war ja so viel schneller als Weed hieß es.

52:40.000 --> 52:46.000
Und daher wieder die Blick in deine Kugel.

52:46.000 --> 52:49.000
Geht da jemand, was ist mit Webpack?

52:49.000 --> 52:51.000
Gibt es Roll-up eigentlich noch?

52:51.000 --> 52:53.000
Die anderen Parcel habe ich vergessen.

52:53.000 --> 52:56.000
Aber fokussieren wir uns mal auf TurboPack

52:56.000 --> 52:59.000
versus Webpack versus Weed.

52:59.000 --> 53:02.000
Gewinnt da jemand?

53:02.000 --> 53:04.000
Weiß ich nicht, ob da jemand gewinnt.

53:04.000 --> 53:06.000
Ich glaube, da haben schon einige gewonnen.

53:06.000 --> 53:08.000
Also Weed hat definitiv die letzten Jahre gewonnen

53:08.000 --> 53:10.000
an Popularität.

53:10.000 --> 53:12.000
Das ist außer Frage.

53:12.000 --> 53:15.000
TurboPack, weiß ich nicht, kam jetzt daher,

53:15.000 --> 53:18.000
fährt natürlich diesen, hey, ich baue das Tooling

53:18.000 --> 53:20.000
mit Rust lang, diesen Zugfahren,

53:20.000 --> 53:23.000
den halt auch dementsprechend Rome fährt.

53:23.000 --> 53:26.000
Rome ist mal eine andere Baustelle.

53:26.000 --> 53:30.000
Aber der neue Trend ist, hey, ich baue halt mein Tooling,

53:30.000 --> 53:32.000
nicht mehr mit JavaScript.

53:32.000 --> 53:35.000
Das war mal cool gewesen am Anfang, weil viele das verstanden haben.

53:35.000 --> 53:39.000
Aber jetzt baue ich halt einfach einen Rust lang dementsprechend.

53:39.000 --> 53:41.000
Das ist das Performante.

53:41.000 --> 53:45.000
Und dann sagt man halt einfach auch, TurboPack ist halt nur optimal.

53:45.000 --> 53:48.000
Also das ist ja diese Augenwischerei bei TurboPack.

53:48.000 --> 53:51.000
So, ja, wir haben jetzt ein Problem gelöst für Next.js.

53:51.000 --> 53:53.000
Hooray, schön, freut mich, super.

53:53.000 --> 53:55.000
Theoretisch halt auch für andere.

53:55.000 --> 54:00.000
Aber praktisch ist es halt immer noch nicht so weit wie ein Wied.

54:00.000 --> 54:02.000
Wir wissen alle, wenn wir Wied verfolgt haben,

54:02.000 --> 54:05.000
die letzten zwei Jahre ist einiges passiert in dem Bereich.

54:05.000 --> 54:07.000
Und das hat TurboPack noch vor sich.

54:07.000 --> 54:11.000
Und ich erinnere mich noch auf Twitter, diese Tweets von Avenue,

54:11.000 --> 54:13.000
der dann angefangen hat, Tests zu fahren, Vengemarks.

54:13.000 --> 54:15.000
Und den hat das so ein bisschen nicht gewurmt.

54:15.000 --> 54:17.000
Der war einfach neugierig.

54:17.000 --> 54:19.000
Das ist halt die Art von Avenue.

54:19.000 --> 54:21.000
Er sieht irgendwas, findet das cool.

54:21.000 --> 54:23.000
Und das mag ich auch so an ihm.

54:23.000 --> 54:25.000
So fachlich sachlich bleibt an der Stelle.

54:25.000 --> 54:28.000
Und dann wirklich sagt, okay, lass mal gucken, wie schnell ist es denn?

54:28.000 --> 54:30.000
Und wenn, was kann ich davon lernen?

54:30.000 --> 54:32.000
Und dann kommt auf einmal irgendwie raus.

54:32.000 --> 54:37.000
Na ja, ist es ja eigentlich so gesehen doch nicht wirklich schneller an der Stelle als Wied.

54:37.000 --> 54:44.000
Beziehungsweise Wied könnte ähnliche Dinge adaptieren von diesem TurboPack.

54:44.000 --> 54:49.000
Ja, und ja, also ich glaube für Next.js ist das ein absoluter Gewinn.

54:49.000 --> 54:51.000
Deswegen wird TurboPack definitiv bleiben.

54:51.000 --> 54:54.000
Wie sie es noch weiterentwickelt, muss man jetzt einfach verfolgen.

54:54.000 --> 54:56.000
Wenn ich gesehen habe, kann man das so...

54:56.000 --> 54:59.000
Wenn ich also Evan richtig verstanden hat, könnte man es in Kombination machen,

54:59.000 --> 55:03.000
dass man quasi TurboPack in Wied unter der Haube laufen lässt,

55:03.000 --> 55:05.000
wenn ich das richtig interpretiert hatte.

55:05.000 --> 55:07.000
Also von daher muss man mal schauen.

55:07.000 --> 55:09.000
Also man kann nur davon gewinnen, oder die Webbranche kann nur davon gewinnen,

55:09.000 --> 55:12.000
dass man sagt, okay, Webpack.

55:12.000 --> 55:18.000
Und das ist halt leider so dieser Kälch, der der Technologie nach und nach gereicht wird.

55:18.000 --> 55:22.000
Nämlich dieser Technologie, dass, ja, danke, dass du uns geholfen hast all die Jahre,

55:22.000 --> 55:24.000
aber jetzt ist dein Zenit überschritten.

55:24.000 --> 55:26.000
So, jQuery, Webpack.

55:26.000 --> 55:28.000
Das passiert halt gerade mit Webpack.

55:28.000 --> 55:33.000
Webpack wird halt abgelöst durch Lösungen wie Wied, TurboPack und so weiter und so fort.

55:33.000 --> 55:36.000
Und wird halt irgendwann in ein paar Jahren...

55:36.000 --> 55:40.000
Sitzen wir wieder da und sagen so, jetzt kommt der alte Senior,

55:40.000 --> 55:45.000
oder die alte Senior Developerin und erzählt dann dementsprechend die Geschichten von Webpack.

55:45.000 --> 55:48.000
Ja, so in zehn Jahren oder so, was sich keiner mehr daran erinnert

55:48.000 --> 55:51.000
von der jüngeren Generation an der Stelle.

55:51.000 --> 55:59.000
Kurze Frage, ist TurboPack das, was quasi vom Webpack-Macher jetzt als Nächstes gemacht wird?

55:59.000 --> 56:00.000
War das das?

56:00.000 --> 56:03.000
Oder der macht da auch jetzt irgendwas Neues, oder?

56:03.000 --> 56:04.000
Das war das, ne?

56:04.000 --> 56:05.000
Ja, okay.

56:05.000 --> 56:08.000
Also ist ja so, dass da wieder auch eine Kampagne dahinter steckt,

56:08.000 --> 56:10.000
mit einem Interesse bei TurboPack.

56:10.000 --> 56:12.000
Und dementsprechend ist da wieder...

56:12.000 --> 56:15.000
Und jetzt ja bei Wörsell...

56:15.000 --> 56:18.000
Genau, Wörsell hat ja einige Leute eingestellt, sagen wir mal so, Rich Harris von Svelte,

56:18.000 --> 56:23.000
also das Wachstum von Svelte, kommt halt auch nicht nur daher,

56:23.000 --> 56:27.000
dass wenig Geld geflossen ist, sondern da ist natürlich ein Interesse daran,

56:27.000 --> 56:29.000
das Produkt wird schneller vorangetrieben und entwickelt,

56:29.000 --> 56:31.000
das bleibt trotzdem Open Source.

56:31.000 --> 56:36.000
Und Wörsell, wissen wir alle, hat da ein großes Interesse einfach daran auch,

56:36.000 --> 56:40.000
dadurch ihre eigenen Produkte weiter voranzutreiben

56:40.000 --> 56:42.000
und natürlich auch ein gewisse...

56:42.000 --> 56:44.000
Ja, ich will es jetzt nicht als Bad Company nachstellen,

56:44.000 --> 56:47.000
ganz zum Gegenteil, aber trotzdem ist es halt schon so,

56:47.000 --> 56:51.000
dass die natürlich ein Interesse daran haben, auch Open Source Software voranzutreiben

56:51.000 --> 56:54.000
und zu ownen, eine gewisse Relevanz auch einfach zu haben,

56:54.000 --> 56:55.000
und mit sprechen zu können.

56:55.000 --> 56:58.000
Das passiert bei Nächstes gerade, das passiert mit TurboPack.

56:58.000 --> 57:00.000
Und wie du gesagt hast, es werden halt einige Developer eingestellt.

57:00.000 --> 57:05.000
Das ist überhaupt nichts Verwerfliches, so funktioniert halt die Marktwirtschaft auch mitunter.

57:05.000 --> 57:09.000
Und von daher ist es gut, dass die Technik viel schneller vorangetrieben werden kann.

57:09.000 --> 57:12.000
Die Frage ist halt nur, wie die freie Open Source Welt,

57:12.000 --> 57:14.000
ich nenne sie jetzt mal die freie Open Source Welt,

57:14.000 --> 57:17.000
klingt ein bisschen wie bei Game of Thrones oder so, die freien Völker,

57:17.000 --> 57:21.000
aber was die davon haben, was die davon lernen können,

57:21.000 --> 57:25.000
und ich glaube, das ist noch ein Geben und nehmen auf Augenhöhe an der Stelle.

57:25.000 --> 57:28.000
Ja.

57:28.000 --> 57:31.000
Du hattest jetzt gerade noch Rome erwähnt?

57:31.000 --> 57:33.000
Ja, genau.

57:33.000 --> 57:36.000
Können wir kurz zurückspulen, was ist Rome?

57:36.000 --> 57:37.000
Genau.

57:37.000 --> 57:38.000
Was macht das?

57:38.000 --> 57:41.000
Rome ist der Anlass, also wir kennen dieser ganze Zoo,

57:41.000 --> 57:45.000
die man sich da so auf so einer Festplatte hinlegt,

57:45.000 --> 57:49.000
in seinen Orten, ein Projektordner, ESLint,

57:49.000 --> 57:54.000
dann fangen wir mal weiter vorne an.

57:54.000 --> 57:57.000
Wenn man mit der Create React App arbeitet,

57:57.000 --> 58:00.000
oder mit Weed, oder mit der Fuse-Cli,

58:00.000 --> 58:03.000
oder mit irgendwelchen Scar-Folding-Tools,

58:03.000 --> 58:05.000
es ist ja mehr als ein Scar-Folding-Tool,

58:05.000 --> 58:08.000
das sind ja quasi Tools, die quasi eine Konfiguration für Webpack

58:08.000 --> 58:10.000
oder für Weed dahingestellt haben,

58:10.000 --> 58:13.000
und die garantiert, dass das alles zusammenspielt.

58:13.000 --> 58:16.000
Das sind allen einzelnen Plug-ins, die da irgendeineinander greifen,

58:16.000 --> 58:21.000
und bei Rome ist es so, dass diese ganzen Tools, die man dafür braucht,

58:21.000 --> 58:24.000
in Rome selbst quasi vereint sind.

58:24.000 --> 58:30.000
Es ist quasi ein Tool, was nicht mehr diese Zoo-Landschaft auf einmal darstellt.

58:30.000 --> 58:33.000
Ist nicht mehr so, dass du sagen musst, ich habe jetzt mal ein Webpack,

58:33.000 --> 58:35.000
und dann muss ich erst mal 12.000 Module installieren,

58:35.000 --> 58:38.000
und dafür eigene Regeln schreiben und so weiter und so fort,

58:38.000 --> 58:42.000
sondern ich habe halt Rome, und Rome macht das alles,

58:42.000 --> 58:46.000
und zwar performant und aus einem Guss.

58:46.000 --> 58:53.000
Also quasi, dass Angular unter den Webprojektinfrastrukturen

58:53.000 --> 58:58.000
gegenüber dem React, wo man sich einfach seine Teile ja zusammensuchen muss.

58:58.000 --> 59:00.000
Ja, wobei auch bei Angular das Ding ja ist,

59:00.000 --> 59:04.000
dass wir auch wieder eigene Teile da drin irgendwie zusammenkonfiguriert sind,

59:04.000 --> 59:06.000
so TypeScript zum Beispiel.

59:06.000 --> 59:09.000
Bei Rome ist es eher so, ja, kann man das so sagen,

59:09.000 --> 59:13.000
doch bei Rome ist es eher so, dass da...

59:13.000 --> 59:15.000
Ja, vielleicht ist es der Vergleich mit Angular.

59:15.000 --> 59:17.000
Habe ich so noch nicht drüber nachgedacht?

59:17.000 --> 59:20.000
Jetzt muss ich gerade kurz drüber nachdenken, und finde ihn gar nicht so...

59:20.000 --> 59:22.000
Aber im Prinzip alles aus einer Hand.

59:22.000 --> 59:23.000
Ja, genau.

59:23.000 --> 59:26.000
Du hast recht, bei Angular TypeScript kommt er ja nicht von denen,

59:26.000 --> 59:32.000
und hier auch, wie heißt das, egal das Statement-Management-Dings,

59:32.000 --> 59:36.000
das ist doch hier auch vergessen, den Namen vergessen,

59:36.000 --> 59:38.000
aber kommt ja auch nicht von denen ursprünglich.

59:38.000 --> 59:40.000
Genau, ich kann noch RXJS, kann ich da noch?

59:40.000 --> 59:41.000
Ja, genau.

59:41.000 --> 59:42.000
Genau, ja.

59:42.000 --> 59:47.000
Und genau, das kommt ja von Microsoft, mit RXJS dementsprechend.

59:47.000 --> 59:50.000
Genau, kann man das ja auch von anderen Projekten einsetzen, aber ja,

59:50.000 --> 59:53.000
es geht halt in diese Richtung, dass man mit Rome halt wirklich sagt,

59:53.000 --> 59:56.000
so, hey, dieser ganze Irrsinn mit diesen ganzen Compilern,

59:56.000 --> 01:00:00.000
ja, diesen einzelnen Compilern, die da umschwören und irgendwas machen,

01:00:00.000 --> 01:00:03.000
oder diesen einzelnen Servern, der muss einen Ende haben,

01:00:03.000 --> 01:00:08.000
und dementsprechend ist Rome halt quasi das eine Tool, was das alles kann,

01:00:08.000 --> 01:00:11.000
und nicht ein Tool, was konfiguriert werden muss.

01:00:11.000 --> 01:00:13.000
Ja, und zwar mit...

01:00:13.000 --> 01:00:18.000
Ja, jeder, der schon mal versucht hat, irgendwie ein View- oder React-Projekt aufzusetzen,

01:00:18.000 --> 01:00:23.000
ohne diese Create-React-App, oder ohne die View-Style,

01:00:23.000 --> 01:00:28.000
oder ohne Veed, der weiß, also mit dem Presets oder dem Scarf Holding,

01:00:28.000 --> 01:00:29.000
der weiß, was das bedeutet.

01:00:29.000 --> 01:00:31.000
Ja, das ist einfach viel Arbeit.

01:00:31.000 --> 01:00:32.000
Ich erinnere mich immer noch gerne daran,

01:00:32.000 --> 01:00:35.000
hatte ich das letzte Mal, als ich bei euch zu Gast war, auch erzählt,

01:00:35.000 --> 01:00:38.000
ich wollte einfach nur Jest-Tests in einem JavaScript-Projekt laufen lassen,

01:00:38.000 --> 01:00:42.000
und das mit ECMAScript-Imports, also mit JavaScript-Modules.

01:00:42.000 --> 01:00:44.000
Und dann ging diese ganze Odyssee los, ja,

01:00:44.000 --> 01:00:47.000
dieses ganze Jagd-Shaving, was dann da passiert ist.

01:00:47.000 --> 01:00:50.000
So, ich hatte wirklich am Ende das ganze Tier gefühlt rasiert gehabt,

01:00:50.000 --> 01:00:52.000
bis ich das im Laufen gebracht hatte, ist jetzt übertrieben.

01:00:52.000 --> 01:00:54.000
Aber das würde dann passieren.

01:00:54.000 --> 01:00:59.000
Und deswegen ist dementsprechend Rome nochmal eine Alternative zu so einem...

01:00:59.000 --> 01:01:05.000
Weil Vanessa das eben meinte, hier mit Parcel, diese Zero-Configuration-Bundler,

01:01:05.000 --> 01:01:08.000
die hatten ja auch schon versucht gehabt, Komplexität rauszunehmen.

01:01:08.000 --> 01:01:13.000
Aber trotzdem ist Rome dann nochmal ein Tool,

01:01:13.000 --> 01:01:18.000
was want to rule them all quasi, könnte man sagen, ja, genau.

01:01:18.000 --> 01:01:20.000
Und vor allem folgt es ja auch hier dem Trend,

01:01:20.000 --> 01:01:23.000
in Rust geschrieben worden zu sein.

01:01:23.000 --> 01:01:25.000
Aber da wir jetzt schon mehrfach mal hier erwähnt werden,

01:01:25.000 --> 01:01:29.000
und das ist dann Performante, weil Rust ist Performante als JavaScript generell,

01:01:29.000 --> 01:01:31.000
das ist jetzt mal eine Tatsache.

01:01:31.000 --> 01:01:37.000
Aber da gab es jetzt gerade vom guten Monat

01:01:37.000 --> 01:01:42.000
einen ziemlich interessanten Artikel vom Marvin Hagemeister,

01:01:42.000 --> 01:01:46.000
der ja auch für Faust Project sehr bekannt ist.

01:01:46.000 --> 01:01:51.000
Und der Artikel hat sich darüber beschäftigt,

01:01:51.000 --> 01:01:56.000
wie man jetzt eigentlich das JavaScript-Ökosystem eben mal verschnellern könnte,

01:01:56.000 --> 01:01:59.000
weil er meinte, okay, jetzt wird nichts gegen Rust,

01:01:59.000 --> 01:02:04.000
aber jetzt wird gerade Rust-Tooling so gehypt für JavaScript-Webseiten.

01:02:04.000 --> 01:02:08.000
Aber es müsste nicht so langsam sein im JavaScript-Bereich,

01:02:08.000 --> 01:02:11.000
es wird wahrscheinlich nie daran kommen können.

01:02:11.000 --> 01:02:15.000
Aber es gibt da wohl einige Low-Hanging-Fruits,

01:02:15.000 --> 01:02:19.000
die man in NPM-Packages einfach mal wechseln könnte.

01:02:19.000 --> 01:02:23.000
Und dann würden da schon teilweise Sekunden eingespart werden können beim Bilden.

01:02:23.000 --> 01:02:25.000
Und wenn wir jetzt einfach mal grob überschlagen,

01:02:25.000 --> 01:02:31.000
wir könnten eine Sekunde pro Tool, Linter, Pretier, was auch immer sparen können,

01:02:31.000 --> 01:02:37.000
dann hätte man vielleicht bei unseren Trollstausentool schon dreiftausend Sekunden gespart.

01:02:37.000 --> 01:02:41.000
Was ich einen guten Ansichtspunkt auch noch mal finde,

01:02:41.000 --> 01:02:44.000
um dem Ganzen nochmal einen anderen Blickwinkel zu geben.

01:02:44.000 --> 01:02:48.000
Den verlinken wir natürlich auch an den Show-Notes.

01:02:48.000 --> 01:02:51.000
Und ich möchte mich auch bedanken an dieser Stelle bei Stefan Jules,

01:02:51.000 --> 01:02:54.000
weil ich habe es durch seinen Newsletter gesehen.

01:02:54.000 --> 01:02:56.000
So.

01:02:56.000 --> 01:02:59.000
Das ist interessant, weil ich um einen Haken darf an der Stelle.

01:02:59.000 --> 01:03:01.000
Weil ich meine, man muss immer gucken,

01:03:01.000 --> 01:03:04.000
woher kommt das eigentlich, dass man auf einmal das mit Rust baut?

01:03:04.000 --> 01:03:07.000
Also, ich stelle jetzt mal die These auf.

01:03:07.000 --> 01:03:09.000
Das hat ein bisschen was mit dem Erfinder von Node.js zu tun,

01:03:09.000 --> 01:03:14.000
der angefangen hat, Dino als Alternative für Node zu bauen.

01:03:14.000 --> 01:03:18.000
Mit seinem Alter einen Wissen, was er aus seinem Ansicht nicht falsch gemacht hat,

01:03:18.000 --> 01:03:20.000
sondern was er einfach besser machen würde.

01:03:20.000 --> 01:03:22.000
Und hat dann angefangen, das Ding halt mit Rust zu bauen.

01:03:22.000 --> 01:03:26.000
Und ich weiß nicht, ob das daher rührt, aber auch da die Erkenntnis,

01:03:26.000 --> 01:03:30.000
naja, was bringt uns jetzt dieser Switch auf eine komplett andere Technologie,

01:03:30.000 --> 01:03:32.000
wenn die ganzen Packages nicht mehr nutzen könnten?

01:03:32.000 --> 01:03:34.000
Und ich meine, das ist ein Riesen-Ökosystem.

01:03:34.000 --> 01:03:36.000
Was schmeißt man das in die Mülltonne? Ja, bestimmt nicht.

01:03:36.000 --> 01:03:38.000
Und das ist gerade auch die Challenge, glaube ich, wo Sie sagen.

01:03:38.000 --> 01:03:40.000
Welch zählt das auch so ein bisschen?

01:03:40.000 --> 01:03:43.000
Also, ich werde auf jeden Fall den Artikel mir durchlesen,

01:03:43.000 --> 01:03:46.000
den du gerade auch da empfohlen hast, Vanessa,

01:03:46.000 --> 01:03:48.000
weil das mich einfach auch interessiert.

01:03:48.000 --> 01:03:52.000
Da geht es ja auch um diesen Ansatz bei Dino und bei Bann.

01:03:52.000 --> 01:03:56.000
Das ist auch jetzt nochmal so eine andere Alternative dann dementsprechend zu Node,

01:03:56.000 --> 01:03:58.000
wie man diese Node Packages laufen lassen kann.

01:03:58.000 --> 01:04:02.000
Und bei Bann, wenn ich das richtig verstanden habe,

01:04:02.000 --> 01:04:06.000
ist das ja auf jeden Fall möglich, diese Node Packages dann dementsprechend weiterzunutzen.

01:04:06.000 --> 01:04:09.000
Und bei Dino, glaube ich, auch mittlerweile.

01:04:09.000 --> 01:04:12.000
So, und da bin ich mal gespannt, wie sich das weiterentwickelt.

01:04:12.000 --> 01:04:15.000
Dieses, ja, wir schmeißen nicht das ganze Ökosystem weg

01:04:15.000 --> 01:04:18.000
und vielleicht dadurch, dass wir Pakete optimieren,

01:04:18.000 --> 01:04:20.000
wird das halt dann dementsprechend auch schneller.

01:04:20.000 --> 01:04:23.000
Also, ja, es ist halt Zeit,

01:04:23.000 --> 01:04:26.000
wir wollen ja nicht irgendwann enden wie im Java-Bereich,

01:04:26.000 --> 01:04:28.000
wir wollen ja keinen Bash gegen die Java-Welt,

01:04:28.000 --> 01:04:32.000
aber wir wissen alle, Java braucht manchmal ein bisschen bis es fertig ist

01:04:32.000 --> 01:04:34.000
dann mit dem fertigen Increment.

01:04:34.000 --> 01:04:36.000
Und das möchte man eigentlich vermeiden.

01:04:36.000 --> 01:04:38.000
Das wollte ich noch hinzugefügt haben.

01:04:41.000 --> 01:04:44.000
Um jetzt das Spanning-Thema und Hooling-Thema abzuschließen,

01:04:44.000 --> 01:04:47.000
wir meinten, TurboPak und Veed,

01:04:47.000 --> 01:04:49.000
beide sind sehr interessant,

01:04:49.000 --> 01:04:51.000
aber wer jetzt gerade alles auf Veed migriert hat,

01:04:51.000 --> 01:04:54.000
der muss jetzt vielleicht nicht unbedingt alles auf TurboPak migrieren,

01:04:54.000 --> 01:04:56.000
man kann es weiter beobachten.

01:04:56.000 --> 01:05:01.000
Aber bei Veed-Pak vielleicht tatsächlich die Zeit kommen,

01:05:01.000 --> 01:05:05.000
dass man sich bedankt und nicht, also wirklich,

01:05:05.000 --> 01:05:07.000
ich meine, es war ja großartig für,

01:05:07.000 --> 01:05:09.000
ich meine, es hat großartige Probleme gelöst.

01:05:09.000 --> 01:05:11.000
Das soll es gar nicht sarkastisch klingen,

01:05:11.000 --> 01:05:14.000
aber heutzutage würde man wahrscheinlich

01:05:14.000 --> 01:05:17.000
tatsächlich kein neues Projekt mit dabei anfangen.

01:05:17.000 --> 01:05:19.000
Da fällt mir ein anderes Thema ein,

01:05:19.000 --> 01:05:21.000
unser außer CSS-Welt.

01:05:21.000 --> 01:05:25.000
Und zwar hatte ich tatsächlich leider

01:05:25.000 --> 01:05:28.000
Vorurteile gegen Bootstrap jetzt eine ganze Zeit lang,

01:05:28.000 --> 01:05:32.000
nachdem ich Bootstrap nur so aus den Anfangszeiten kannte.

01:05:32.000 --> 01:05:35.000
Und das war die Zeit von, oh, guck mal,

01:05:35.000 --> 01:05:37.000
yet another Bootstrap-Web-Seite,

01:05:37.000 --> 01:05:38.000
schaut wieder so aus,

01:05:38.000 --> 01:05:40.000
hat wieder dieser gleichen blauen Button,

01:05:40.000 --> 01:05:41.000
mit dem gleichen blauen Padding,

01:05:41.000 --> 01:05:43.000
mit dem gleichen blauen Border-Radius.

01:05:43.000 --> 01:05:46.000
Und da bin ich dann auf jeden Fall

01:05:46.000 --> 01:05:48.000
vor Jahren eben schon weggegangen,

01:05:48.000 --> 01:05:50.000
weil meine Projekte dafür nicht ausgelegt waren,

01:05:50.000 --> 01:05:53.000
also ich brauchte deutlich mehr Custom-Design.

01:05:53.000 --> 01:05:55.000
Und bin so an Grenzen gestoßen,

01:05:55.000 --> 01:05:57.000
dass ich aber auch das Gefühl hatte,

01:05:57.000 --> 01:06:00.000
ich kann Bootstrap nicht mal so under the hood verwenden,

01:06:00.000 --> 01:06:03.000
sondern irgendwie steht mir hier immer dann alles im Weg.

01:06:03.000 --> 01:06:05.000
Habe jetzt aber in den letzten Monaten

01:06:05.000 --> 01:06:07.000
immer und immer wieder eigentlich nur,

01:06:07.000 --> 01:06:10.000
wer positiv es gehört und so nach dem Motto,

01:06:10.000 --> 01:06:13.000
aber das was Tavern kann, also gerade diese Utility-Klassen,

01:06:13.000 --> 01:06:16.000
bietet Bootstrap mittlerweile auch an.

01:06:16.000 --> 01:06:19.000
Und das Bootstrap scheint einfach nicht gehen zu wollen.

01:06:19.000 --> 01:06:23.000
Und tschau da wieder deine Frage an deine Kugel.

01:06:23.000 --> 01:06:27.000
Ist Bootstrap was, was man auf dem Schirm habe sollte,

01:06:27.000 --> 01:06:30.000
oder vielleicht sogar extra jetzt nochmal genauer hinschauen sollte,

01:06:30.000 --> 01:06:34.000
ob man nicht wieder dahin mal wieder mitkriegen möchte?

01:06:34.000 --> 01:06:35.000
Da muss ich gerade aufpassen,

01:06:35.000 --> 01:06:38.000
dass meine persönlichen Vorlieben jetzt nicht irgendwie

01:06:38.000 --> 01:06:43.000
eine neutrale Meinung verschmelzen lassen.

01:06:43.000 --> 01:06:46.000
Also ich sag mal so, Bootstrap selbst

01:06:46.000 --> 01:06:50.000
ist halt sehr oft eingesetzt.

01:06:50.000 --> 01:06:52.000
Es kann sehr viel.

01:06:52.000 --> 01:06:54.000
Ich würde jetzt nicht 100% zustimmen,

01:06:54.000 --> 01:06:58.000
dass es genauso vom eingesetzt werden kann wie Tailwind.

01:06:58.000 --> 01:07:00.000
Vielleicht ist es möglich in der Stelle.

01:07:00.000 --> 01:07:04.000
Aber ich sag mal so, für mich, ich bin sehr erstaunt,

01:07:04.000 --> 01:07:07.000
dass es Bootstrap überhaupt noch gibt, muss ich ehrlich sagen.

01:07:07.000 --> 01:07:09.000
Ich hätte gedacht, ehrlich gesagt,

01:07:09.000 --> 01:07:12.000
wir sind jetzt glaube ich bei Version 5 von Bootstrap.

01:07:12.000 --> 01:07:13.000
Richtig ist es richtig.

01:07:13.000 --> 01:07:17.000
Ja, ich glaube, ja, ich glaube bei Version 5

01:07:17.000 --> 01:07:18.000
müssten wir glaube ich sein.

01:07:18.000 --> 01:07:20.000
Und ich dachte es inzwischen zeitlich so, ja,

01:07:20.000 --> 01:07:22.000
SCSS, das macht ja auch keiner mehr,

01:07:22.000 --> 01:07:23.000
aber das stimmt ja nicht,

01:07:23.000 --> 01:07:25.000
nur weil ich das nicht mehr nutze

01:07:25.000 --> 01:07:28.000
und seit Jahren Richtung Post-CSS gewandert bin,

01:07:28.000 --> 01:07:29.000
auch schon vor Tailwind,

01:07:29.000 --> 01:07:31.000
und damit habe ich auch schon gespoilert,

01:07:31.000 --> 01:07:34.000
was meine Referenz ist.

01:07:34.000 --> 01:07:41.000
Ich glaube Bootstrap wird primär noch für,

01:07:41.000 --> 01:07:43.000
ich weiß nicht, ob es zum Applikationsbereich noch eingesetzt wird.

01:07:43.000 --> 01:07:46.000
Also wenn ich überlege auch im React-Bereich

01:07:46.000 --> 01:07:47.000
oder im Angular-Bereich,

01:07:47.000 --> 01:07:48.000
setzt man da noch Bootstrap ein.

01:07:48.000 --> 01:07:50.000
Ehrlich gesagt, ich glaube, das Material Design

01:07:50.000 --> 01:07:52.000
hat die Schlacht gewonnen, um ehrlich zu sein.

01:07:52.000 --> 01:07:56.000
Macht auf mich meistens auch den besseren Eindruck so.

01:07:56.000 --> 01:08:00.000
Und von daher persönlich glaube ich,

01:08:00.000 --> 01:08:05.000
dass die Utility First Libraries das Rennen machen werden.

01:08:05.000 --> 01:08:07.000
Sie lösen zwar auch nicht alle Probleme

01:08:07.000 --> 01:08:08.000
und schaffen neue,

01:08:08.000 --> 01:08:11.000
darf man jetzt nicht sagen, hey Tailwind,

01:08:11.000 --> 01:08:12.000
meine Probleme sind gegangen,

01:08:12.000 --> 01:08:14.000
nein, ich habe jetzt neue,

01:08:14.000 --> 01:08:16.000
drei Fehler gefixt,

01:08:16.000 --> 01:08:18.000
vier neue sind da gefühlt,

01:08:18.000 --> 01:08:20.000
das könnte auch da passieren.

01:08:20.000 --> 01:08:22.000
Aber letztlich, sage ich mal,

01:08:22.000 --> 01:08:23.000
so ein Komponenten getriebener

01:08:23.000 --> 01:08:25.000
und Entwicklungsumgebung,

01:08:25.000 --> 01:08:27.000
ist Tailwind halt wesentlich flexibler gefühlt

01:08:27.000 --> 01:08:31.000
oder dass man Tailwind Außen For Utility First Produkte.

01:08:31.000 --> 01:08:34.000
Und deswegen würde ich seit 2023

01:08:34.000 --> 01:08:35.000
gar nicht mehr so sagen,

01:08:35.000 --> 01:08:37.000
das Bootstrap noch eine Relevanz,

01:08:37.000 --> 01:08:40.000
die hat vielleicht bei Theme Forest,

01:08:40.000 --> 01:08:43.000
weil viele ihre Themes erstellt haben

01:08:43.000 --> 01:08:45.000
mit Bootstrap, weil es schnell anpassbar ist.

01:08:45.000 --> 01:08:47.000
Und weil man auch beim SCSS-Bereich

01:08:47.000 --> 01:08:49.000
so die Kurve nochmal gekriegt hat,

01:08:49.000 --> 01:08:52.000
mit dem Einsatz von Custom Properties

01:08:52.000 --> 01:08:54.000
und so weiter und so fort.

01:08:54.000 --> 01:08:57.000
Ja, also ich würde die Reherrichtung,

01:08:57.000 --> 01:08:59.000
ich würde erst die Karte

01:08:59.000 --> 01:09:03.000
bei Material Design getriebenen Komponenten Libraries sehen,

01:09:03.000 --> 01:09:05.000
auch weil sie flexibel aufgestellt sind.

01:09:05.000 --> 01:09:08.000
Sie wissen nicht abhängig von einem Anbieter.

01:09:08.000 --> 01:09:09.000
Und da hast du wieder das Problem,

01:09:09.000 --> 01:09:11.000
was du vorhin angesprochen hast, Vanessa.

01:09:11.000 --> 01:09:14.000
Bootstrap ist ja erstmal losgelöst

01:09:14.000 --> 01:09:17.000
von einem JavaScript Framework so gesehen.

01:09:17.000 --> 01:09:19.000
Und dann wird halt wieder migriert.

01:09:19.000 --> 01:09:22.000
Also diese Bootstrap, Library,

01:09:22.000 --> 01:09:24.000
dieser Grundansatz wird dann migriert

01:09:24.000 --> 01:09:25.000
nach React, Views, Welt.

01:09:25.000 --> 01:09:27.000
Und überall funktioniert es anders,

01:09:27.000 --> 01:09:30.000
überall sind nicht alle Komponenten verfügbar.

01:09:30.000 --> 01:09:32.000
Und das finde ich ist bei Material

01:09:32.000 --> 01:09:33.000
ein bisschen besser gelöst,

01:09:33.000 --> 01:09:34.000
weil man mehr Auswahl hat.

01:09:34.000 --> 01:09:37.000
Es gibt halt mehr Anbieter, die quasi diesen Ansatz verfolgen.

01:09:37.000 --> 01:09:40.000
Ja, das ist auf jeden Fall das,

01:09:40.000 --> 01:09:42.000
was ich persönlich darüber denke.

01:09:42.000 --> 01:09:45.000
Ja, jetzt gegen Argument hatte ich dann immer nur,

01:09:45.000 --> 01:09:49.000
dass wir doch nicht alle ständig hübsche UIs bauen,

01:09:49.000 --> 01:09:53.000
sondern vielleicht auch einfach mal die fertigen UIs brauchen

01:09:53.000 --> 01:09:55.000
für Internet Tools und etc.

01:09:55.000 --> 01:09:57.000
Oder Datenanalyse Tools,

01:09:57.000 --> 01:09:59.000
wo es ja wirklich darum geht, sich darauf zu fokussieren,

01:09:59.000 --> 01:10:01.000
Daten gut aufzubereiten,

01:10:01.000 --> 01:10:04.000
als ob jetzt der Button in einem richtigen Design ist.

01:10:04.000 --> 01:10:07.000
Aber da war dann eben auch mein nächster Gedanke,

01:10:07.000 --> 01:10:10.000
ist dafür dann Bootstrap nicht wiederum so groß.

01:10:10.000 --> 01:10:13.000
Also hat es dann wieder nicht eine große Lernkurve.

01:10:13.000 --> 01:10:16.000
Und würde ich da vielleicht nicht eher eine Komponentenbibliothek

01:10:16.000 --> 01:10:19.000
oder CSS-Bibliothek verwenden, die deutlich kleiner wäre.

01:10:19.000 --> 01:10:21.000
Ich würde es furchtbar gern wissen.

01:10:21.000 --> 01:10:23.000
Deswegen hoffe ich, dass wir irgendwelche höherer und höherer

01:10:23.000 --> 01:10:25.000
Rennen haben, die mir sagen, so nach dem Motto,

01:10:25.000 --> 01:10:28.000
ich tue hier so krumm, als wäre jQuery und PHP tot,

01:10:28.000 --> 01:10:30.000
aber ungefähr 98 Prozent des Webs

01:10:30.000 --> 01:10:32.000
bauen darauf.

01:10:32.000 --> 01:10:34.000
Ich würde super gerne darüber hören,

01:10:34.000 --> 01:10:37.000
ob noch jemand so richtig viel Bootstrap schreibt.

01:10:37.000 --> 01:10:39.000
Das kann ich dir tatsächlich sogar beantworten an der Stelle,

01:10:39.000 --> 01:10:42.000
weil ich noch sehr viel zum PHP-Bereich Kontakt habe.

01:10:42.000 --> 01:10:44.000
Und ich weiß, zumindestens,

01:10:44.000 --> 01:10:46.000
ich habe sehr viel im KONTAO CMS,

01:10:46.000 --> 01:10:48.000
das ist ein aus dem Deutsch-Spreigenraum,

01:10:48.000 --> 01:10:50.000
stammt das CMS an,

01:10:50.000 --> 01:10:53.000
mag man teilen glaube ich von 6 Prozent im Deutsch-Spreigenraum.

01:10:53.000 --> 01:10:56.000
Da weiß ich, dass sehr viele Leute Bootstrap einsetzen

01:10:56.000 --> 01:10:59.000
und da eine Megaabhängigkeit auch teilweise entstanden ist,

01:10:59.000 --> 01:11:02.000
da werden ja ganze Plugins für gebaut, auch bei WordPress.

01:11:02.000 --> 01:11:06.000
Nur dass du Bootstrap für die Redaktionsoberfläche

01:11:06.000 --> 01:11:08.000
oder den Redakteuren zur Verfügung stellen kannst,

01:11:08.000 --> 01:11:10.000
dass sie verschiedene Crits aufbauen können und so.

01:11:10.000 --> 01:11:13.000
Und für mich ist das, muss ich ehrlich sagen,

01:11:13.000 --> 01:11:15.000
sorry to say, aber fast schon der technische Schuld,

01:11:15.000 --> 01:11:17.000
die da aufgebaut ist.

01:11:17.000 --> 01:11:22.000
Weil du bist halt krass in diesem Wendor gefangen an der Stelle.

01:11:22.000 --> 01:11:24.000
Ich glaube, da kommt man einfach nicht mehr raus,

01:11:24.000 --> 01:11:26.000
ohne dass man den Kunden,

01:11:26.000 --> 01:11:29.000
oder das muss man sagen, der Kunde bezahlt es ja am Ende.

01:11:29.000 --> 01:11:32.000
Also welcher Kunde bezahlt denn dafür, dass du jetzt sagst,

01:11:32.000 --> 01:11:34.000
hey Bootstrap, das macht man heute nicht mehr.

01:11:34.000 --> 01:11:36.000
Das müssen wir jetzt umbauen.

01:11:36.000 --> 01:11:38.000
Ach, das kostet übrigens 8.000 Euro.

01:11:38.000 --> 01:11:40.000
Das wird keiner machen.

01:11:42.000 --> 01:11:45.000
Ja, ja, ich renne wieder gerade ein Haus.

01:11:45.000 --> 01:11:48.000
Und wir missten eigentlich,

01:11:48.000 --> 01:11:50.000
da ist so eine Rauferasertapete seit,

01:11:50.000 --> 01:11:52.000
weiß ich nicht, wie vielen Jahren.

01:11:52.000 --> 01:11:54.000
Und die missten jetzt hier in ein paar Stellen

01:11:54.000 --> 01:11:56.000
besser werden und die Frage war,

01:11:56.000 --> 01:11:58.000
ich habe dann jetzt Angebot bekommen von,

01:11:58.000 --> 01:12:00.000
wir bessern hier so ein bisschen Ausschaut,

01:12:00.000 --> 01:12:02.000
dann natürlich ziemlich schlecht aus,

01:12:02.000 --> 01:12:04.000
weil dann siehst du halt, dass das ausgebessert wurde.

01:12:04.000 --> 01:12:06.000
Ja oder wir machen die ganze Tapeteabfall,

01:12:06.000 --> 01:12:08.000
schwachst dann die Wand neu,

01:12:08.000 --> 01:12:10.000
und die Preise gegeneinander waren so,

01:12:10.000 --> 01:12:13.000
lasst mal Bootstrap einfach behalten.

01:12:13.000 --> 01:12:15.000
Ja, genau so.

01:12:19.000 --> 01:12:22.000
Ja genau, vielleicht kriegen wir ja nochmal

01:12:22.000 --> 01:12:24.000
ein bisschen Input von den Hörerinnen und Hörern.

01:12:24.000 --> 01:12:26.000
Das wäre auf jeden Fall cool, genau.

01:12:26.000 --> 01:12:28.000
Also wie sieht es bei euch aus mit Bootstrap

01:12:28.000 --> 01:12:31.000
und Co. und vielleicht JQuery?

01:12:31.000 --> 01:12:34.000
So, wo nutzt ihr das noch?

01:12:34.000 --> 01:12:37.000
Oder nutzt ihr das auch alle nicht mehr?

01:12:37.000 --> 01:12:40.000
Entschuldigung, Vanessa.

01:12:41.000 --> 01:12:43.000
Um im CSS-Bereich zu bleiben,

01:12:43.000 --> 01:12:45.000
haben wir als nächste Stichwort,

01:12:45.000 --> 01:12:47.000
die Container Queries,

01:12:47.000 --> 01:12:50.000
die ich bisher irgendwie einfach vor mich hin ignoriere.

01:12:50.000 --> 01:12:53.000
Deswegen übergebe ich gleich an euch beide das Wort,

01:12:53.000 --> 01:12:56.000
um uns was noch über die Container Queries zu erzählen.

01:12:59.000 --> 01:13:02.000
Ja, ich beschäft bin, du möchtest, kannst du gerne.

01:13:02.000 --> 01:13:04.000
Sind gut.

01:13:04.000 --> 01:13:06.000
Werden noch nicht von allen Browsern unterstützt,

01:13:06.000 --> 01:13:10.000
kann man progressiv verbessern schon einsetzen,

01:13:10.000 --> 01:13:12.000
würde ich sagen.

01:13:12.000 --> 01:13:16.000
Ja und sind im Prinzip so der

01:13:16.000 --> 01:13:19.000
oder einer von wenigen fehlenden Bausteinen,

01:13:19.000 --> 01:13:22.000
um wirklich Komponenten basiert zu entwickeln.

01:13:22.000 --> 01:13:25.000
Also indem man einfach,

01:13:25.000 --> 01:13:27.000
indem man Media Queries hat,

01:13:27.000 --> 01:13:31.000
die eben nicht mehr den Viewport auf den Viewport abzielen,

01:13:31.000 --> 01:13:35.000
sondern eben auf einen beliebigen Container,

01:13:35.000 --> 01:13:37.000
den man selber definieren kann,

01:13:37.000 --> 01:13:39.000
in der Regel eben quasi die,

01:13:39.000 --> 01:13:42.000
der Außencontainer einer Komponente.

01:13:42.000 --> 01:13:45.000
Genau, und da kann man halt schöne Sachen machen.

01:13:45.000 --> 01:13:47.000
Also was man bisher nur mit SVG ist,

01:13:47.000 --> 01:13:50.000
konnte, dass man eben sagt, hey, die Schriftgröße

01:13:50.000 --> 01:13:53.000
nutzt Container Query Width,

01:13:53.000 --> 01:13:56.000
zum Beispiel also als Einheit,

01:13:56.000 --> 01:13:59.000
was im Prinzip das Gleiche ist wie Viewport Width,

01:13:59.000 --> 01:14:02.000
und dann kann man den Container kleiner und größer machen

01:14:02.000 --> 01:14:05.000
und die Schrift wächst eben quasi in gleichen Maße.

01:14:05.000 --> 01:14:08.000
Das ging ja bislang in CSS nicht,

01:14:08.000 --> 01:14:11.000
das hat man sich ja immer gewünscht,

01:14:11.000 --> 01:14:15.000
dass man auch Schriften sozusagen mit ihren Elementen

01:14:15.000 --> 01:14:18.000
zusammen groß und klein skalieren kann.

01:14:18.000 --> 01:14:21.000
Und das geht eben zum Beispiel mit Container Queries.

01:14:21.000 --> 01:14:24.000
Genau, und interessant daran ist das,

01:14:24.000 --> 01:14:26.000
ich glaube in dem Fall der Firefox noch,

01:14:26.000 --> 01:14:28.000
dass der Browser ist,

01:14:28.000 --> 01:14:31.000
der sie nicht vollends implementiert hat,

01:14:31.000 --> 01:14:33.000
wenn ich mich recht in Sinne.

01:14:33.000 --> 01:14:37.000
Ja, also ich hatte mit denen gerade was Neues gebaut,

01:14:37.000 --> 01:14:41.000
und ich bin ja auf Windows,

01:14:41.000 --> 01:14:43.000
und deswegen, da mache ich,

01:14:43.000 --> 01:14:46.000
da kann ich halt nicht mal eben schnell WebKit testen,

01:14:46.000 --> 01:14:48.000
aber CanIuse hat halt gesagt,

01:14:48.000 --> 01:14:51.000
so, hey, hier alles cool bei WebKit läuft,

01:14:51.000 --> 01:14:55.000
und genau, dann habe ich aber Feedback bekommen,

01:14:55.000 --> 01:14:59.000
dass dem nicht so sei, also dass ich da und bin nicht zu selbstsicher war,

01:14:59.000 --> 01:15:03.000
also zumindest was die Container Query Units angeht,

01:15:03.000 --> 01:15:05.000
das hat der noch nicht unterstützt,

01:15:05.000 --> 01:15:09.000
aber genau, also es im Prinzip kommt,

01:15:09.000 --> 01:15:12.000
und ich glaube, es ist auch Teil von diesem Interop-Set,

01:15:12.000 --> 01:15:14.000
also quasi von diesen Dingen,

01:15:14.000 --> 01:15:16.000
wo sich alle Browser-Ersteller geeinigt haben,

01:15:16.000 --> 01:15:20.000
so, hey, im Jahr 2022 wollen wir das irgendwie noch auf die Straße bringen,

01:15:20.000 --> 01:15:23.000
genauso wie Subgrid, glaube ich, und so was.

01:15:23.000 --> 01:15:26.000
Also genau, kann man sich auf jeden Fall mit befassen,

01:15:26.000 --> 01:15:28.000
und wahrscheinlich kommt im nächsten Jahr

01:15:28.000 --> 01:15:31.000
noch die Style Queries, also da kann man dann quasi sagen,

01:15:31.000 --> 01:15:34.000
so, wenn ich in einem Element stecke,

01:15:34.000 --> 01:15:36.000
dass ein dunklen Hintergrund,

01:15:36.000 --> 01:15:40.000
also das, keine Ahnung, vielleicht ein schwarzen Hintergrund habe,

01:15:40.000 --> 01:15:42.000
dann bitte macht die Farbe weiß,

01:15:42.000 --> 01:15:46.000
dann kann das eben dieses Element selber auslösen,

01:15:46.000 --> 01:15:50.000
und man muss nicht mehr irgendwie mit Custom Properties arbeiten,

01:15:50.000 --> 01:15:52.000
oder man muss auch nicht irgendwie

01:15:52.000 --> 01:15:54.000
irgendeine Art von Prop Drilling

01:15:54.000 --> 01:15:58.000
oder irgendwie extra Style schreiben, genau.

01:15:58.000 --> 01:16:01.000
Aber da weiß ich noch nicht genau, also ich schätze mal,

01:16:01.000 --> 01:16:04.000
da können wir uns ja einfach für nächstes Jahr um die Zeit verabreden,

01:16:04.000 --> 01:16:06.000
dann gefühlt, würde ich sagen,

01:16:06.000 --> 01:16:10.000
es wäre das die Zeit, wo wir dann mit den Style Queries auch arbeiten können.

01:16:10.000 --> 01:16:13.000
Ja, ich hatte gerade heute dazu einen Blogbeitrag gelesen

01:16:13.000 --> 01:16:17.000
zu den Style Queries und dachte so, Mensch, das ist ja richtig geil.

01:16:17.000 --> 01:16:20.000
Also das löst so viel Probleme, so sofort, wo ich dachte,

01:16:20.000 --> 01:16:22.000
ja, bei den Container Queries dachte ich schon,

01:16:22.000 --> 01:16:25.000
und ich glaube, das Thema Container Queries beschäftigt uns ja auch

01:16:25.000 --> 01:16:31.000
schon mindestens seit 2018, 19, weiß ich nicht, so gefühlt, länger sogar noch, ja.

01:16:31.000 --> 01:16:35.000
Also eigentlich, seit es Media Queries gibt, hat man eigentlich das Bedürfnis irgendwie,

01:16:35.000 --> 01:16:38.000
dass man halt auch auf die Breite von dem Element, also von Elementen

01:16:38.000 --> 01:16:41.000
halt reagieren kann und nicht nur auf die Gesamtbreite des Bildschirms.

01:16:41.000 --> 01:16:46.000
Und von daher finde ich das ein mega, mega cooles Ding,

01:16:46.000 --> 01:16:51.000
dass man halt dementsprechend mit diesen Container Queries halt

01:16:51.000 --> 01:16:55.000
dieses Problem lösen kann bzw. die Style Queries bauen ja auf die Container Queries dann auf, ja.

01:16:55.000 --> 01:16:59.000
Auch die Container Queries gehen ja nur auf die Breite von den Elementen, also nur, ja.

01:16:59.000 --> 01:17:03.000
Aber dann ist es sehr wirklich so, dass man sagt, okay, wie du schon gesagt hast,

01:17:03.000 --> 01:17:10.000
ich reagiere halt wirklich auf einzelne Properties quasi, die da definiert sind.

01:17:10.000 --> 01:17:15.000
Und von daher bin ich echt gespannt, wann das überall einsetzbar ist.

01:17:15.000 --> 01:17:19.000
Ich hatte mir am Freitag, ich bin unter anderem auch als Trainer bei Coding Bootcamps Europe

01:17:19.000 --> 01:17:23.000
und wir machen Freitags immer so kleine, also wir lassen unsere Teilnehmenden

01:17:23.000 --> 01:17:25.000
immer so kleine Gruppen einteilen.

01:17:25.000 --> 01:17:28.000
Und ich hatte den Container Queries aufgeschrieben, wir haben für eine Gruppe,

01:17:28.000 --> 01:17:30.000
dass sie jetzt eine halbe Stunde recherchieren sollen

01:17:30.000 --> 01:17:33.000
und das dann dann präsentieren sollen, was das denn eigentlich ist.

01:17:33.000 --> 01:17:36.000
Und ich weiß nur, als ich die Gruppe besucht hatte, die gesagt haben so,

01:17:36.000 --> 01:17:39.000
ja, wir haben verstanden, was es ist, aber wir wissen noch nicht für, was es gut ist.

01:17:39.000 --> 01:17:41.000
Und dann war die so, dann habt ihr noch nicht gut genug recherchiert.

01:17:41.000 --> 01:17:45.000
Und am Ende saßen sie da mit strahlenden Augen und meinten so, das ist ja voll cool,

01:17:45.000 --> 01:17:48.000
das löst so und so viel Probleme.

01:17:48.000 --> 01:17:49.000
Ja.

01:17:49.000 --> 01:17:51.000
Definitiv.

01:17:53.000 --> 01:17:59.000
Ich glaube, also es gibt ja so verschiedene Dinge, wie zum Beispiel

01:17:59.000 --> 01:18:04.000
das native Image Lazy Loading, das quasi intern auf den gleichen Codefahrt

01:18:04.000 --> 01:18:07.000
aufsetzt wie der Intersection Observer.

01:18:07.000 --> 01:18:11.000
Und bei den Container Queries ist es, glaube ich, der Resize Observer,

01:18:11.000 --> 01:18:13.000
der da unten drunter benutzt wird.

01:18:13.000 --> 01:18:18.000
Und der ist ja quasi, der ist ja abgesichert gegen so einen Endless Loop.

01:18:18.000 --> 01:18:24.000
Also es ist quasi, wenn Container kleiner als X, dann macht Kind größer als,

01:18:24.000 --> 01:18:27.000
dann wird der Container aber wieder breiter, dann ist das ja quasi wieder aufgehoben

01:18:27.000 --> 01:18:32.000
und so genauso der Resize Observer hat ja da quasi so eine gewisse Art,

01:18:32.000 --> 01:18:34.000
wie er das Dom durchläuft.

01:18:34.000 --> 01:18:39.000
Und dann wird es gepainted und dann es werden keine Loops erzeugt.

01:18:39.000 --> 01:18:43.000
Und da ist das Witzige, dass man das tatsächlich bei den Container Queries

01:18:43.000 --> 01:18:49.000
auch beobachten kann, dass man, dass die quasi manchmal ein Frame brauchen,

01:18:49.000 --> 01:18:54.000
bis der Resize Observer dann greift und dann schaltet das um.

01:18:54.000 --> 01:18:57.000
Also das ist ganz hitzig.

01:18:57.000 --> 01:18:59.000
Ja, absolut genau.

01:18:59.000 --> 01:19:03.000
Also auch da, man redet immer vom CSS, aber es hängt ja viel, viel mehr davon ab.

01:19:03.000 --> 01:19:07.000
Also es ist ja einfach das Gesamtkonstrukt.

01:19:07.000 --> 01:19:11.000
Es ist ja meistens nie nur Java, es gibt oder nie nur das CSS,

01:19:11.000 --> 01:19:15.000
wenn es um, ja, ich sage mal, gerade um das Layout an sich geht,

01:19:15.000 --> 01:19:18.000
um die App Shell oder um die einzelnen Elemente innerhalb der App Shell,

01:19:18.000 --> 01:19:20.000
die die Container dann darstellen.

01:19:20.000 --> 01:19:24.000
Und das ist interessant, dass einem das eine mit dem anderen einhergeht,

01:19:24.000 --> 01:19:27.000
man dann vielleicht auch verstehen kann, warum vielleicht

01:19:27.000 --> 01:19:31.000
manche Browser das nicht vollen implementiert haben,

01:19:31.000 --> 01:19:34.000
aber warum es irgendwie Bugs gibt oder Probleme gibt an der Stelle.

01:19:34.000 --> 01:19:36.000
Ja, ist schon flex.

01:19:40.000 --> 01:19:42.000
Genau.

01:19:42.000 --> 01:19:49.000
Ja, dann haben wir hier als nächstes Stichwort stehen Playwright.

01:19:49.000 --> 01:19:52.000
Und zwar, hast du das hier rein gestellt, Joe?

01:19:52.000 --> 01:19:55.000
Und warum denkst du, dass Playwright im nächsten Jahr

01:19:55.000 --> 01:19:58.000
eine wichtige Rolle spielt?

01:19:58.000 --> 01:20:03.000
Insofern, dass Debbie O'Brien gefühlt auf jeder Konferenz darüber spricht.

01:20:03.000 --> 01:20:06.000
So, das ist das eine Ding.

01:20:06.000 --> 01:20:09.000
Auf der anderen Seite ist es so, dass mich das Produkt an sich

01:20:09.000 --> 01:20:14.000
auch mehr überzeugt hat als Cypress, muss ich ehrlich sagen.

01:20:14.000 --> 01:20:16.000
Also ich sehe da ein hohes Potenzial.

01:20:16.000 --> 01:20:18.000
Also zum einen ist es gut, dass es ein Konkurrenzprodukt gibt zu Cypress.

01:20:18.000 --> 01:20:21.000
Da haben wir dieses Histoire-Storybook-Ding.

01:20:21.000 --> 01:20:25.000
Also Cypress ist im Fall Storybook, wenn man so möchte.

01:20:25.000 --> 01:20:29.000
Und Playwright bringt aber auch neue Features einfach mit.

01:20:29.000 --> 01:20:32.000
Also auch dieses Video-Recording, was da zum Beispiel mit dabei ist.

01:20:32.000 --> 01:20:36.000
Die Art und Weise, wie man in Playwright diese Tests schreibt und so.

01:20:36.000 --> 01:20:39.000
Ich finde das alles ein bisschen intuitiver an der Stelle.

01:20:39.000 --> 01:20:41.000
Also es macht schon Spaß, das einzusetzen.

01:20:41.000 --> 01:20:43.000
Und ich habe manchmal ein bisschen das Gefühl,

01:20:43.000 --> 01:20:46.000
dass Cypress sich ein bisschen verrannt hat.

01:20:46.000 --> 01:20:48.000
Wollte ich nicht sagen.

01:20:48.000 --> 01:20:50.000
Aber die haben halt sehr viel nochmal versucht,

01:20:50.000 --> 01:20:53.000
einen zweiten Zweig aufzumachen mit diesen Component-Tests auch.

01:20:53.000 --> 01:20:57.000
Die gefühlt immer noch nicht so richtig rundlaufen,

01:20:57.000 --> 01:20:59.000
zumindest meine Erfahrung.

01:20:59.000 --> 01:21:02.000
Und von daher finde ich einfach,

01:21:02.000 --> 01:21:05.000
dass Playwright halt so ein paar Dinge besser macht.

01:21:05.000 --> 01:21:07.000
Nicht gravierend.

01:21:07.000 --> 01:21:11.000
Also man könnte trotzdem das Gleiche auch mit Cypress lösen.

01:21:11.000 --> 01:21:14.000
Aber es gibt so ein paar Features, wie zum Beispiel dieses Video-Recording,

01:21:14.000 --> 01:21:16.000
was da mit drin ist.

01:21:16.000 --> 01:21:18.000
Und die ganze Haptik und alles drum und dran.

01:21:18.000 --> 01:21:20.000
Und auch die Art und Weise, wie man die Tests schreibt.

01:21:20.000 --> 01:21:22.000
Das fühlt sich fluffiger an.

01:21:22.000 --> 01:21:27.000
Das ist vielleicht einfach nur meine persönliche Meinung an der Stelle,

01:21:27.000 --> 01:21:31.000
die bei mir einfach ein gutes Gefühl gemacht hat.

01:21:31.000 --> 01:21:34.000
Das heißt nicht, dass ich bei Cypress kein gutes Gefühl habe,

01:21:34.000 --> 01:21:37.000
aber das war halt schon so, ja.

01:21:37.000 --> 01:21:39.000
Also ich mag gerne Vanillemilchshake,

01:21:39.000 --> 01:21:42.000
aber der Schoko schmeckt ja eigentlich auch gar nicht so schlecht.

01:21:42.000 --> 01:21:46.000
Und hat noch mal andere interessante Aspekte in der Geschmacksnote,

01:21:46.000 --> 01:21:48.000
wenn man das so vergleichen möchte.

01:21:48.000 --> 01:21:51.000
Ich mag gar keine Milchshakes, aber egal.

01:21:51.000 --> 01:21:54.000
Aber diese Richtung geht das so ein bisschen.

01:21:54.000 --> 01:21:56.000
Ja, ist ja auch immer gut.

01:21:56.000 --> 01:22:00.000
Das führt ja dann auch einfach zu Innovationen auf der anderen Seite.

01:22:00.000 --> 01:22:06.000
Wenn die Cypress-Leute sehen, okay, hier Playwright läuft uns in den Bereich davon,

01:22:06.000 --> 01:22:11.000
dann vielleicht sollten wir uns da auch ein bisschen stärker wieder drauf ausrichten.

01:22:11.000 --> 01:22:14.000
Also ja, cool, genau.

01:22:14.000 --> 01:22:20.000
Ja, die Testingwelt finde ich zurzeit vergleichbar fast mit der Framework-Welt.

01:22:20.000 --> 01:22:24.000
Eigentlich sind wir sehr verwöhnt, dass wir so viel Auswahl haben.

01:22:24.000 --> 01:22:28.000
Aber jetzt haben wir wieder auch auf der anderen Seite das Problem,

01:22:28.000 --> 01:22:30.000
wie entscheidet man sich jetzt dafür?

01:22:30.000 --> 01:22:33.000
Also kann mir vorstellen, man wird irgendwann niemals testen,

01:22:33.000 --> 01:22:37.000
weil man sich einfach niemals zwischen Cypress und Playwright entscheiden kann.

01:22:37.000 --> 01:22:42.000
Und sobald man sich aber für einen Tool entschieden hat,

01:22:42.000 --> 01:22:45.000
dann kommt der Punkt, ja, die battlen sich dann so ein bisschen gegenseitig,

01:22:45.000 --> 01:22:51.000
die lassen sich gegenseitig voneinander inspirieren und liefern ja dann meistens auch die Features nach.

01:22:51.000 --> 01:22:56.000
Was jetzt aber auch dazu führt, wir könnten jetzt V-Test einsetzen oder V-Test,

01:22:56.000 --> 01:22:58.000
weil das ist so schön schnell.

01:22:58.000 --> 01:23:02.000
Und eigentlich kann das ja dann auch Components auch mit testen

01:23:02.000 --> 01:23:06.000
und weiß, was vielleicht können die in drei Jahren auch noch end-to-end testen.

01:23:06.000 --> 01:23:09.000
Mit Cypress ist ein anderer Ansatz, es kam so von end-to-end-testing,

01:23:09.000 --> 01:23:12.000
aber eigentlich können wir jetzt auch Components damit testen.

01:23:12.000 --> 01:23:17.000
Playwright, ja, doch auch end-to-end.

01:23:17.000 --> 01:23:19.000
Ich weiß gar nicht, ob man Components auch noch mit abtesten kann.

01:23:19.000 --> 01:23:22.000
Wenn nicht, dann steht es wahrscheinlich auch auf der Roadmap.

01:23:22.000 --> 01:23:25.000
Und ja, da ist das eigentlich wieder eine entscheidend.

01:23:25.000 --> 01:23:27.000
Aber Playwright war ja auch kein Testing-Tool zu beginnen, oder?

01:23:27.000 --> 01:23:32.000
War das nicht einfach ein quasi, wie heißt denn hier der ferngesteuerte Headless Chrome?

01:23:32.000 --> 01:23:36.000
Ja, und das war dann Papetier, das war dann quasi erstmal ein zweiter Papetier

01:23:36.000 --> 01:23:45.000
von Microsoft quasi, aber mit so Adaptern für Firefox und WebKit noch zusätzlich.

01:23:45.000 --> 01:23:49.000
Genau, das was Papetier nachgezogen hat irgendwann quasi auch nochmal dann, ne?

01:23:49.000 --> 01:23:53.000
Also ursprünglich ging das so in diese, ich glaube, sobald,

01:23:53.000 --> 01:23:57.000
ich weiß es nicht 100% nicht, aber ich glaube auch, so was gehört zu haben, auf jeden Fall.

01:23:57.000 --> 01:24:03.000
Und deswegen ist es schon ganz interessant zu sehen, wie sich das Produkt weiterentwickelt.

01:24:03.000 --> 01:24:06.000
Es gab da wahrscheinlich auch Interessen natürlich wieder von Microsoft,

01:24:06.000 --> 01:24:09.000
auch im Testing-Bereich unterwegs zu sein.

01:24:09.000 --> 01:24:13.000
Ich kann nur sagen, ich weiß es vom ehemaligen Kollegen von mir,

01:24:13.000 --> 01:24:16.000
der hat eine Component-Library gebaut mit Web-Components

01:24:16.000 --> 01:24:21.000
und der hatte damals schon mit Playwright diese Web-Components getestet.

01:24:21.000 --> 01:24:24.000
Also er hat dann wirklich jede einzelne Web-Component getestet,

01:24:24.000 --> 01:24:29.000
was er gesagt hat so, naja, das ist eigentlich ein echter Component-Test, wenn du es so willst.

01:24:29.000 --> 01:24:35.000
Und das hat er dann halt auch Headless gemacht, wie gesagt, also im Headless-Mode von Playwright.

01:24:35.000 --> 01:24:38.000
Und das fand ich schon damals ziemlich cool,

01:24:38.000 --> 01:24:41.000
hätte man wahrscheinlich auch mit Cypress bauen können.

01:24:41.000 --> 01:24:45.000
Aber es sah ein bisschen, damals schon geschmeidiger aus,

01:24:45.000 --> 01:24:51.000
damals ist jetzt auch schon übertrieben, ich glaube vom Jahr oder so.

01:24:51.000 --> 01:24:56.000
Ja, aber auf jeden Fall cool, dass man sowas hat.

01:24:56.000 --> 01:24:59.000
Und ich glaube, Cypress kann auch Cross Browser, wie war das?

01:24:59.000 --> 01:25:01.000
Also das geht schon eine ganze Weile, ne?

01:25:01.000 --> 01:25:02.000
Genau.

01:25:02.000 --> 01:25:07.000
Früher war das ja, glaube ich, auch wahrscheinlich, weil die auf Puppet hier gesetzt haben.

01:25:07.000 --> 01:25:11.000
Jetzt setzen die selber auch wahrscheinlich auf Playwright und unter.

01:25:11.000 --> 01:25:12.000
Wie machen die das?

01:25:12.000 --> 01:25:14.000
Cypress, weiß ich nicht.

01:25:14.000 --> 01:25:17.000
Also ich weiß, dass jetzt die ganze Idee kommt ja von Dalek.js irgendwie.

01:25:17.000 --> 01:25:22.000
Also Dalek.js war so die erste Geschichte, so Grüße an die Dr. Huferz.

01:25:22.000 --> 01:25:24.000
Das war hier von Sebastian Golasch das Ding, oder?

01:25:24.000 --> 01:25:27.000
Das kann sein, da weißt du mehr als ich, von wem das genau war.

01:25:27.000 --> 01:25:31.000
Ich weiß nur, dass, ich glaube, Cypress darauf basiert oder zumindest inspiriert ist.

01:25:31.000 --> 01:25:33.000
Und es gibt ja noch Testcafé.

01:25:33.000 --> 01:25:38.000
Testcafé ist ja auch noch so ein Produkt, was ich sage mir immer so, ja, alle reden von Cypress,

01:25:38.000 --> 01:25:42.000
aber Testcafé kann eigentlich das Gleiche und vielleicht sogar noch ein bisschen mehr.

01:25:42.000 --> 01:25:49.000
Von daher weiß ich nicht, ob Dalek.js jetzt, ob Testcafé vor Cypress da war oder umgekehrt.

01:25:49.000 --> 01:25:53.000
Auf jeden Fall, die Technik darunter ist, basieren, glaube ich, inspiriert von Dalek.js.

01:25:53.000 --> 01:25:57.000
Vielleicht sogar von dem Macher, den du gerade genannt hast.

01:25:57.000 --> 01:26:01.000
Ja, das war der ASCII-Disco.

01:26:01.000 --> 01:26:10.000
Der war früher ganz, der war vor, also vielleicht so vor 10, 9, 8 Jahren war der regelmäßig Gast hier bei uns im Podcast.

01:26:10.000 --> 01:26:16.000
Ja, okay. Dann solltet ihr nochmal einladen und fragen, was ist eigentlich aus Dalek.js geworden?

01:26:16.000 --> 01:26:24.000
Ja, ich glaube, da hat sich, also genau, er hat das dann, ich erinnere mich, dass er es damals eben aufgegeben hatte.

01:26:24.000 --> 01:26:31.000
Weil einfach bessere Alternativen da waren und er hat das eben auch nebenher gemacht.

01:26:31.000 --> 01:26:40.000
Mit dem Ordnee, der auch hier mal bei uns im Podcast caused war. Genau.

01:26:40.000 --> 01:26:47.000
Da hat man dann irgendwann keine Schnitte gegen ganze Teams, die das dann angehen.

01:26:47.000 --> 01:26:54.000
Ja, cool.

01:26:54.000 --> 01:27:03.000
Genau, dann, das war das, war es zum Thema Testing, dann hast du noch hier als Stichworte Party Town und Webworker.

01:27:03.000 --> 01:27:09.000
Genau, da gibt es ja, das sind ja, glaube ich, die gleichen Macher, die auch das Quick Framework machen, oder?

01:27:09.000 --> 01:27:15.000
Ich glaube, wenn ich das richtig gesehen habe, ja, es ist so Party Town ist auch was, was ganz neu bei mir aufgeschlagen ist.

01:27:15.000 --> 01:27:20.000
Im Feed, die Woche so, also nicht die Woche, sondern letzte Woche.

01:27:20.000 --> 01:27:26.000
Und war so sehr erstaunter drüber.

01:27:26.000 --> 01:27:27.000
Also was heißt erstaunter?

01:27:27.000 --> 01:27:36.000
Aber ich habe sofort gesehen, so, jo, macht total Sinn, dass man halt, ich sage mal, den Main Threat erleichtert oder entlastet.

01:27:36.000 --> 01:27:44.000
Ist ja etwas, was man schon mit Service-Workern auch angefangen hatte, also diese ganzen Web-Worker-basierten Möglichkeiten,

01:27:44.000 --> 01:27:50.000
Service-Worker oder ich gebe da jetzt noch den Audio-Worker und so weiter und so fort, zu sagen, okay, mit Hilfe von Party Town

01:27:50.000 --> 01:27:55.000
kann ich halt JavaScript-Code-Auslagern in einen separaten Threat in so ein Web-Worker.

01:27:55.000 --> 01:27:58.000
Wenn man genau hinguckt, macht das Google ja auch schon längere Zeit mit Analytics.

01:27:58.000 --> 01:28:04.000
Ja, die haben ja auch, wenn sie ein Web-Worker nutzen können, ein Web-Worker am Laufen, wo dann das Tracking zum Beispiel drüberläuft

01:28:04.000 --> 01:28:07.000
und ausgelagert wird, um einfach den Main Threat fluffig zu halten.

01:28:07.000 --> 01:28:14.000
Und das passt natürlich in die Nische, die die Quick-Leute natürlich bedienen, Performance-Optimierung

01:28:14.000 --> 01:28:21.000
und von daher sehe ich da ein ganz großes Potenzial für 2023, dass Party Town interessant sein kann

01:28:21.000 --> 01:28:30.000
für größere Applikationen, um einfach eine Entlastung auf den Main Threat des aktuellen Tabs zu bringen, wo die Applikation drinnen.

01:28:30.000 --> 01:28:36.000
Ja, was halt bei Party Town, also ich habe damit schon rumgespielt, was bei Party Town cool ist,

01:28:36.000 --> 01:28:45.000
du kannst halt Third-Party da reinverbanden und zwar auch welche, die das Problem so Web-Worker cool,

01:28:45.000 --> 01:28:55.000
aber sobald eben Zugriff auf zum Beispiel, sagen wir mal, Local Storage oder Stom-Stadt finden, dann war es das.

01:28:55.000 --> 01:29:04.000
Dann ist die Party halt vorbei, dann ist nix mehr mit Party Town, weil das geht eben ja nur für Skripte, die im Main Threat laufen

01:29:04.000 --> 01:29:13.000
und die Macher von Party Town, die haben halt echt sehr clevere Ansätze wie die, also im Prinzip Proxen,

01:29:13.000 --> 01:29:22.000
die Zugriffe auf eben diese APIs, die es eigentlich nur im Main Threat gibt, Proxen, die quasi stellen, die bereit im Web-Worker.

01:29:22.000 --> 01:29:29.000
Und wenn halt ein Zugriff passiert, dann ist das Problem ja, so Web-Worker können ja nur Synchronen kommunizieren mit dem Main Threat,

01:29:29.000 --> 01:29:39.000
aber diese APIs sind ja alle Synchronen und die machen das dann so, die machen quasi so Fake-Agex-Calls,

01:29:39.000 --> 01:29:50.000
die Synchronen sind, also mit dem Sync an und dann gibt es einen Service-Worker, der quasi die abfängt

01:29:50.000 --> 01:29:57.000
und die dann, glaube ich, ein Kommandos umsetzt und dann irgendwann, wenn die beantwortet und dann kann das Skript weiterlaufen

01:29:57.000 --> 01:30:05.000
ganz neu gibt es dann noch quasi anstatt diesem Konzept, kann man auch mit so Atomics arbeiten,

01:30:05.000 --> 01:30:13.000
das sind dann so Mechaniken, wo man quasi Skripte blockieren kann, bis man sie dann wieder frei gibt

01:30:13.000 --> 01:30:21.000
und so kann man quasi auch Synchronen arbeiten mit APIs, obwohl man eigentlich einen Asynchronen Bus hat.

01:30:21.000 --> 01:30:28.000
Genau, das ist halt echt cool, ist aber ganz bisschen schwierig auch das zu konfigurieren, also nicht jetzt ganz schlimm,

01:30:28.000 --> 01:30:32.000
aber es ist schon nicht so schnipp schnapp.

01:30:32.000 --> 01:30:38.000
Aber es ist ein cooler Ansatz und ganz toll, vor allem wenn man eben Third-Party einbauen muss,

01:30:38.000 --> 01:30:43.000
weil der Chef das gerne so hätte, aber man die Seite trotzdem schnell haben will.

01:30:43.000 --> 01:30:51.000
Diese Ansatz des Sandboxings an der Stelle, das ist halt wirklich ein Sandbox und da passiert halt nichts.

01:30:51.000 --> 01:30:57.000
Diese Situation ist ja aus Sicherheitsaspekten sehr, sehr wichtig, gerade bei Third-Party.

01:30:57.000 --> 01:31:04.000
Da kommen halt wieder diese Shadow-Dom eigentlich ins Spiel, was dafür mal angedacht war oder immer noch ist,

01:31:04.000 --> 01:31:11.000
wo man auch gesagt hat, okay, isolier das vom Rest der Seite, deswegen bin ich mal gespannt, was dabei Party-Town kommt

01:31:11.000 --> 01:31:18.000
und ich bin mir ziemlich sicher, dass 2023 da einfach noch was kommen wird, weil es einfach sehr vielversprechend aussieht.

01:31:18.000 --> 01:31:22.000
Deswegen habe ich es auch in die Liste aufgenommen.

01:31:22.000 --> 01:31:32.000
Ne, sollte man sich auf jeden Fall angucken, aber Achtung, es ist schon ein bisschen tricky, das an Start zu bringen.

01:31:32.000 --> 01:31:38.000
Können ja mal eure Zuhörer und Zuhörerinnen berichten, wenn sie es ausprobiert haben.

01:31:38.000 --> 01:31:43.000
Ja, genau. Ja, bei mir war es, ich hatte, ich weiß gar nicht mehr, was das war, was ich da einsperren wollte

01:31:43.000 --> 01:31:50.000
und genau, das hat im Grunde auch geklappt, es hat nur trotzdem, es hat dann einfach nicht mehr funktioniert

01:31:50.000 --> 01:31:54.000
und ich konnte es dann auch nicht debacken.

01:31:54.000 --> 01:32:00.000
Genau, und damit habe ich dann sozusagen dieses Forschungsexperiment erstmal Adaktor gelegt und gesagt,

01:32:00.000 --> 01:32:06.000
ich glaube, das machen wir jetzt erstmal, verfolgen wir gerade mal nicht weiter.

01:32:06.000 --> 01:32:09.000
Genau. Ja, aber das ist diese Goldgräberstimmung so.

01:32:09.000 --> 01:32:12.000
Wow, das ist voll geil. Ja, ich probiere es aus.

01:32:12.000 --> 01:32:17.000
Ja, warte mal. Oh, nee.

01:32:17.000 --> 01:32:22.000
Ja, was die halt haben, ist halt die einmal so Geiz für bestimmte Third-Party-Sachen

01:32:22.000 --> 01:32:28.000
und wenn man die benutzt, super, aber wenn man eben nicht genau diese Sachen nimmt, also wenn man jetzt nicht Google Analytics nimmt,

01:32:28.000 --> 01:32:32.000
sondern Pivot oder Matomo oder sowas und die einsperren will,

01:32:32.000 --> 01:32:38.000
dann ist man eben auf sich allein gestellt und muss eben gucken, ob das klappt.

01:32:38.000 --> 01:32:44.000
Und ich glaube, dass es auch besser wird, du hast ja schon gesagt, so gute Doku ist immer hilfreich,

01:32:44.000 --> 01:32:49.000
wenn es eben dann so Recipes dann gibt für diese ganzen verschiedenen Pakete.

01:32:49.000 --> 01:32:56.000
Also das fehlte dem, ist aber auch schon einige Monate her, dass ich das gemacht habe, das kann sich jetzt schon wieder geändert haben.

01:32:56.000 --> 01:33:02.000
Genau. Ja, spannend.

01:33:02.000 --> 01:33:08.000
Du hast noch Monoripos, siehst du, auch als ein Ding oder ein Trend.

01:33:08.000 --> 01:33:12.000
Ja, aber da geht es ein bisschen um das Thema Geschwindigkeit, Komplexität

01:33:12.000 --> 01:33:22.000
und ich glaube, der große, ich nenne es mal der große Learner, Crash, der da war, war das überhaupt letztes Jahr oder war das schon ja davor?

01:33:22.000 --> 01:33:27.000
Das war das von Crash? Ja, der Crash war jetzt, dass ich mit Learner nicht mehr wirklich ge-maintained wurde.

01:33:27.000 --> 01:33:35.000
Auf einmal war das Projekt, also Learner wurde ja für Mono, war ja mitunter die größte, bekannteste Lösung für Mono Repositories,

01:33:35.000 --> 01:33:41.000
mit Jahren Workspaces so, in diesem Segment so unterwegs.

01:33:41.000 --> 01:33:47.000
Und ja, und auf einmal hieß es so, ja, es maintained niemand mehr Learner.

01:33:47.000 --> 01:33:54.000
Und dann alle so, und jetzt, und dann weiß ich noch, dann ging es los, wie viel Tweets kamen, wie viel Blockpost kamen,

01:33:54.000 --> 01:34:03.000
das sind die besten Alternativen für Learner, um ehrlich zu sein, weil Learner zwar die bekannteste Lösung, aber ich fand sie noch nie wirklich gut.

01:34:03.000 --> 01:34:09.000
Also, es war schon ein bisschen sperrig, also, wie hat er mit Learner schon mal gearbeitet, weiß, glaube ich, was ich meine gerade so.

01:34:09.000 --> 01:34:13.000
Es hat funktioniert, man konnte das mit umsetzen, es gab sehr viele Anleitungen und Tutorials,

01:34:13.000 --> 01:34:17.000
aber so wirklich geil war es eigentlich nicht unbedingt.

01:34:17.000 --> 01:34:24.000
Gut, der große Aufschrei, niemand maintained es mehr, niemand, ich weiß nicht, ob das was Maintaining von der Company,

01:34:24.000 --> 01:34:29.000
ich weiß es nicht mehr, was da, irgendwas war da auf jeden Fall gewesen, wenn ich mich da recht erinner.

01:34:29.000 --> 01:34:34.000
Und dann hat man sich Alternativen angeguckt und gedacht, ja, was mache ich denn jetzt so.

01:34:34.000 --> 01:34:40.000
Und dann haben sich ja quasi Leute gefunden, die das jetzt maintainen, es gibt sogar mittlerweile hellende Webseite von Learner,

01:34:40.000 --> 01:34:44.000
also, die gab es ja vorher nicht, es gab ja nur diese Dokumentationen auf GitHub-Seiten.

01:34:44.000 --> 01:34:53.000
Und, naja, daraus resultiert war, dass man dementsprechend jetzt neue Alternativen hat, die auch wirklich Alternativen sind.

01:34:53.000 --> 01:35:01.000
Also, die dementsprechend auch Einsatz finden und auch neue innovative Ansätze, wie zum Beispiel PNPM,

01:35:01.000 --> 01:35:08.000
das heißt also, PNPM ist ja eigentlich eine Alternative für Node Package Manager, ist aber auch für Mono-Reposter.

01:35:08.000 --> 01:35:10.000
Also, es ist quasi eine duale Lösung, wenn man so möchte.

01:35:10.000 --> 01:35:21.000
Es löst halt nicht nur das Problem mit den, also eine schnellere Möglichkeit für Node Packages zu managen und zu installieren und zu verweiten,

01:35:21.000 --> 01:35:24.000
sondern es löst halt diese Problematik auch mit den Mono-Repos.

01:35:24.000 --> 01:35:29.000
Das macht Jahren auch mit den Workspaces, ja, okay, könnte auch mit NPM gelöst werden.

01:35:29.000 --> 01:35:34.000
Aber bei PNPM ist das so ein bisschen innovativer, würde ich fast schon sagen.

01:35:34.000 --> 01:35:37.000
Es wird auch von vielen Leuten mittlerweile empfohlen.

01:35:37.000 --> 01:35:43.000
Ich glaube auch in der ViewJS-Dokumentation, aber ich glaube auch bei Swelt habe ich es schon öfter gesehen,

01:35:43.000 --> 01:35:46.000
dass man sagt, okay, nutze lieber PNPM.

01:35:46.000 --> 01:35:51.000
Und da sich halt einen ganz großen Fokus darauf, dass 2023 da ein Trend entsteht,

01:35:51.000 --> 01:35:57.000
dass es Richtung PNPM bei Mono-Repos gehen wird, oder auch die Leute von Vercel,

01:35:57.000 --> 01:36:03.000
da sind sie wieder mit dem Turbo-Repo, ja, es gibt nicht nur das Turbo Pack, sondern auch Turbo-Repo.

01:36:03.000 --> 01:36:10.000
Und auch das ist wieder ein Rust langgeschrieben. Also da sehe ich ganz große Alternativen.

01:36:10.000 --> 01:36:16.000
Also wer gerade auf der Suche ist oder der offen ist für Alternativen oder wer ein Mono-Repo bauen möchte,

01:36:16.000 --> 01:36:22.000
sollte sich auf jeden Fall 2023 PNPM und Turbo-Repo angeschaut haben.

01:36:22.000 --> 01:36:32.000
Oder Rush Stack von Microsoft Rush Stack würde halt dementsprechend auch da nochmal eine gute Alternativität.

01:36:32.000 --> 01:36:35.000
Und auch noch irgendein von Facebook jetzt gerade veröffentlicht worden?

01:36:35.000 --> 01:36:39.000
Es ist 100%ig auch eines von Facebook veröffentlicht worden.

01:36:39.000 --> 01:36:47.000
Ich glaube, ich habe es auch gehört. Es gibt ja noch Basel von Google, aber Basel ist wieder, es gibt auch noch NX.

01:36:47.000 --> 01:36:54.000
Es gibt ja diese Tools, die ja noch mehr machen, als nur diese reine Mono-Repo-Lösung.

01:36:54.000 --> 01:37:01.000
Also ich glaube, da ist noch nicht das letzte Wort gesprochen, aber ich glaube 2023 wird es da nochmal neue Trends geben.

01:37:01.000 --> 01:37:05.000
Gerade Turbo-Repo sieht sehr vielversprechend aus, muss ich sagen, an der Stelle.

01:37:05.000 --> 01:37:07.000
Was können wir denn leuten?

01:37:07.000 --> 01:37:13.000
Das erklärt ja oder beantwortet auch nochmal Vanessas Frage, ob man lieber mehrere Repos oder eins haben sollte.

01:37:13.000 --> 01:37:17.000
Also die Tendenz scheint die Einrichtung ein großes Repo zu gehen.

01:37:17.000 --> 01:37:19.000
Ja.

01:37:19.000 --> 01:37:26.000
Was würde man denn leuten dann zu NPM und Dialen empfehlen? Kann ich die da nicht mehr verwenden?

01:37:26.000 --> 01:37:29.000
Oder muss ich jetzt NPNPM verwenden?

01:37:29.000 --> 01:37:35.000
Also du kannst weiterhin, das ist ja das Schöne, du kannst ja selbst entscheiden, was du am Ende verwenden möchtest.

01:37:35.000 --> 01:37:42.000
Ob du Yarn oder ob du NPNPM, also ich persönlich nutze auch immer noch NPNPM in den meisten Projekten.

01:37:42.000 --> 01:37:46.000
Das hängt immer ganz davon ab, worauf man sich geeinigt hat.

01:37:46.000 --> 01:37:50.000
Und was gerade wirklich sinnvoll vom Einsatz ist, für mich macht das nicht viel Unterschied.

01:37:50.000 --> 01:37:55.000
Also Performance-Technik diese Nummer und die einen haben die Orders und die anderen haben es nicht.

01:37:55.000 --> 01:38:02.000
Also der eine hat das Feature, der andere hat das Feature. Also ich glaube, da ist man auf einen relativ ausgeglichenen Level.

01:38:02.000 --> 01:38:07.000
Aber bei PNPM muss ich sagen, das ist wirklich schneller und es fühlt sich auch wirklich gut an.

01:38:07.000 --> 01:38:10.000
Also ich würde einfach mal empfehlen, das auszuprobieren.

01:38:10.000 --> 01:38:15.000
Und ich sage mal so, man muss es ja nicht konsequent erst mal nutzen, man kann es erst mal ausprobieren.

01:38:15.000 --> 01:38:21.000
Das kann ja parallel zu NPNPM laufen, viele haben Yarn und NPNPM installiert.

01:38:21.000 --> 01:38:27.000
Aus den Gründen, je nachdem welchem Projekt man gerade ist und ob halt diese Yarn Workspaces benutzt werden oder nicht.

01:38:27.000 --> 01:38:30.000
Wobei NPNPM ja auch Workspaces hat.

01:38:30.000 --> 01:38:38.000
Genau und deswegen dementsprechend würde ich sagen, PNPM wird man jetzt vielleicht aussehen,

01:38:38.000 --> 01:38:41.000
dann muss man reingucken bei einem State-of-Java-Script.

01:38:41.000 --> 01:38:46.000
Da habe ich auch noch nicht reingeguckt, wie da die Tendenz 2022 schon war.

01:38:46.000 --> 01:38:51.000
Auf jeden Fall war PNPM, wenn ich mich in Sinne auch mit als Technologie aufgeführt.

01:38:51.000 --> 01:38:57.000
Und da sehe ich auf jeden Fall eine klare Tendenz nach oben an der Stelle.

01:38:57.000 --> 01:39:01.000
Und das ist auch wieder dieses Thema, was Vanessa fernmeinte.

01:39:01.000 --> 01:39:09.000
Das sind diese Probleme, die nichts mit der Framework-Lösung oder mit dem eigentlichen Tool zu tun haben, sondern mit dem Drum herum.

01:39:09.000 --> 01:39:17.000
Wie organisiere ich eigentlich meine Applikation, wie stelle ich Module oder einzelne Bausteine zur Verfügung?

01:39:17.000 --> 01:39:19.000
Eigentlich ist das die Schnittstelle.

01:39:19.000 --> 01:39:28.000
Das ist zumindest das Medium, was man nutzen kann, um Code-Strukturen zu scheren als Common Base.

01:39:28.000 --> 01:39:34.000
Und dann fehlt noch die Architektur dazwischen. Das ist halt das entscheidende Thema.

01:39:34.000 --> 01:39:45.000
Und deswegen, auch 2023 sind auf jeden Fall Monorepos, glaube ich, immer noch das gute Wahl im Gegensatz zu vielen einzelnen Repositories.

01:39:45.000 --> 01:39:51.000
Und dann hätten wir zum Abschluss noch einen Thema.

01:39:51.000 --> 01:39:58.000
Das haben wir also in der Vorbesprechung eigentlich noch spontan reingenommen, wo wir gesagt haben, hey, lasst uns das doch auch reinnehmen.

01:39:58.000 --> 01:40:06.000
Und zwar Code-Pilot, Console-Ninja und Chat-DPT.

01:40:06.000 --> 01:40:11.000
Die KI ist auf dem Vomarsch.

01:40:11.000 --> 01:40:18.000
Und was würdest du sagen, wie können wir die uns zunutze machen?

01:40:18.000 --> 01:40:21.000
Oder macht sie sich uns zu nutzen?

01:40:21.000 --> 01:40:24.000
Oder ist es einen Kreislauf?

01:40:24.000 --> 01:40:30.000
Ja, müssen wir im Auge behalten, sagen wir es mal so.

01:40:30.000 --> 01:40:38.000
Ich glaube, jedes dieser Tools kann uns das Leben leichter machen.

01:40:38.000 --> 01:40:42.000
Aber mit großer Macht kommt auch große Verantwortung.

01:40:42.000 --> 01:40:57.000
Ja, bedeutet, wenn man einschätzen kann, fachlich gut einschätzen kann, ob das, was da rauskommt oder was einem vorgeschlagen wird, wirklich hilft, dann ist das eine super coole Sache.

01:40:57.000 --> 01:41:00.000
Ist es ein bisschen beängstigend?

01:41:00.000 --> 01:41:02.000
Ja, das auch.

01:41:02.000 --> 01:41:10.000
Ich persönlich bin bei Code-Pilot sehr positiv angetan, weil es wirklich eine gute Hilfe ist.

01:41:10.000 --> 01:41:16.000
Ja, ich nutze das jetzt mittlerweile, ich weiß auch von ein paar anderen Leuten, die das genutzt haben.

01:41:16.000 --> 01:41:20.000
Sag mal kurz, wie das funktioniert, nur so für die Hörer und die so nicht kennen?

01:41:20.000 --> 01:41:33.000
Bei Code-Pilot ist es so, dass es von GitHub ein Plug-in für eure IDE, JetBrains oder für euren Editor wie es Code, das könnt ihr euch installieren.

01:41:33.000 --> 01:41:40.000
Und das Ganze ist momentan, glaube ich, 60 Tage in einer Trial Version verfügbar.

01:41:40.000 --> 01:41:43.000
Das heißt, dann ist es erst mal kostenlos und danach kostet es, glaube ich, 10 Dollar-Monat.

01:41:43.000 --> 01:41:54.000
Und was das Ganze macht ist, wenn ihr anfängt zu coden, also ihr benennt eine Variable, wie zum Beispiel Count Something oder was, was ich,

01:41:54.000 --> 01:42:03.000
und euch wird daraufhin schon ein Code vorgeschlagen, oder ihr benennt, jetzt sagen wir es als eine künstliche Intelligenz,

01:42:03.000 --> 01:42:08.000
die euch begleitet werden, ihr coded, auch über euch lernt und über das Programm lernt, was ihr schreibt,

01:42:08.000 --> 01:42:18.000
und anhand eurer Benennung oder dem, was ihr schon erkennen lasst, was ihr vorhabt, euch Code-Beispiele vorschlägt.

01:42:18.000 --> 01:42:24.000
Und das ist so gut, dass ihr oftmals, nehmen wir mal eine Sorting-Funktion oder irgendetwas,

01:42:24.000 --> 01:42:34.000
ihr nennt eine Variable irgendwie, Sort By Number oder irgendetwas, Sort Descending oder sonst irgendwas.

01:42:34.000 --> 01:42:39.000
Dann würde er euch dementsprechend eine Funktion schon vorschlagen, die ihr einfach übernehmen könnt.

01:42:39.000 --> 01:42:41.000
Die ist schon wirklich fertig da.

01:42:41.000 --> 01:42:47.000
Also die Lesen dir quasi deinen Programmierwunsch beim Ticken von den Lippen oder von den Fingern ab.

01:42:47.000 --> 01:42:49.000
Und kümmern sich um den Rest.

01:42:49.000 --> 01:42:52.000
Und du musst nur noch sagen, ja, will ich oder will ich nicht.

01:42:52.000 --> 01:42:53.000
Genau, genau.

01:42:53.000 --> 01:42:57.000
Und ich hatte einen Kollegen gehabt und ich habe ihn gefragt, warum bist du eigentlich so schnell?

01:42:57.000 --> 01:43:00.000
Und dann meinte er so, ja, ich nutze Kopie.

01:43:00.000 --> 01:43:04.000
Und das ist schon ziemlich, ziemlich abgefahren.

01:43:04.000 --> 01:43:11.000
Also ich kann es noch empfehlen, diese drei Monate, die sie da anbieten, kostenlos einfach mal auszuprobieren

01:43:11.000 --> 01:43:13.000
und zu gucken, ob das was ist.

01:43:13.000 --> 01:43:17.000
Ansonsten gucken, dass man halt die Subscription wieder canceled, ja, dann.

01:43:17.000 --> 01:43:19.000
Aber es lohnt sich auf jeden Fall, das mal auszuprobieren.

01:43:19.000 --> 01:43:22.000
Also ich war sehr, ich war lange Zeit sehr skeptisch gewesen.

01:43:22.000 --> 01:43:26.000
Und seit ich angefangen habe, das zu nutzen, muss ich sagen.

01:43:26.000 --> 01:43:31.000
Man kann sich auf Dinge fokussieren, die wichtiger sind als irgendwie so ein Sorting zu bauen.

01:43:31.000 --> 01:43:38.000
Oder gewisse andere Bauteile zu bauen, die, ja, einfach mich sonst.

01:43:38.000 --> 01:43:40.000
Ja, das ist kein echten Challenge.

01:43:40.000 --> 01:43:42.000
Das ist halt dieses, was gemacht werden muss.

01:43:42.000 --> 01:43:43.000
Also Gruntwork.

01:43:43.000 --> 01:43:44.000
Genau, genau, richtig.

01:43:44.000 --> 01:43:48.000
Oder halt auch Inspiration zu bekommen, wie man Probleme tackeln kann, angehen kann.

01:43:48.000 --> 01:43:52.000
Wobei da ChatGPT natürlich nochmal ein Schritt weitergeht einfach.

01:43:52.000 --> 01:43:56.000
Also das ist schon, was habe ich heute gehört?

01:43:56.000 --> 01:44:05.000
Es hat jemand gesagt, so bitte erklär mir in few die computed properties, aber macht daraus ein Rap Song.

01:44:05.000 --> 01:44:08.000
Und das hat dann ChatGPT hat das gemacht.

01:44:08.000 --> 01:44:14.000
Ja, das kann ja wohl auch WordPress plugins quasi ganz alleine schreiben und so.

01:44:14.000 --> 01:44:17.000
Also aber auch nicht nur programmieren.

01:44:17.000 --> 01:44:23.000
Also da gibt es, das kannst du ja alles fragen, so schreibt ein Drehbuch für einen romantischen Film,

01:44:23.000 --> 01:44:26.000
der in Paris spielt im Winter oder sowas.

01:44:26.000 --> 01:44:27.000
Und dann macht er das.

01:44:27.000 --> 01:44:28.000
In leichter Sprache, ja.

01:44:28.000 --> 01:44:34.000
Also man kann es nicht nur nutzen, wie du schon sagst, für Programmieraufgaben.

01:44:34.000 --> 01:44:37.000
Man kann es halt auch nutzen für alles Mögliche.

01:44:37.000 --> 01:44:40.000
Also auch Referate oder Aufsätze oder was weiß ich.

01:44:40.000 --> 01:44:46.000
Also das sehe ich auch in großer Gefahr irgendwie, dass dadurch die Fähigkeit des Recherchierens,

01:44:46.000 --> 01:44:50.000
die enorm wichtig ist für unseren Beruf, leiden könnte.

01:44:50.000 --> 01:44:55.000
Weil man sich zu sehr verleitet und auf diese KI dann verlässt.

01:44:55.000 --> 01:45:01.000
Aber eine große Gefahr sehe ich da 2023, muss ich sagen, darin.

01:45:01.000 --> 01:45:06.000
Weil eine oder andere sagt sich jetzt so, wenn man sich Videos dazu anguckt,

01:45:06.000 --> 01:45:09.000
den Thema beschäftigt, macht es mich arbeitslos.

01:45:09.000 --> 01:45:12.000
Und ich muss ehrlich sagen, auch bei Copilot, als ich das das erste Mal gesehen habe,

01:45:12.000 --> 01:45:15.000
habe ich das gar nicht das Gefühl gehabt, so, oh das macht mich arbeitslos,

01:45:15.000 --> 01:45:17.000
sondern oh cool, für was kann ich das eigentlich einsetzen,

01:45:17.000 --> 01:45:19.000
und wie macht es mir das Leben leichter?

01:45:19.000 --> 01:45:22.000
Weil das war Nessa auf jeden Fall, ich kann es doch wieder ansprechen.

01:45:22.000 --> 01:45:23.000
Ich fand das ein so gutes Ding.

01:45:23.000 --> 01:45:26.000
Dieses Grundproblem, wie baue ich eigentlich eine Architektur auf,

01:45:26.000 --> 01:45:30.000
diese ganze Landschaft drum herum, die Tools werden das so nicht lösen können.

01:45:30.000 --> 01:45:33.000
Weil die Probleme zu komplex sind, wir müssen mit Menschen interagieren,

01:45:33.000 --> 01:45:35.000
kommunizieren, herausfinden.

01:45:35.000 --> 01:45:38.000
Durch verschiedene Interaktion schleifen, was das Beste ist für das Produkt.

01:45:38.000 --> 01:45:45.000
Und ich glaube, das wird noch nicht JetGPT können.

01:45:45.000 --> 01:45:49.000
Auf der anderen Seite frage ich mich auch so ein bisschen, ist das SkyNet?

01:45:49.000 --> 01:45:54.000
Das war eine Frage, die sich bei mir am Kopf so ein bisschen auch aufgetan hat.

01:45:54.000 --> 01:45:59.000
Und ich glaube, es ist auch so ein Wachruf an alle,

01:45:59.000 --> 01:46:06.000
die primär, ich sag mal, gelb in der Konfiguration verdienen von WordPress-Webseiten

01:46:06.000 --> 01:46:10.000
oder von einfachen Kundenwebseiten, von einzelnen, einfachen HTML-Webseiten.

01:46:10.000 --> 01:46:15.000
Ich kann da nur sagen, dass Fortbildung und Weiterbildung enorm wichtig ist.

01:46:15.000 --> 01:46:19.000
Nicht weil ich Trainer bin, sondern einfach weil das zu unserem Beruf dazugehört.

01:46:19.000 --> 01:46:23.000
Und ich weiß, es ist wichtig, gerade im Freelancing-Bereich Geld zu verdienen an der Stelle,

01:46:23.000 --> 01:46:28.000
aber man neigt dazu, dass man halt in diesem Hamsterrad die ganze Zeit drin ist.

01:46:28.000 --> 01:46:34.000
Und dann kommt sowas wie JetGPT, was dein Job dann auf einmal innerhalb von ein paar Sekunden löst.

01:46:34.000 --> 01:46:38.000
Deswegen glaube ich, ist das jetzt immer eine gute Möglichkeit zu sagen,

01:46:38.000 --> 01:46:41.000
hey, ich orientiere mich vielleicht um oder ich gucke mir neue Techniken an,

01:46:41.000 --> 01:46:43.000
all das, worüber wir jetzt gerade besprochen haben.

01:46:43.000 --> 01:46:49.000
Das hilft einfach enorm, sich das nochmal anzugucken, sich mit neuen Sachen auseinanderzusetzen.

01:46:49.000 --> 01:46:57.000
Und dann zu sagen, hey, ich nutze JetGPT, um vielleicht die Aufgaben zu erledigen,

01:46:57.000 --> 01:47:00.000
die ich sonst in drei, vier Stunden mache, um nachmittags mal in den Kindern zu spielen.

01:47:00.000 --> 01:47:06.000
Weil man wissen sagt mir, ja, es geht ja, man kauft ja nicht die Fähigkeit an,

01:47:06.000 --> 01:47:08.000
dass man Code tippen kann.

01:47:08.000 --> 01:47:10.000
Also man bezahlt ja niemanden, damit das Code getippt wird,

01:47:10.000 --> 01:47:14.000
sondern es geht darum, das Gehirnschmalz in was reingestellt wird, um ein Problem zu lösen.

01:47:14.000 --> 01:47:18.000
Und wenn man das Wissen hat und man hat ein Hilsttool dabei,

01:47:18.000 --> 01:47:21.000
dann ist es ja auch legitim, dass das Hilsttool genutzt wird.

01:47:21.000 --> 01:47:27.000
Ja, genau, und man ist am Ende, ja, genau.

01:47:27.000 --> 01:47:32.000
Und letztlich ist das im Prinzip so, wie wenn man über ein PullRequest drüber schaut,

01:47:32.000 --> 01:47:35.000
da hat man dann auch nochmal eine eigene Meinung dazu.

01:47:35.000 --> 01:47:36.000
Genau.

01:47:36.000 --> 01:47:42.000
Und tatsächlich ist es ja auch so, dass so KI ja auch nur quasi das kann,

01:47:42.000 --> 01:47:47.000
was, also die schöpft ja ihr Wissen aus dem, was wir bislang getan haben.

01:47:47.000 --> 01:47:52.000
Und die kann, also kann sie vielleicht schon, aber ich sage mal so,

01:47:52.000 --> 01:47:56.000
wenn wir quasi neue Konzepte entwickeln,

01:47:56.000 --> 01:48:02.000
dann ist das ja quasi noch gar nicht als Trainingsdaten in so eine KI eingeflossen.

01:48:02.000 --> 01:48:06.000
Und dementsprechend sind das so die Betätigungsfelder,

01:48:06.000 --> 01:48:09.000
in die sich das vielleicht dann alles rein verlagert für uns.

01:48:09.000 --> 01:48:10.000
Genau.

01:48:10.000 --> 01:48:13.000
Also ich sehe da nur Potenziale, was du gerade gesagt hast, PullRequest,

01:48:13.000 --> 01:48:17.000
interessanterweise, aber wenn man Freelancer ist, hat man oftmals das Problem,

01:48:17.000 --> 01:48:19.000
man kann sich selbst PullRequest stellen,

01:48:19.000 --> 01:48:22.000
wir wissen aber, dass man eigentlich seine eigenen PullRequest nicht merken sollte.

01:48:22.000 --> 01:48:26.000
Vielleicht ist die KI unser neuer Sparringspartner, der unsere PullRequest refued.

01:48:26.000 --> 01:48:28.000
Das können die mir gut vorstellen.

01:48:28.000 --> 01:48:29.000
Ja, stimmt.

01:48:29.000 --> 01:48:31.000
Super Idee, tatsächlich, ja.

01:48:31.000 --> 01:48:32.000
Cool Idee.

01:48:32.000 --> 01:48:34.000
Genau, also...

01:48:34.000 --> 01:48:38.000
Genau, also die Verschwörungstheorie mal in den Raum werfen,

01:48:38.000 --> 01:48:42.000
dass ChatGPT nicht die Developer ablöst,

01:48:42.000 --> 01:48:45.000
weil nach dem Motto wären es ja nicht nur die Developer,

01:48:45.000 --> 01:48:47.000
es wären auch alle Designer, Projektmanager,

01:48:47.000 --> 01:48:49.000
weil es geht ja nicht nur ums Coden,

01:48:49.000 --> 01:48:52.000
sondern ich kann ja jede explizitige Frage reinstellen.

01:48:52.000 --> 01:48:55.000
Und ich habe das Gefühl, dass wir Menschen so relativ gut darin sind,

01:48:55.000 --> 01:49:00.000
technische Dinge zu entwickeln, die uns eigentlich unsere Arbeit abnehmen sollten.

01:49:00.000 --> 01:49:04.000
Und dadurch machen wir uns grundsätzlich einfach noch viel mehr Arbeit obendrauf.

01:49:04.000 --> 01:49:08.000
Das schaffen wir seit Hunderten von Jahren ziemlich gut.

01:49:08.000 --> 01:49:13.000
Für mich ist ChatGPT so ein bisschen...

01:49:13.000 --> 01:49:17.000
Für mich ist es ein kleiner Stack Overflow-Satz.

01:49:17.000 --> 01:49:21.000
So anstatt dass ich halt bei Google was eintippe und auf Stack Overflow tippe,

01:49:21.000 --> 01:49:28.000
kann ich quasi auch bei ChatGPT fragen und bekommen so eine ähnliche Antwort da ebenfalls raus.

01:49:28.000 --> 01:49:32.000
Aber da auch, wie Jochen meinte, es hilft mir nur was,

01:49:32.000 --> 01:49:34.000
wenn ich auch tatsächlich die Antwort verstehe.

01:49:34.000 --> 01:49:37.000
Ich kann auch Stack Overflow nur benutzen, wenn ich weiß,

01:49:37.000 --> 01:49:40.000
ob ich die erste, zweite oder dritte Antwort kopieren sollte

01:49:40.000 --> 01:49:44.000
und ob ich vielleicht beim Copy-Paste den variablen Namen anpassen muss,

01:49:44.000 --> 01:49:46.000
damit es im Endeffekt funktioniert.

01:49:46.000 --> 01:49:48.000
Wenn meine ersten Programme hier versuchbar waren,

01:49:48.000 --> 01:49:50.000
dass ich blind irgendwas kopiert habe und da hat es trotzdem nicht funktioniert,

01:49:50.000 --> 01:49:53.000
da hat mir ganz Stack Overflow noch nicht so viel gebracht.

01:49:53.000 --> 01:49:55.000
Genauso sehe ich es da auch.

01:49:55.000 --> 01:50:00.000
Was ich vielleicht schwierig finden könnte,

01:50:00.000 --> 01:50:02.000
2023 in dem Bereich,

01:50:02.000 --> 01:50:04.000
ist nicht das Code schreiben,

01:50:04.000 --> 01:50:07.000
sondern das Artikel schreiben

01:50:07.000 --> 01:50:10.000
und gerade, wenn es jetzt auch in Richtung von Plaggiaten geht,

01:50:10.000 --> 01:50:14.000
ob wir uns da vielleicht in ein bisschen schwierigen Bereich reinbewegen.

01:50:14.000 --> 01:50:19.000
Ansonsten ist es für mich nur eine weitere Entwicklung von Automatisierung,

01:50:19.000 --> 01:50:22.000
genauso wie ich Tools in meinem VS Code habe,

01:50:22.000 --> 01:50:25.000
das mir automatisch meine Komponenten skifoldet.

01:50:25.000 --> 01:50:30.000
Natürlich könnte ich selber Skripser, DaplankTS, Scope, blah, blah, blah schreiben,

01:50:30.000 --> 01:50:34.000
aber ich bin halt Stellar, wenn ich schreibe, keine Ahnung, wenn ich ein Command Space mache

01:50:34.000 --> 01:50:36.000
und sage Skripser, View Komponent

01:50:36.000 --> 01:50:39.000
und boom, ist sie schon mal da.

01:50:39.000 --> 01:50:43.000
Von daher, ich glaube, unser Job bleibt schon bestehen

01:50:43.000 --> 01:50:45.000
und wenn nicht, dann sind wir einfach ganz klug

01:50:45.000 --> 01:50:47.000
und denken uns einen neuen aus.

01:50:47.000 --> 01:50:50.000
Aber das heißt auch seit, keine Ahnung, 10 Jahren.

01:50:50.000 --> 01:50:53.000
Aber jetzt gibt es doch no Code, Website, Bilder,

01:50:53.000 --> 01:50:55.000
hast du überhaupt doch einen Job?

01:50:55.000 --> 01:50:57.000
Ich kann doch jetzt auch eine Website bauen.

01:50:57.000 --> 01:51:04.000
Ja, ich baue halt keine Portfolio-Website.

01:51:04.000 --> 01:51:12.000
Wir lösen Probleme für entweder User oder Kunden oder wie auch immer,

01:51:12.000 --> 01:51:16.000
aber wir, zumindest die meisten Personen,

01:51:16.000 --> 01:51:19.000
developer die ich jetzt kenne, die schruppen keine Tickets mehr runter.

01:51:19.000 --> 01:51:22.000
Da heißt es nicht, wir brauchen genau dieses Feature

01:51:22.000 --> 01:51:24.000
mit genau diesen Akzeptanzkriterien

01:51:24.000 --> 01:51:29.000
und schon mal vorher festgelegt, dass man das in React und Redux macht.

01:51:29.000 --> 01:51:33.000
Dieses Ticket sehe ich seit 20 Jahren sowas nicht mehr,

01:51:33.000 --> 01:51:36.000
sondern es ist, wir haben ein Problem.

01:51:36.000 --> 01:51:39.000
Wir würden gerne dieses Problem für die User lösen,

01:51:39.000 --> 01:51:42.000
aber wir wissen noch gar nicht, wie wir das lösen wollen

01:51:42.000 --> 01:51:45.000
und wir sind hier noch gar nicht bei technischen Ansätzen,

01:51:45.000 --> 01:51:49.000
sondern wir sind hier wirklich, wir sind Produktentwicklungspersonen,

01:51:49.000 --> 01:51:51.000
alle zusammen im Team.

01:51:51.000 --> 01:51:54.000
Wir haben vielleicht schwieriger in ChatGPT fragen,

01:51:54.000 --> 01:51:58.000
ich würde jetzt gerne dieses spezifische Problem für diesen Kunden lösen.

01:51:58.000 --> 01:52:00.000
Was mache ich jetzt?

01:52:00.000 --> 01:52:03.000
Ja, musst du mehr Informationen über dich preisgeben,

01:52:03.000 --> 01:52:07.000
über das Produkt und über deinen Kunden und so weiter und so fort.

01:52:07.000 --> 01:52:09.000
Ich kopiere einfach mal alle Daten von Kunden rein.

01:52:09.000 --> 01:52:12.000
Genau, dann würde ChatGPT seine Datenbank durchsuchen

01:52:12.000 --> 01:52:17.000
oder seinen Data Lake dahinter so und herausfinden,

01:52:17.000 --> 01:52:24.000
dass dein Kunde irgendwie dazu neigt, irgendwie unsittliche Dinge zu tun,

01:52:24.000 --> 01:52:27.000
eine liebe Wertung mit einfließen zu lassen

01:52:27.000 --> 01:52:29.000
und dementsprechend komische Vorschläge machen.

01:52:29.000 --> 01:52:32.000
Keine Ahnung, kann ich mir vorstellen, dass das passiert irgendwann.

01:52:32.000 --> 01:52:38.000
Dass vielleicht irgendwie, ja, da auch Fehlinformationen reinfließen können,

01:52:38.000 --> 01:52:40.000
die böse Auswirkungen haben.

01:52:40.000 --> 01:52:43.000
Wenn du den Text dann nicht mehr liest, der daraus kommt zum Beispiel

01:52:43.000 --> 01:52:45.000
oder nicht wirklich bewerten kannst,

01:52:45.000 --> 01:52:47.000
dann sagst du, das wird schon stimmen, was die KI sagt,

01:52:47.000 --> 01:52:50.000
dann wird es halt schwierig an der Stelle.

01:52:50.000 --> 01:52:53.000
Ich kann nicht mehr als ein Problem vorstellen.

01:52:53.000 --> 01:52:57.000
Aber spekulativ, auf jeden Fall wird es uns dieses Jahr begleiten.

01:52:57.000 --> 01:53:02.000
Ich merke jetzt gerade bei den Junior-Developern, die ich ausbilde,

01:53:02.000 --> 01:53:05.000
da kommt öfter mal so, ich frage mal ChatGPT.

01:53:05.000 --> 01:53:10.000
Ich sage dann immer so, ja, nehmt, aber denkt.

01:53:10.000 --> 01:53:12.000
Und vor allem nehmt und versteht es.

01:53:12.000 --> 01:53:15.000
Man muss benutzen, wenn ihr es mir erklären könnt, was da steht.

01:53:15.000 --> 01:53:20.000
Und dann hört es meistens auf und dann kommt es doch die gute alte Vorschleife

01:53:20.000 --> 01:53:24.000
und weiß ich eine einfache Lösung, um das Problem anzugehen.

01:53:24.000 --> 01:53:30.000
Und deswegen bin ich da sehr gespannt, wie sich das da weiterentwickeln wird.

01:53:30.000 --> 01:53:33.000
Von daher, KI ist eine gute Sache.

01:53:33.000 --> 01:53:37.000
Und ich glaube, die wird uns auch weiterhelfen und das Leben leichter machen.

01:53:37.000 --> 01:53:39.000
Aber wir dürfen uns einfach nicht darauf verlassen,

01:53:39.000 --> 01:53:42.000
dass all unsere Probleme dadurch erschlagen sind.

01:53:42.000 --> 01:53:48.000
Und wir irgendwann, wie bei Wally irgendwie in dem Film,

01:53:48.000 --> 01:53:52.000
wenn den jemand kennt, dass der Roboter bei uns die Erde aufräumt

01:53:52.000 --> 01:54:01.000
und wir liegen da irgendwie nur noch rum in irgendwelchen Tanks.

01:54:01.000 --> 01:54:04.000
Und lassen uns füttern und was weiß ich alles.

01:54:04.000 --> 01:54:09.000
Der gab es noch einen zweiten Film, wo das gab Wally, der die Welt aufgeräumt hat,

01:54:09.000 --> 01:54:14.000
aber dann noch den zweiten Film, wo alle in so Rollwegen rumgefahren sind

01:54:14.000 --> 01:54:17.000
mit ihren riesigen Cola-Fläschchen.

01:54:17.000 --> 01:54:19.000
Ach so? Ich dachte, am ersten Teil ging es ja schon...

01:54:19.000 --> 01:54:20.000
War das das gleiche Film?

01:54:20.000 --> 01:54:22.000
Ja, ich glaube, das war der gleiche Film.

01:54:22.000 --> 01:54:27.000
Er hat auf jeden Fall einen Twist und ziemlich guten,

01:54:27.000 --> 01:54:32.000
naja, guten nicht, aber der hat doch einen Beigeschmack auf jeden Fall.

01:54:32.000 --> 01:54:34.000
Hat einen Beigeschmack, ja.

01:54:34.000 --> 01:54:35.000
Ja, ja, von daher...

01:54:35.000 --> 01:54:37.000
It's sad cause it's true.

01:54:37.000 --> 01:54:43.000
Yes, yes, yes, yes, genau. Okay, ja.

01:54:43.000 --> 01:54:45.000
Sehr schön.

01:54:45.000 --> 01:54:48.000
Aber Codeplot kann man 60 Tage frei verwenden

01:54:48.000 --> 01:54:51.000
und ChatGPT ist ja noch frei und wir warten wahrscheinlich alle darauf,

01:54:51.000 --> 01:54:52.000
dass irgendwann auch was kostet.

01:54:52.000 --> 01:54:55.000
Ja gut, ich meine Microsoft hängt drin, Elon Musk hängt drin.

01:54:55.000 --> 01:54:57.000
E.

01:54:57.000 --> 01:54:59.000
Was?

01:54:59.000 --> 01:55:03.000
Das ist ja nicht open AI.

01:55:03.000 --> 01:55:04.000
Ist da open AI?

01:55:04.000 --> 01:55:05.000
Ja.

01:55:05.000 --> 01:55:08.000
Ich bin mir ziemlich sicher, dass da auch Elon Musk sein Geld mit rein pumpt

01:55:08.000 --> 01:55:11.000
und Microsoft und von daher gerne natürlich.

01:55:11.000 --> 01:55:13.000
Also nichts, umsonst, wir wissen,

01:55:13.000 --> 01:55:15.000
wenn was umsonst ist, bist du das Produkt.

01:55:15.000 --> 01:55:18.000
Ja, und ja.

01:55:18.000 --> 01:55:20.000
Wenn du nicht deine ganzen Daten reinhängen willst,

01:55:20.000 --> 01:55:23.000
irgendwann musst du wahrscheinlich dafür bezahlen.

01:55:23.000 --> 01:55:25.000
Damn.

01:55:25.000 --> 01:55:29.000
Du hattest noch CodeNinja, hattest du ja noch irgendwie,

01:55:29.000 --> 01:55:32.000
war deine Entdeckung jetzt so ganz frisch, ne?

01:55:32.000 --> 01:55:33.000
Ja.

01:55:33.000 --> 01:55:35.000
Das fandest du, da hab ich CodeNinja gesagt.

01:55:35.000 --> 01:55:38.000
Ich mein, der ConsoleNinja natürlich, falls ich das gesagt habe.

01:55:38.000 --> 01:55:41.000
Genau, sag mal, warum ist das cool?

01:55:41.000 --> 01:55:44.000
Es ist cool, weil ihr ConsoleLogs quasi

01:55:44.000 --> 01:55:46.000
oder Testausgaben in eurem VS Code

01:55:46.000 --> 01:55:48.000
oder in eurem JetBrains Editor machen kann.

01:55:48.000 --> 01:55:50.000
Ja, das ist halt einfach, du schreibst ein ConsoleLog

01:55:50.000 --> 01:55:52.000
auf irgendwas in deinem Code

01:55:52.000 --> 01:55:57.000
und es wird halt direkt dargestellt in eurem Editor.

01:55:57.000 --> 01:56:00.000
Also ihr müsst nicht wechseln irgendwie in den Browser oder so.

01:56:00.000 --> 01:56:03.000
Ja, es wird einfach instant dargestellt.

01:56:03.000 --> 01:56:05.000
Ist von den Leuten, der eine oder andere,

01:56:05.000 --> 01:56:07.000
das klingt vielleicht wie Quokka.js.

01:56:07.000 --> 01:56:09.000
Ja, es ist von den Leuten von Quokka.js.

01:56:09.000 --> 01:56:11.000
Das ist ein neues Produkt von denen.

01:56:11.000 --> 01:56:13.000
Und bei Quokka war es immer so,

01:56:13.000 --> 01:56:15.000
dass das nochmal so ein bisschen isolierter ist in dieser,

01:56:15.000 --> 01:56:18.000
also wie ihr der Quokka.js jetzt nicht kennt.

01:56:18.000 --> 01:56:20.000
Es ist ein Tool, womit ihr quasi,

01:56:20.000 --> 01:56:24.000
ich sag mal, Testcode oder Code schreiben könnt

01:56:24.000 --> 01:56:26.000
in eurer Konsole

01:56:26.000 --> 01:56:29.000
und sagen könnt, gib mir mal das Ergebnis am Ende raus.

01:56:29.000 --> 01:56:32.000
Ja, es ist halt ein bisschen eleganter

01:56:32.000 --> 01:56:35.000
als, ich sag mal, dieses Redneck Debugging,

01:56:35.000 --> 01:56:37.000
was man mit ConsoleLogs manchmal hat, irgendwie.

01:56:37.000 --> 01:56:39.000
Jihar, umgib ihm.

01:56:39.000 --> 01:56:42.000
Das ist mit Quokka, kann man halt in so einer Sandbox dementsprechend

01:56:42.000 --> 01:56:45.000
ein bisschen besser agieren.

01:56:45.000 --> 01:56:48.000
Ja, Code-Testen, die haben noch andere Tools,

01:56:48.000 --> 01:56:53.000
wie Wallabyf, um Testergebnisse direkt anzeigen zu lassen.

01:56:53.000 --> 01:56:57.000
Und von der Company ist halt auch dieses ConsoleNinja.

01:56:57.000 --> 01:56:59.000
Und ich hab das gesehen und dachte so, cool.

01:56:59.000 --> 01:57:01.000
Also das schließt für mich eine Lücke.

01:57:01.000 --> 01:57:03.000
Ich könnte mir vorstellen, das öfter zu nutzen.

01:57:03.000 --> 01:57:06.000
Ich hab es jetzt installiert und probiere das auch aus.

01:57:06.000 --> 01:57:09.000
Und ich sag mal so, ich muss nicht mehr so oft

01:57:09.000 --> 01:57:11.000
in den Browser dann wechseln

01:57:11.000 --> 01:57:15.000
oder halt auch die Debug-Ausgabe starten von Node.js.

01:57:15.000 --> 01:57:18.000
Also, kann man sich auf jeden Fall angucken.

01:57:18.000 --> 01:57:21.000
Könnte ein cooles Tool 2023 sein?

01:57:21.000 --> 01:57:23.000
Aber kein KI-Tool.

01:57:23.000 --> 01:57:25.000
Das hatte ich nämlich gedacht,

01:57:25.000 --> 01:57:27.000
dass das quasi drei Stück wären,

01:57:27.000 --> 01:57:31.000
ChatGPT, CodePilot und das ConsoleNinja,

01:57:31.000 --> 01:57:33.000
vielleicht auch ein KI-Tool.

01:57:33.000 --> 01:57:35.000
Das ist es aber gar nicht, es ist einfach nur ein cooles Tool.

01:57:35.000 --> 01:57:37.000
Genau, ich hab einfach nur eine Falle gestellten,

01:57:37.000 --> 01:57:42.000
dass mit bei ChatGPT und CodePilot mit aufgeführt.

01:57:42.000 --> 01:57:44.000
Ja.

01:57:44.000 --> 01:57:47.000
Wir haben auf jeden Fall eine sehr umfangreiche Folge

01:57:47.000 --> 01:57:49.000
eingetütet mit dir.

01:57:49.000 --> 01:57:52.000
Hat aber total Spaß gemacht, sind auch echt super Themen gewesen,

01:57:52.000 --> 01:57:55.000
die wir hier heute in der Folge hatten.

01:57:55.000 --> 01:57:58.000
Genau, und dann vielleicht können wir uns ja einfach,

01:57:58.000 --> 01:58:00.000
also vielleicht können wir uns spätestens

01:58:00.000 --> 01:58:02.000
für in einem Jahr nochmal verabreden

01:58:02.000 --> 01:58:06.000
und dann müssten wir eigentlich mal erstmal zurückblicken

01:58:06.000 --> 01:58:10.000
auf unsere Fähigkeiten bei der Vorhersage

01:58:10.000 --> 01:58:15.000
und können das Ganze dann fürs daufallende Jahr wiederholen.

01:58:15.000 --> 01:58:17.000
Oder wir haben keinen Job mehr.

01:58:17.000 --> 01:58:21.000
Oder wir gleichen das jetzt auch mal ab mit ChatGPT,

01:58:21.000 --> 01:58:25.000
was ChatGPT sagt, genau, was die Trends in der Web-Entwicklung sind.

01:58:25.000 --> 01:58:27.000
Und das ist die Groß-ATED.

01:58:27.000 --> 01:58:29.000
Ja.

01:58:29.000 --> 01:58:33.000
Ich bin mir sicher, Sie haben irgendeine If-Abfrage da reingeschrieben.

01:58:33.000 --> 01:58:38.000
Falls jemand fragt, ob ChatGPT meinen Job ersetzen würde,

01:58:38.000 --> 01:58:40.000
dass sie pauschal mit einen einantworten,

01:58:40.000 --> 01:58:42.000
damit niemand Angst bekommt.

01:58:42.000 --> 01:58:45.000
Ja, testen wir auch.

01:58:45.000 --> 01:58:48.000
Genau, wenn ihr höheren und höherer gerne was testen wollt

01:58:48.000 --> 01:58:52.000
oder ihr spannende Sachen gefunden habt, schreibt uns gerne an.

01:58:52.000 --> 01:58:55.000
Wir sind alle noch auf Twitter, auf Masse,

01:58:55.000 --> 01:58:57.000
dann sind wir, glaube ich, auch alle, oder?

01:58:57.000 --> 01:58:59.000
Ja, da reagieren wir nur mit Verzug,

01:58:59.000 --> 01:59:01.000
weil ich weiß immer noch nicht, wie es geht.

01:59:01.000 --> 01:59:03.000
Ja, genau.

01:59:03.000 --> 01:59:07.000
Ansonsten haben wir ja auch noch unseren Community Slack Workspace,

01:59:07.000 --> 01:59:11.000
den ihr findet unter draft.community.

01:59:11.000 --> 01:59:14.000
Und genau, da hängen wir auch ab.

01:59:14.000 --> 01:59:17.000
Der Joe zwar nicht, aber den können wir auf jeden Fall flott einladen.

01:59:17.000 --> 01:59:20.000
Boom, schon ein neues Slack.

01:59:20.000 --> 01:59:23.000
Genau, so kennen wir das alle.

01:59:23.000 --> 01:59:26.000
Genau, vielen Dank fürs Dasein, Joe.

01:59:26.000 --> 01:59:28.000
Viel Gute nach Lüneburg.

01:59:28.000 --> 01:59:32.000
Danke auch an die Vanessa und den Hörerinnen und Hörern.

01:59:32.000 --> 01:59:34.000
Vielen Dank fürs Reinhören.

01:59:34.000 --> 01:59:36.000
Bis nächste Woche.

01:59:36.000 --> 01:59:38.000
Ciao.

01:59:38.000 --> 02:00:07.000
Ciao, ciao.

02:00:08.000 --> 02:00:10.000
Ciao, ciao.
Liked it? Take a second to support Schepp on Patreon!