Klasse Video. Komplexe property nachvollziehbar erklärt. Gleichzeitig vermute ich, dass nur die wenigsten Entwickler selbstständig diese Property setzen werden und stattdessen Frameworks davon Gebrauch machen werden.
@stefanspittankАй бұрын
Da hast du vermutlich recht. Vielleicht ändert sich das aber in Zukunft. Mit den vielen CSS Verbesserungen die wie in letzter Zeit sehen, kann man auf das eine oder andere Framework in Zukunft vielleicht verzichten.
@user-qy4gz5kg7u2 ай бұрын
Verdammt! Woher habt Ihr denn die wunderschöne alte Dalli-Dalli Studio Deko? 🤔
@holgergp2 ай бұрын
Was meinste? Diese Dinger bei Stefan im Zimmer? Ich denke die hat Stefan Hans Rosenthal beim Würfeln abgeschwatzt!
@stefanspittank2 ай бұрын
@@holgergp Ich war damals einer der letzten Gäste von Hajo und durfte die Studiodeko mitnehmen.
@TypeScriptTV2 ай бұрын
Danke für die tolle Erklärung! Gibt es den Code auch auf GitHub zum Ausprobieren? 🤔 Gruß, Benny
@BenjaminBK3 ай бұрын
Als nicht Frontend Entwickler macht await genau das, was ich erwarten würde. Ich kenne das Konzept generell von kotlin coroutinen. Das kann auch alles single threaded laufen, er merkt sich nur, wo er weiter machen soll, wenn der verzögerte Teil fertig ist und nutzt die Zeit bis dahin für alles andere. Ich weiß nicht, wie es in JS ist, aber eine Falle, in die man treten kann: Wenn der Teil in dem await den einen Thread komplett nutzt, dann geht es im Single Threaded System auch außerhalb der async (oder suspended) function nicht weiter. Also zum laden einer Resource kann das gut sein, bei einer komplexe Berechnung sollte man aber sicher sein, dass das in einem anderen Thread läuft.
@papperlapapp-dev3 ай бұрын
Danke für deinen Kommentar! 😀 Im JavaScript Context hast du ja meistens implizit zwei Threads oder Threadpools. Meistens heißt: Im Browser: UI Thread und browser managed. In node: Die Event-Loop und node managed threads. (+ worker threads aber die spielen für async await ootb keine Rolle). In andere Kontexten kann das anders aussehen (Nashorn? 🤷) Bei async/await geht die Kontrolle von UI/Event zu den managed Threads. Diese notifizieren die Event-Loop/UI dann wenn ein Ergebnis da ist, das wird dann beim nächstmöglichen Tick abgearbeitet. Ein Blockieren der UI/Event-Loop findet nur dann statt, wenn ich nicht unterbrechbaren Code/zu rechenintensiven Code im UI/Event Thread laufen lasse. Das ist aber imho weniger häufig der Fall. Auch z.B. ein setTimeout greift auf die darunter liegenden Threads zu und blockiert nicht.
@nils-hartmann3 ай бұрын
Wie immer schöne Diskussion :-) Zu Remix: die haben mittlerweile einen SPA-Mode. Ich habe insgesamt den Eindruck, dass sich Remix etwas pragmatischer als Next entwickelt. Sowohl was die Features als auch was die Weiterentwicklung angeht. Das fühlt sich eher "agil" an, kleine Schritte und so. In Next hat man den Eindruck da steht eher der "große, vollumfängliche Plan" im Vordergrund...
@papperlapapp-dev3 ай бұрын
Dankeschön! Man merkt an einigen Stellen, dass wir die Folge schon vor ein paar Monaten aufgenommen haben. Wir müssen uns mal Remix etwas genauer anschauen, da scheinen viele gute Dinge zu passieren.
@nils-hartmann3 ай бұрын
@@papperlapapp-dev Stimmt, habt ihr ja geschrieben 🤦♂ Und so alt ist der Remix SPA-Mode noch nicht.
@Leon-cm4uk5 ай бұрын
Ist es die Intention beim Schnitt der Kanalvorstellung gewesen, dass die Musik viel lauter, als die zwischendurch eingeblendeten Videosequenzen ist? Man versteht da fast gar nichts, weil die Musik das Ganze fast schon dominiert. Wenn die Videosequenzen eingeblendet werden, würde ich die Lautstärke der Musik kurz runter regeln, bis der jeweilige Clip vorbei ist. Ansonsten sehr interessanter Kanal!
@angelo.veltens.codecentric5 ай бұрын
Wie kommt es, dass beim Ändern des Signals kein Rerendering erfolgt? Der Wert ändert sich ja de-facto im DOM. Passiert das gezielt durch das Signal, ohne dass der Rest der Komponente neu rendert? Oder wodurch wird die DOM-Änderung durchgeführt?
@holgergp5 ай бұрын
Im Detail hängt das von der Umgebung ab. In Solid habe ich ja beispielsweise gar kein Virtual DOM, so dass da eine Signal Änderung, also der Proxy, direkt in eine DOM-Manipulation umgewandelt wird. In Preact kann ich nur vermuten, aber mein Mentales Modell ist da, dass durch das Signal eine Art Mini-Wrapper-Komponente erzeugt wird, die dann neu gerendert wird.
@angelo.veltens.codecentric5 ай бұрын
@@holgergp Alles in Allem muss aber ja logischerweise das DOM verändert werden. Deswegen finde ich, dass "die Komponente rendert nicht neu" beeindruckender klingt als es ist. Die DOM Operation ist am Ende die gleiche, egal ob "die Komponente" neu rendert, oder das Signal direkt das DOM verändert. Ich glaube ehrlich gesagt nicht, dass das einen messbaren Einfluss auf die Performance hat. Es ist aber glaube ich dennoch gut für das eigene mentale Modell der Komponente. Ich habe Signals seit kurzem in Angular ausprobiert und finde das ist ein Schritt in die richtige Richtung
@holgergp5 ай бұрын
@@angelo.veltens.codecentric Da hast du völlig Recht! Es findet ein Rerendering statt. Nur eben nicht zwingend im Scope der umschließenden Komponente, sondern nur gezielt bei dem Wert der geändert wird. Ich habe dadurch (zumindest in der Theorie) mehr Kontrolle, was mit meinen abgeleiteten Änderungen und Effekten passiert. Das kriege ich wahrscheinlich auch mit State in React hin, allerdings sehe ich, dass das in der Praxis häufiger ein Problem ist. "Wo kommt jetzt dieser Rerender her? Oder warum flackert das jetzt". Mit dem Signal-Model erhoffe ich mir da bessere Kontrolle. Ob Signale Performance-relevant sind, weiß ich grad nicht, zumindest in Solid wird behauptet/gebenchmarked: ja! Allerdings kann dies auch eher durch den Verzicht auf den VirtualDOM kommen.
@marcteufel83485 ай бұрын
In Vue braucht man im Prinzip nicht mal Signale, da ist echte Reaktivität mit den gleichen Effekten (=Rendern nur einer spezifischen Komponente) von Grund auf schon drin (Stichwort refs, reactive). Gruß aus dem Fränkischen
@kevinpeters62745 ай бұрын
Tolles Video :) Das Arbeiten mit Verhaltensmustern / Verhaltensvariablen scheint sehr spannend
@stefanspittank5 ай бұрын
Das freut uns. Danke für dein Feedback! 😊
@papperlapapp-dev6 ай бұрын
Der zweite Teil unserer Persona-Serie ist nun online. Im neuen Video sprechen wir darüber, wie man datengetrieben Personas modelliert: kzbin.info/www/bejne/oJyzn6WPpp2ZkLs
@stefanspittank6 ай бұрын
Und hier noch mal der Link zur ersten Persona Folge: kzbin.info/www/bejne/eaGTfpZrodGgY5Y
@tenyako6 ай бұрын
2 mal bereits, Teilnehmer waren immer angetan und äußerten oft das sie das erste mal das "big picture" gesehen haben. Muss dazu sagen das ich das immer recht unqualifiziert geleitet habe und es dennoch diesen Effekt hatte :)
@papperlapapp-dev6 ай бұрын
Tadaaa 🎉! Die Verlosung ist vorbei. Es gibt einen Gewinner! Herzlichen Glückwunsch an @oliverschmidt4055, du bist bei der enterJS dabei! Wir wünschen dir ganz viel Spaß bei der Konferenz! Und grüß den Nils von uns!
@stefanspittank6 ай бұрын
@@oliverschmidt4055 Das klingt doch super! Euch viel Spaß! Den Code für dein Ticket solltest du jetzt in deinem Postfach haben!
@NeverCodeAlone6 ай бұрын
Tolles Video. Danke Freunde!!
@TapiTapson7 ай бұрын
Tolle Folge. Bin aber wohl eher #teamclient ;)
@holgergp2 ай бұрын
Dankeschön! 🤗
@oliverschmidt40557 ай бұрын
Machmal #teamserver machmal #teamclient. Mehr #teamserver. Eine hervorragende Podcast-Folge! Grüße an Nils! Erinnere mich noch an die ganzen gemeinsamen ReactEurope Confes.
@nils-hartmann7 ай бұрын
Grüße zurück! Die ReactEurope confs waren cool... bzw. die erste vorallem heiß :-)
@papperlapapp-dev6 ай бұрын
Hallo Oliver, herzlichen Glückwunsch! Die Losfee hat deinen Namen aus dem Hut gezaubert. Du bist bei der enterJS dabei. Bitte melde dich bei [email protected], dann können wir dir deinen Gutschein schicken!
@ekipMagnetic7 ай бұрын
Top Folge! Viele gute Punkte dabei gewesen. Nils sowieso Legende! Durch das React Buch hab ich damals erst so richtig gepeilt, wie React funktioniert.
@holgergp2 ай бұрын
Oha! Dankeschön! 🤗 Und dass Nils ne Legende ist, da gibt es keine zwei Meinungen! 😀
@hydranooni7 ай бұрын
Echt toller Beitrag zu React und weiteres, doch ich habe einige Punkte, die ich erwähnen wollte: - Der Großteil vom React Team arbeitet immernoch bei Meta, Vercel hat zwei drei Mitarbeiter, welche an React arbeiten. - Klingt jetzt banal, aber alles was nicht als deprecated bei Next angegeben ist, ist wohl noch nutzbar. Sie haben bereits gesagt, dass Pages routes immer noch lange unterstützt wird - Next App router war 6 Monate in beta, trotzdem finde ich, dass Vercel den stable release zu früh angekündigt hat. Trotz dieser Punkte finde ich, dass dieser Podcast sehr toll war. Ich habe sehr viel mitgenommen und es war eine gemütliche Stimmung!
@julianbucher79507 ай бұрын
Auch wenn die Veltins-Flasche unter Holger's Sitz bereits richtig heftig ist :D Find ich das Feature auf jeden Fall "richtig geiler Scheiß". Wäre für Styling-Muffel wie mich das richtige Werkzeug ^^
@WolfgangMalgadey7 ай бұрын
Die ereignisgesteuerte Prozesskette (EPK) sieht für mich verdammt verwandt dazu aus. Kennt ihr die Visualisierung?
@stefanspittank7 ай бұрын
Ereignisgesteuerte Prozessketten kannte ich so noch nicht. Allerdings würde ich Event Storming auch nicht mit einer Prozessmodellierung wie Prozessketten oder BPMN vergleichen. Hier steht für mich der gemeinsame Workshop im Vordergrund und die Art und Weise, wie man gemeinsam mit Fachexperten den Prozess versteht und aufnimmt.
@blaawb7 ай бұрын
Wirds auch noch ein Speed-Date mit Remix geben?
@stefanspittank7 ай бұрын
Das klingt auf jeden Fall nach einer guten Idee. Unser Backlog ist gerade zwar schon gut gefüllt, aber wir schauen mal. 🙂
@saulgodman78728 ай бұрын
Habe euch gerade entdeckt und finde euer Format super, da ich mich mit React, Node und Next beschäftige, allerdings leider nur in meiner Freizeit. Ich habe mal eine Frage: Ich habe mir in den letzten Monaten ein Backend mit NodeJS gebaut, um eine SOAP API zu abstrahieren. Das funktioniert jetzt auch super. Jetzt wollte ich ein Frontend mit NextJS 14 darüber bauen und frage mich, ob ich mir mit Server Components die Arbeit hätte ersparen können? Ist das ne dumme Frage?
@Burkertikus8 ай бұрын
Da springt mir direkt Ramda in den Kopf :)
@papperlapapp-dev8 ай бұрын
Da hat uns mitten in der Postproduktion die Realität eingeholt. Also doch eine statische Methode und keine direkte Erweiterung der Collection-API. Leute, was haltet ihr davon?
@colaab19 ай бұрын
Es war mir eine große Freude! Danke für die Einladung.
@stefanspittank9 ай бұрын
Sehr gerne 😊
@papperlapapp-dev9 ай бұрын
Danke an Corinna und Herbert. Das hat viel Spaß gemacht mit euch. Und hier ist noch der Link zum im Video angesprochenen Comic: corinnalaabs.de/cooper-cooper-uber-personas/
@nils-hartmann10 ай бұрын
Moin! Kurzweilige Vorstellung! 😀 Ich kann mir auch gut vorstellen, dass sich Next.js weiter durchsetzt, zumal sich der App-Router mit RSC m.E. noch etwas "natürlicher" nach React anfühlt. (allerdings müssen die weiter an der Stabilität arbeiten, auf mich wirkt es teilweise so, als ob die sich etwas überhoben hätten auch mit den ganzen Caching-Features etc. ). Frage mich allerdings weiterhin, was das künftig für SPAs mit React bedeutet. Den "exports"-Mode finde ich zu limitiert (z.B. gehen da keine dynamischen Routen Segmente) und - wie ihr ja auch gesagt habt - scheint das mehr so eine Alibi-Funktion zu sein. Und die React-Leute (und die Next- und Remix-Leute ja sowieso) lassen überhaupt keine Zweifel aufkommen, dass sie SPAs zu limitiert finden (schöne Erkenntniss nach zehn Jahren SPA...). Für Leute, die im Backend bereits fertige Anwendungen ohne JavaScript haben, entfällt ja zumindest ein Teil der Vorzüge von Next/Remix, z.B. der direkte Zugriff auf die DB und auch die eigene bestehende (REST/HTTP) API muss erstmal kompatibel sein mit Dingen wie Server Actions, damit man davon profitieren kann... Was ich in diesem Zusammenhang übrigens super finde, ist der "Why Astro"-Abschnitt in der Astro-Dokumentation. Da steht klar drin, für welche Anwendungen sich Astro eignet, und für welche nicht und welche Kompromisse man eingeganen ist. Da könnten sich viele Frameworks eine Scheibe von abschneiden (würde vielleicht auch die Debatten an der einen oder anderen Stelle versachlichen).
@ashgorin10 ай бұрын
Das hier ist wirklich ein guter Klassiker, aber was gibt es denn noch für Mentale Modelle im digitalen Kontext, die die User noch so sehr und deutlich spalten?
@NeverCodeAlone10 ай бұрын
Sehr schön Danke Freunde!!
@papperlapapp-dev10 ай бұрын
Immer gerne
@nickprosch236810 ай бұрын
Danke Jungs, hatte viel Spaß mit euch!
@Alltagsabenteuer11 ай бұрын
Vielen Dank für die Einladung, es hat mir große Freude bereitet mit euch zwei Papperlapappnasen zu drehen!
@papperlapapp-dev11 ай бұрын
Ein dickes Dankeschön an dieser Stelle an den Andreas (@Alltagsabenteuer) für die Unterstützung bei der Aufnahme. Das hat viel Spaß gemacht!
@NeverCodeAlone11 ай бұрын
Danke aus dem Internet.
@rami.a313 Жыл бұрын
Ich finde es cooles Feature von CSS und werde die langsam in die Apps wo ich momentan arbeite benutzen Danke euch!
@TheAlexLichter Жыл бұрын
Das war ein top Abschluss für das Tagesprogramm 😋
@SimonHarrer Жыл бұрын
Danke für das coole Video über das Tool! Ich gebe das Lob gerne weiter an alle, die bei dem Tool mitgeholfen haben! Sind ja mittlerweile über 70 contributor, ohne die das nie zu dem hätte werden können, wie es jetzt ist! Insbesondere an Joshua und Gregor, die gerade als sehr aktive Maintainer die Weiterentwicklung steuern und betreuen.🙂
@stefanspittank Жыл бұрын
Dann gib unseren Dank bitte weiter. Für uns ist das Tool eine echte Bereicherung!
@thorwinhh Жыл бұрын
Schön die Hülse mit ins Video genommen. Prost :D Cooles Tool. PS: ich brauche so einen "HUMAN" Aufkleber :)
@holgergp Жыл бұрын
Es war spät! 😅Und es kann sein, dass ich das vergessen habe. 😀 Naja! Bestes Sauerländer Bier der Welt! 😀
@stefanspittank Жыл бұрын
Den Aufkleber kannst du bei Qwertee bestellen. Kann ich hier leider nicht verlinken (sonst löscht KZbin den Kommentar).
@k3v1n0x90 Жыл бұрын
Ich finde HTMX könnte für die "Dynamisierung" von existierenden "klassischen" Anwendungen eigentlich nicht schlecht sein und auch bei "einfachen" Backoffice Anwendungen die eigentlich nur Dateneingabe sind könnte das ganze relativ einfach etwas Dynamik hinzufügen.
@Massenhaft1 Жыл бұрын
elm - schön, aber leider wird es nicht verwendet.
@marcoemrich7873 Жыл бұрын
#teamstefan ich freu mich über alles was mir hilft Komplexität im JavaScript-Code zu reduzieren!
@stefanspittank Жыл бұрын
😀
@romanigk Жыл бұрын
Völlig unwissend, aber doch eher #teamholger. Yet another IE x switch. 👀
@kevinpeters6274 Жыл бұрын
Boar, try kenn ich. Das catch ist dann sicher auch nicht weit :D
@stefanspittank8746 Жыл бұрын
Leute, ernsthaft. Das ist großartig. Da kann man nur #teamstefan sein!
@holgergp Жыл бұрын
#teamholger
@rip-off749 Жыл бұрын
1:58 🤣 No sane person can like that Java thrash. JS is quite nice though.