programmier.bar icon
News 44/23 –

Apple Scary Fast Event // Next.js 14 // Global Day of Coderetreat

01.11.2023

Shownotes

Fabi und Jan lassen das vergangene “Scary Fast” Apple Event Revue passieren und sprechen über die Vorteile der neuen M3-Prozessor-Generation von Apple und für wen sich ein Umstieg wirklich (nicht) lohnt.

Wie jeden November steht auch dieses Jahr wieder der Global Day of Coderetreat an. Jan erklärt, was ein Coderetreat ist und was die Teilnehmenden erwartet. Bei einer einfachen Implementierung von Conways Game of Life soll es explizit nicht um das nächste große Ding gehen, sondern um die eigene Entwicklung und den handwerklichen Umgang mit Code.

Anschließend berichtet Fabi, was es bei Next.js 14 Neues gibt. Obwohl die API Stabilität im Vordergrund steht, gibt es mit Turbopack, Server Actions und Partial Prerendering einige spannende Neuerungen.

Außerdem freut sich das programmier.bar-Team über das Feedback zur letzten News-Folge und alle verstehen jetzt den Unterschied zwischen CommonJS und ES Module in JavaScript besser – auch wenn weiterhin Unklarheit über zugrunde liegende Motivation besteht.

/transkript/programmierbar/news-44-23-apple-scary-fast-event-next-js-14-global-day-of-coderetreat
Hallo und herzlich willkommen zu einer weiteren programmierbaren News, bei der ich gerade merke, dass ich nicht weiß, welche Kalenderwoche wir haben. Stellt euch vor, ich hätte sie gesagt. 44, 23. Danke ihr das. Habt ihr ja schon gehört. Hier ist der Jan. Hi Jan. Hi. Und der Fabi. Wir sind in der Kalenderwoche 44, 23 und haben ein paar Themen für euch dabei. Heute sind wir zu zweit, haben aber drei Themen für euch. Nextjs hat einen großen Major Release rausgebracht mit der Nummer 14. Es gab die Scary Fast, das Scary Fast Apple Event am Montag, über das wir uns unterhalten können und über Code Retreat mal wieder ein Event, was Jan uns hier mitgebracht hat. Und lass uns mal einsteigen, weil normalerweise machen wir für sowas ja immer Special Dinge. Apple macht irgendwelche Events. Wir setzen uns abends zusammen hier ins Büro, trinken einen Gin Tonic und nehmen danach direkt eine Folge auf. Dieses Mal haben sie es alles irgendwie ein bisschen später gemacht und es wäre bei uns eine Nachts gewesen. Wir dachten, na ja, für Scary Fast bleiben wir vielleicht jetzt nicht so lange auf. Jan, was gab es denn da? Kurze Rückfrage erst. Warst du wach? Nee, ich wäre unserer Zeit wäre es ein Uhr gewesen, oder? Ich glaube schon. Ja, irgendwie sowas. Nee, ich bin nicht wach geblieben. Du hast noch geguckt. Bist du deswegen wach geblieben oder bist du.? Nein, ich war ja mit der Website beschäftigt, kurz vor dem Apple Event und habe dann entschlossen, aber doch auch ins Bett zu gehen und das irgendwie wie vernünftige Menschen einfach am nächsten Tag zu gucken. Ja, ich habe es dann morgens einfach nachgeholt. Ja, wir haben neue Prozessoren gekriegt, M3 Prozessoren für das ganze MacBook Pro Line up und den IMAC. Für alle, die sich nicht mehr dran erinnern, der IMAC ist schon ein bisschen länger nicht mehr angefasst worden. Das ist ja all in one Computer. Aber zumindest gab es ja mit den M1 Chips so lange, also jetzt zumindest habe ich. Die M2 Reihen. Das ist jetzt auch schon zweieinhalb Jahre her oder so was. Ich glaube der iMack ist irgendwie gefühlt der neue Mac Mini in dem Sinne von wann, ob und wie er geupdatet wird, weiß man irgendwie vorher nicht mehr ganz so gut. Bei den MacBooks haben sie ja mittlerweile irgendwie eine sehr saubere Kadenz hingekriegt, dass das irgendwie regelmäßig passiert, auch wenn es immer nur kleinere Jums oder sowas sind. Aber beim IMAC, so wie früher bei Mac Mini, fragt man sich halt mittlerweile so, ja, was kommt da halt noch? Aber ich frage mich auch, es gibt beim IMAC eigentlich eine andere Zielgruppe als fancy Shops in Berlin, Prenzlauer Berg, die das als ihr Kassensystem benutzen? Also gibt es noch eine andere Zielgruppe für IMAC, so dass die, dass die an der Kasse stehen und man sieht, das ist ein IMAC? Ich finde das gerade beim IMAC in Apples Promomaterial immer so geil, wie sie, weißt du, das ist dann so Shots, wie er irgendwie auf dem Küchentresen steht und so ein Kind macht da seine Hausaufgaben. Also no way. Also wenn mein Kind irgendwann mal seinen IMAC in meine Küche stellen will, würde ich auch sagen. Es ist wahrscheinlich hoffentlich auch eher dein IMAC als dein ihr IMAC. Das klingt ja eher dann nach dem Familien IMAC, der irgendwo rumsteht. Ich glaube, so so EDU Space ist es vielleicht irgendwie auch noch ganz cool, wenn du halt so Workstation irgendwie am Stück anbieten musst. Und ich glaube auch wenn du davon irgendwie ein paar hundert kaufst, kriegst du es bestimmt auch noch billiger. Aber ansonsten ja, das sind halt irgendwie coole Kiosk Modelle oder sowas. Rezeption Desk im Hotel, keine Ahnung. Also ehrlicherweise muss man dazu sagen, wahrscheinlich jeden Use Case, den diese M3 IMAX jetzt bedienen werden, kriegst du auch mit einem M1 Prozessor wahrscheinlich sehr, sehr gut abgefrühstückt, ohne Probleme damit zu haben. Aber es ist ja auch einfach eine Frage der Außenwirkung irgendwann. Also wie lange kannst du einen zwei, drei Jahre alten Prozessor noch verkaufen? Und da kommt ja auch Apples Pricing Policy mit rein. Es ist ja nicht so, dass wenn sie da zwei Jahre einen M1 Prozessor drin lassen, dass das irgendwann mal günstiger wird, sondern das ist ja UVP bis zum bitteren Ende. Ja, aber ich meine, aber das ist ja irgendwie auch gefühlt so ein bisschen die große Erkenntnis. Das ist so die Frage, wer braucht jetzt wirklich was sie da jetzt rausgebracht haben? Die mit den M3 Prozessoren? Ich meine, beim IMAC haben sie ja immerhin den Switch von M1 auf M3 gemacht. Ich glaube, da haben sie irgendwie auch geschrieben in ihrem Benchmark irgendwie, keine Ahnung, in allen möglichen Benchmarks 50% schneller und haben wir immer mit M1 verglichen. Weil wenn man mal die Benchmarks von M2 auf M3 vergleicht, ist der Sprung jetzt auch nicht mehr riesig. Aber auf jeden Fall ist es halt schon. Klar, ich meine, es gibt gefühlt ist das, was Sie da jetzt... Was sie da jetzt gerade rausgebracht haben, ob es jetzt lohnt. Du hast gerade ein M2 MacBook oder irgendwas mit einem M2 Prozessor und willst auf M3 updaten. Dann musst du halt jetzt aktuell das Ding auch schon ausgemaxt haben. Und das ist halt die Frage, bei was du irgendwie bist. Jetzt haben sie ja irgendwie Hardware Xcellerated Rate Tracing irgendwie mit drin. Das heißt, wenn du irgendwie ein bisschen, keine Ahnung, machst du MIA und bist irgendwie wirklich im 3D Space da irgendwie unterwegs und bist jetzt schon so denkst du bringst den M2 Chip zum Glühen, dann ist es auf jeden Fall eine Option jetzt zu updaten. Aber ansonsten selbst mit einem M1, ich meine, die haben einen krassen Sprung gemacht. Generell, was man bei Prozessoren sieht, irgendwie eher ein stetiges Wachstum und so und jetzt keine großen Liebford mit ihren mit ihren Silicon Chips von von Intel auf Silicon war ja krass. So also der Unterschied heftig würde ich jedem empfehlen, diesen den den Jump zu machen. Aber jetzt sind wir halt in einem Bereich, wo man sagen muss ich habe gut, meiner hat jetzt gerade M2, aber mir würde auch locker der M1 reichen. Ich brauche kein M3 für das, was ich tue, für meine Development Tätigkeit. Man sieht das ja auch an Apples eigener Kommunikation. Auch in der Präsentation haben sie ja ganz oft gesagt Hey, dieser M3 ist halt irgendwie immer so schnell wie das letzte schnellste Intel Modell. Also du siehst schon, wen sie versuchen irgendwie gerade noch mitzunehmen. Es ist nicht derjenige, der jetzt wie du und ich hier schon mit einem M2 Max irgendwie da sitzt, sondern es sind die Leute, die noch so der letzte Intel Held sind, die sie jetzt langsam mal mit rüber ziehen wollen. Und halt die, die hier schon auf irgendwie Silicon Chips sind, da ist halt dann immer so die Frage, wie verkaufen sie es und wie kriegen sie Leute doch noch drauf? Und ich meine, ein Part, was bei Apple ja durchaus immer gut sieht, sind dann ja einfach Look and Feel ein bisschen zu verändern. Sie haben jetzt ihre neue Farbe bei den MacBook. Wie heißt es? Space Black. So nachdem Space Grae jetzt irgendwie die letzten zehn Jahre die dominante Farbe war oder länger, ich glaube Space Grae gab es schon ein bisschen her. Es ist jetzt Space Black und ich muss schonsagen so. Will man schon halt haben. Also es war auch auch ich. Wir haben ja auch noch einen Channel zusammen mit dem Philipp, mit dem ich ja die AI News mache. Und da war auch direkt so, dass er reingeschoben und wer wie viel habt ihr schon bestellt vom schwarzen und so ist halt. Man unterhält sich nicht darüber und da der M3 Mac, sondern ist ja jetzt schwarz und macht macht ihr es jetzt. Und ich meine, das ist schon der Punkt, so ein Verkaufsargument. Das ist halt so, weißt du, du hast jetzt ein M2 Mac, kaufst du ein M3 Mac und du kaufst den danach weißt du eigentlich gar nicht mehr, dass du ein M3 Mac hast, weil ich meine, es funktioniert wahrscheinlich alles genauso schnell wie vorher. Wenn der jetzt aber schwarz ist und du hast einen schwarzen stehen, dann guckst du den an und denkst, ich habe das neue Modell und andere sehen es auch. Ich weiß ja nicht, wie lange du schon auf Macs unterwegs bist, aber die Leute, die schon länger mit dabei sind, die werden sich erinnern, dass ja die weißen Plastik-Polikabonadienhat MacBooks. Da hatte ich noch nicht genug Geld, in dem Game mitzumachen. Das war tatsächlich mein erster Mac damals. Und den gab es ja auch in Schwarz. Aber in Schwarz gab es den halt nur, wenn du den mit dem größeren Prozessor und mehr Ram irgendwie geordert hattest. Und dafür hat es dann damals bei mir als armer Schüler irgendwie auch nicht gereicht. Aber sie machen das selbe Spiel halt gerade wieder. Das Base 14 Zoll Modell kriegst du nicht in Schwarz, das mit dem M3. Du kriegst nur die Modelle mit einem M3 Pro oder mit einem M3 Max in schwarz, damit man sich auch in dieser Pro Reihe nochmal so ein bisschen weiter distanzieren kann voneinander. Das ist irgendwie auch abgefahren. Und wenn wir schon über die Unterschiede von den M3 Prozessoren sprechen. Ich fand es auch erstaunlich, wie explizit sie dieses Mal darüber gesprochen haben, wer halt so die Zielgruppe ist für diese ganzen Prozessoren. Ich meine, sie haben explizit einmal in einem von diesen Clips aufgelistet, so Hey, dieser M3 ist voll cool, wenn du Musik machst, wenn du Student bist, wenn du irgendwie im Office arbeitest, bla bla bla. Dieser M3 Pro ist voll cool, wenn du Developer bist oder Stamm Research machst oder im Medical Bereich halt irgendwie unterwegs bist und so weiter und so fort. Und dieser M3 Max, der ist eigentlich genau richtig für dich, wenn du so Visual Design, 3D Rendering, AI etc. Irgendwie machst. Das war ja das, was lange so ein bisschen gefehlt hat, diese Ausdifferenzierung. Und dass sie das jetzt so einmal ganz klar ausdekliniert, das fand ich überraschend. So von Apple. So ist man es eigentlich nicht gewohnt, aber es ist ja trotzdem gut. Ja, stimmt, kannte ich auch nicht. Ich habe ja, muss auch sagen, ich habe das Event selbst gar nicht gesehen, sondern eher nur Zusammenfassung darüber gesehen. Deswegen habe ich das gar nicht mitbekommen. Aber ich habe auch noch mal, als ich auf die Homepage gegangen bin, was ich auch noch mal krass finde, ist einfach so, ich meine, ich habe hier ja, ich habe gar kein M2. Siehst du mal, ich habe ein M1 Max so viel daDas ist das, was ich gerade gesagt habe. Ich habe es nicht mal gemerkt. Ich bin gar nicht auf M2. Ich habe ein M1 Max mit aber 64 Gigabyte Memory und ich habe überhaupt gar keine Ambitionen zu updaten. Das macht noch mal den Punkt ganz gut so, weil ich habe es gar nicht gewusst, weil ich habe immer noch die gleiche Farbe. Da gab es keine neue Farbe, deswegen habe ich den Unterschied nicht erkannt. Das ist mein Testimonial. Also ich habe auch gar keine Ambitionen zu updaten. Wenn ich jetzt aber auf die Homepage gucke, finde ich auch cool. Ich meine, es ist immer noch ein Haufen Geld, aber du kriegst ein Apple 14 Zoller MacBook Pro mit schon einem M3 Chip drin und irgendwie 16 Gigabyte Memory in einer 512er SSD für 2.000 €. Und ich muss ganz ehrlich sagen, klar, ich würde irgendwie SSD updaten, vielleicht würde ich auch ein bisschen Memory überlegen, aber eigentlich ist das ein Setup, mit dem kann ich alles machen und wird wahrscheinlich auch selbst da seltener meine Grenzen kommen. Und das finde ich schon, deshalb mit der Evolution hat schon krass, dass du diese Einsteigstiegsmodelle, du musst nicht mehr irgendwie überall max drücken, irgendwie deine, so für sagen wir mal so die Development Practices, wenn du nicht was noch extremen visuellen Bereich machst, kriegst du dann ein super krasses Gerät dafür. Und ich meine, das ist natürlich auch der Punkt. Mit größeren Chips kommen halt auch die kleineren Modelle mit immer mehr Power. Und ich weiß gar nicht, wie vergleichst du ein M1 Max mit einem M3 Standard? Ein M1 Max mit einem M3? Keine Ahnung. Das hat glaube ich noch niemand aufgezeigt. Aber ich glaube auch, was du gerade gesagt hast, das Line-Up macht jetzt halt endlich auch mal wieder Sinn. Dieses komische 13 Zoll MacBook Pro mit dem M2 normalen Prozessor drin und mit der Touchbar und so, das gibt es jetzt halt nicht mehr. Damit werden auch keine Touchbar Max mehr verkauft. Das freut bestimmt auch ein paar Leute da draußen. Und du kannst jetzt halt relativ sorglos jedem eigentlich empfehlen, kauf dir halt ein MacBook Pro, egal wenn es das kleinste ist, also in dem Fall dann das kleinste 14 Zoller mit dem M3, dann machst du halt auch nichts verkehrt. Man kann immer noch sicherlich endlos lange darüber diskutieren, wie fair oder berechtigt Apples Upgrade Preise für RAM und SSD sind. Da ist immer ein Premium mit dabei. Aber per se kannst du dir jetzt gerade kein MacBook mehr kaufen, mit dem du irgendwie schlecht beraten wärst. Und ich würde sagen vorher das alte 13 Zoll. Man kann ja sogar auch sagen, mitdu kannst du dir einfach ein MacBook Air kaufen mit einem M2 Chip. Ja, das meine ich ja. Egal was du nimmst, das passt. Egal was du nimmst, das passt. Und vorher war halt immer so das Risiko, dass die Leute noch so dieses komische alte. … Machst du nur Microsoft Office oder … Gut, in dem Fall nicht Office, sondern Pages und so weiter. Also machst du wirklich nur Browsen und Dokumente schreiben oder willst du wirklich was damit anfangen? Die Frage musste man schon vorher stellen. Ja, ist cool. Ja, cool. Und sonst war ja auch interessant, ganz am Ende haben sie unter dem Logo dann noch mal gezeigt, so ganz am Ende den Reel, dass das ganze Event auf einem iPhone gefilmt wurde. Ja, also ich fand das auch cool und ich habe mir danach auch dasmaking of, was sie veröffentlicht haben, angeguckt. Und ich glaube, hinter diesem Short on iPhone müsste halt der größte Stern deines Lebens irgendwie noch stehen. Weil natürlich ist der Sensor, mit dem sie das gefilmt haben, ja, das war irgendwie ein iPhone. Aber wenn du dir in demmaking of halt mal anguckst, was für eine Belichtungsanlage und was für ein Riggingsystem und welche Dolligräne und alles die da halt irgendwie im Einsatz hatten. Also da ist dann am Ende wahrscheinlich auch komplett egal, was für eine Kamera da drin ist. Mit so viel Lightning und so viel Automatisierung wirkt es eigentlich immer ganz geil. Aber was ich cool fand wieder zu sehen ist, wie wenig von diesen Effekten eigentlich CGL sind. Also wenn sie da in irgendwelche Räume reinfliegen oder sowas, das machen sie halt alles irgendwie mit feinster Kranarbeit und sauber charografiert. Und deshalb wirkt es glaube ich am Ende auch so cool, weil sie dann diesen Übergang zu dieser anfliegenden Kamera bis zu die Person spricht irgendwie los vor dem großen Screen, der auch echt ist und kein Blue Screen irgendwie. Das also, das verhindert halt so dieses Uncany Valley da drin so ein bisschen. Das ist bestimmt mega viel Arbeit und ich will gar nicht wissen, wie viel Gerüst und Kranbau arbeiten sie irgendwie dafür gebraucht haben. Aber es zeigt halt einfach, dass Produktion Value sich nicht durch CDI irgendwie ausgleichen lässt. Und es ist auch wieder mal ein Part mit Apple, wo man ja auch sagt, sie sind halt alles in der Phase von Produktzyklen mit den Silicon Chips, haben wir ja gerade gesagt, haben sie schon geschafft, irgendwie einen großen Jump zu machen, aber ja eher inkrementelle Verbesserungen machen. Aber sie es trotzdem schaffen mit sowas. Das ganze Event wird auf dem iPhone gefilmt. Ich meine, das erste Mal, was so weitererzählt wird, nicht jeder guckt sich jetzt dann ganz genau dasmaking of an und so und ich gehe auf jeden Fall auch mit deiner Analyse da mit. Aber es hat ja trotzdem mal wieder diesen Part so, das wird so bei Diskussionen über Kamera und sowas wird verfallen. Aber guck mal mit dem iPhone, hier das Apple Event sogar ist komplett auf einem iPhone gedreht. Und es ist erst mal irgendwas, was sich halt ganz gut vermarkten lässt. Und bestimmt auch wenn man sich über Kameras unterhält und ja gerade bei einer iPhone Kamera sich nicht wirklich über Spacks unterhält, sondern einfach nur sagst, es ist einfach unfassbar gut und dann passt sowas ganz gut in den Narrativ rein. Also das können sie einfach. Ja, das ist richtig. Cool, Apple. Also hast du es jetzt bestellt eigentlich, Space Black? Ist es. Schon gekauft? Ich habe doch jetzt gerade erst ein neues M2 Max stehen. Ich kann es nicht mit mir irgendwie vereinbaren, noch jetzt so ein schwarzes zu kaufen. Aber wenn es mir morgen aus Versehen die Treppe runterfällt …. Bei meinem M1 Max, das einzige, was ich überlegen müsste, meine K-Taste auf meinem MacBook geht nicht mehr so gut. Ich muss da relativ heftig drauf hämmern. Das wäre. Eigentlich ein Grund zu updaten. Und bevor man das irgendwie in den Stopp bringt und reparieren lässt, einfach wegschmeißen, neues kaufen. Nee, das wäre wirklich … Da muss schon Neues sein. Die Farbe ist ja dann auch schöner. Alright, NextJS14, können wir uns noch drüber unterhalten. Es gab vor fünf Tagen die NextJS Konf und eine neue Major Version kam raus, obwohl da auch glaube ich in der, wirs sind ja nicht so im React Next. Js Ökosystem unterwegs, aber in der Community selbst gab es wohl auch viele Kommentare. Ah, Major, wir sind schon wieder, ich habe doch gerade Next13 gelernt, jetzt muss ich da gucken, wie das funktioniert. Und da muss man sagen, der Talk fing auch an mit keine neuen APIs. Also eigentlich bleibt alles erst mal gleich und man benutzt Next. Js 14 nicht anders als Next. Js 13. Es sind Dinge in einer Stably Version gekommen. Es gibt ein neues Feature im Preview, was auf jeden Fall sehr interessant ist, aber so die drei Main Dinge, die sie genannt haben bei NextGS 14 ist einerseits Turbo Pack so, sie bauen den NextJS Compiler auf Turbo Pack und auch für Next Dev kann man ja jetzt schon mit dem Experimental Flake minus minus Turbo auf Turbo Pack umstellen, statt Web Pack. Ist aber noch so, dass sie noch nicht ganz da sind. Also sie haben, glaube ich, alle Tests, die für die grundsätzlich für den Compiler geschrieben sind. Ich weiß gar nicht, Sie haben irgendwo auch genannt, wie viele es sind, aber auf jeden Fall haben sie aktuell 90% der Tests, genau 5.000 Integration Tests haben sie für Next Dev, die jetzt durchgehen mit Turbo Pack. Das sind 90% aller Tests und sobald sie auf 100 Prozent sind, tauschen sie Turbo Pack mit Webpack aus. Ne andersrum, Webpack mit Turbo Pack aus und haben ein Beispiel gegeben. Zum Beispiel die Verserle. Com, was ja auch selbst eine große Next. Js-applikation ist, wenn es mit Turbo Pack gebaut wird oder gestartet wird, das Local Server Startup ist 53 Prozent faster und der Code, der Hot Module Replace, also der Refresh ist 95 Prozent schneller, was sie sagen davon, das sind so Benchmarks, von denen kann man ausgehen, wenn man eine große Next-Applikation hat und auf Turbo Pack umstellt, kann man ungefähr so ein Performance-Improvalment erwarten. Und wie weit sie sind mit dem Ganzen, kann man auch sehen auf areweTurboJet. Com, wo sie genau sehen, aktuell ist immer noch No. 92% of next Dev Tests are passing thow. Also Sie sehen, insgesamt sind es 5691 Tests, die passen müssen. Und es sind immer noch einige, die nicht passen. Aber wenn ihr daran interessiert seid, aweeturbojett. Com könnt ihr euch anschauen und könnt den Progress mitnehmen. Ganz coole Seite auf jeden Fall. Interessante Seite. Und vor allen Dingen sind sie ehrlich genug zu zeigen, dass es halt auch mal kleine Setbacks gibt. Also wenn man sich den Graph da so anguckt, ist zwar der über Zeit der Fortschritt auf jeden Fall positiv, trennt nach oben. Aber ab und zu geht es halt auch mal wieder so zurück. Und wahrscheinlich sind das irgendwie alte PRs oder sowas, die rein gemerged werden, die halt irgendwie dann noch so ein bisschen Legacy nicht geturboote Tests mitbringen oder sowas. Ja, obwohl ja in dem Zuge, ist irgendwie komisch, weil es die Gesamttest Menge wird weniger und die, also man sieht ja auch wie viele Tests passen. Die absolute Zahl wird weniger als auch die overall Tests werden weniger. Also irgendwie ist es auch einfach ein Bug. Der beste Code ist der, den du löschst. Wer weiß. Ja, aber dann löschst du passend. Interessant auf jeden Fall. Vielleicht ja auch irgendwelche Mix-Up-Mitarbeiter. Aber es ist auch über einen langen Zeitraum. Dann guck dir die Seite mal selbst an, ist ganz witzig. Über einen Tag. Okay, dann geht es wieder hoch. Vielleicht war es wirklich irgendwas falsch gemacht und wieder zurück. Genau. Ansonsten zwei Features. Das eine ist, wir hatten ja auch schon mal eine Folge über Remix, was auch ein Framework ist, was sehr auf Browser Standards setzt und ein Teil, den wir da sehr lange besprochen haben, ich weiß gar nicht mehr genau, wie es in Remix heißt. In Next heißt dieses Konzept auf jeden Fall, was es schon seit Next 13, glaube ich, gibt, aber jetzt im Stable sind die sogenannten Server Actions, dass man ja aktuell bringt ja sowas wie Next. Js als auch Next. Js die Möglichkeit mit, dass man Serverfunktionen schreiben kann und die einfach in -das gibt es ja schon bei Next. Js seit der Version 9 -einfach in der API Directory irgendwie einen Backend Service einfach legen kann, der automatisch mit hochgefahren wird, je nachdem wo es gehostet wird und so sozusagen eine Full-Stack-Applikation komplett in Next. Js schreiben kann, aber man trotzdem noch so ein bisschen getänzelt machen muss, beispielsweise weil man will Form-Daten an einen Service schicken, so muss man trotzdem noch den Fetch ganz händisch aufrufen in seinem JavaScript muss irgendwie mit dem Response zusammenarbeiten, sein Formular updaten. Und jetzt gibt es das neue Prinzip der Server Actions, das jetzt im Stable ist, also nicht ganz neu, aber zumindest so, dass es jetzt für jeden nutzbar ist und sich da auch wieder der Webstandard bedient. Und eigentlich vom Prinzip her, ich höre euch da gerne mal auch die Remix-Folge an, die wir damals gemacht haben, eigentlich ziemlich gleich funktioniert, wo man jetzt solche Server Actions schreiben kann, die erst mal aussehen wie Client Code. Also man schreibt ganz normal seinen JSX, hat dann aber beispielsweise einfach in der... Man hat eine Page mit einem Formular, schreibt man den Server Code als auch den vermeintlichen Client Code, so sieht es aus in einem File und kann einfach anstatt eine komplette Definition eines Service Endpunkts zu schreiben, kann man eine einfache JavaScript Funktion oder TypeScript Funktionen schreiben, die man in dem Fall einfach create nennt, die ein Form Data Objekt entgegen nimmt. Und diese Funktion kann man einfach in dem Formular im JSX einfach in die Action reinsetzen. Kann sagen, die Action soll sein, ruf diese create Funktion auf und im Endeffekt übernimmt NextJS dann für einen den kompletten Flow, wie das Formular validiert wird, dass man das direkt beispielsweise in die Datenbank schreiben kann, dass man den Formset automatisch aktualisiert, dass man beispielsweise so Convenience Funktionen wie Optimistik UI Updates hat, dass man sagt okay, auch wenn die Daten mal geschrieben sind oder nicht zurückbekommen habe, gehe erst mal davon aus, es sei schon umgeschrieben und behandele nur den Fehlerfall, falls einer zurückkommt und mit sehr, sehr wenig Code für ein Formular ausfüllen mit Validierung und Update in der Datenbank bekommt eine Funktion, was echt super cool ist und vor allem dadurch, dass es auf Web Standards aufsetzt, halt teilweise auch ohne JavaScript ganz einfach funktioniert. Aber man darf sich davon auch nicht beirren lassen, dass es trotzdem, also es ist nicht, dass das jetzt Client Code ist, sondern es ist natürlich alles Server Code, der einfach nur der Server kümmert sich sozusagen darum, welcher Teil an den Client zurückgegeben werden muss. Auf jeden Fall super coole Funktion eines der Features, was wir eigentlich immer mal dachte, ich würde eigentlich gerne mal Remix nutzen und jetzt auf jeden Fall ein Stable in Next. Js ist. Also bei Remix heißt das Rout Action. Kann ich dir sagen als alter Remix Hase hier. Ja klar. Das ist glaube ich so ein guter Indikator dafür, wie diese ganzen JavaScript Frameworks gerade so ein bisschen zusammenfinden irgendwie. Ich meine, wir haben das ja auch in unserer Folge mit Alexander, die übermorgen rauskommt, wo wir über NACS sprechen, auch schon mal so ein bisschen angeteasert, dass ganz viel, was irgendwie gerade in diesen einzelnen Frameworks passiert, im Prinzip auch in den jeweils anderen immer so ein bisschen passiert. Also ganz ehrlich, ob das jetzt Server Action oder Route Action heißt, das ist jetzt erst mal egal. Aber ich glaube, ganz viele Konzepte standardisieren sich da gerade auf eine gewisse Art und Weise. Ja, auf jeden Fall. Und hast du... Ich habe jetzt die Folge, konnte ich noch gar nicht hören, habe ich auch noch nicht vorher reingehört. Nax, ich mache mittlerweile nicht mehr so aktiv in der Aktienentwicklung. Haben die auch das Rout oder Server Action Konzept eigentlich? Habt ihr euch darüber unterhalten? Ohne da zu viel zu sporern. Ja, da gibt es auch so was ähnliches. Aber am besten einfach mal in die Folge reinhören. Dann hört rein. Freitag übermorgen. Aber ja, darüber haben wir halt eben auch gesprochen und auch so ein bisschen darüber, über die Frage, inwieweit das vielleicht auch so forciert werden sollte. Also macht es Sinn, dass sich so Frameworkentwickler einfach auch mal so an einen großen runden Tisch setzen und sagen Okay, wollen wir das vielleicht sogar formell standardisieren, wie das funktioniert, damit man Code Sharing machen kann, damit nicht jeder das Rad neu erfinden muss? Das war ganz, war ganz interessant. Es hat immer der Vorteil, wenn man Gäste da hat, die halt auch so ein bisschen zum Mähnter Kreis gehören. Ja nice, dann werde ich mir die Folge auch mal anhören. Aber du wolltest eigentlich zwei Sachen vorstellen. Genau. Next Jahr ist also ich habe das, das kam ins Stable, was es vorher schon gab, was im Preview kommt, ist Partial Pre Rendering. Also das würde ich dieses ganze Server Centering und was ja so ein bisschen nicht so wirklich optimiert wurde oder sogar langsamer wurde durch Server Centering, ist so der Initial Pageload, also das erste HTML. Also man ist sehr viel schneller an einer Applikation, die sozusagen die wirklichen Daten des Users anzeigt und durch Server Site Rendering der Punkt, an dem die Seite interaktiv ist und mit meinen Daten gefüttert ist, viel schneller. Was man aber so ein bisschen aufgegeben hat durch Server Site Rendering, ist das initiale, das statische HTML, das erst was ausgeliefert wird. Also wie schnell ist der State von weißer Seite hin zu ich sehe überhaupt etwas, dass das langsamer geworden ist dadurch und Partial Pre-Rendering will das Ganze so ein bisschen lösen, indem man sagt okay, es gibt, dass man danach dynamischen Content hat mit einem Fast Initial Static Response, also dass du eine Seite bekommst, ein statisches HTML, was schon irgendetwas anzeigt, mit dem man etwas anfangen kann und sich einfach schneller anfühlt. Man ist am Ende nicht schneller bei einem interaktiven Ergebnis mit den eigenen Daten und so weiter, aber man ist einfach schneller bei einer überhaupt einem First Pain der Seite. Und genau das ist aktuell noch im Preview Feature. Und wenn man grundsätzlich gerade schon React Suspens nutzt, dann geht es eigentlich out of the box, sodass alles, was an den Suspens Boundaries genannt wird, sozusagen dann in dem ersten Static Response schon direkt zurückgegeben wird. Und was auf jeden Fall eigentlich keine großen, wenn man gerade im Server-Side-Rendering-Kontext jetzt mit Next unterwegs ist und nicht eh das ganze Static Site Generated macht, dann eigentlich erst mal nur Vorteile bringt. So aus dem, was ich jetzt hier, was ich jetzt hier so sehe, ist aber auch noch im Preview. Der einzige Unterschied ist, man muss halt schauen, dass es eben alles mit React Suspence Boundaries umgeben ist, was sozusagen dynamischer Content ist. Das muss gegeben sein. Aber wenn man das eh schon hat, dann sieht es erst mal auf jeden Fall ganz cool aus, sodass man beispielsweise sagen kann, keine Ahnung, das Beispiel ist hier, du hast irgendwie einen Shopping Card, der ja erst mal zum Beispiel aus deinen Cookies deinen aktuellen Card rauslesen muss, sich die Produkte gegebenenfalls holen muss und das halt erst mal überhaupt dann einen Shopping Card Skeleton hast, der zumindestens beim First-Pain erst mal leer ist und dann erst danach aufgefüllt wird. Cool. Aber jetzt im Preview, Partial Pre-Rentering, probiert es gerne mal aus, wenn ihr NextJazz bei euch in den Produkten nutzt. Eine Sache, die mir noch mal über den Tisch gekommen ist, als den Newsletter zur NextJS Announcment gesehen habe, den Newsletter von Marcel, ist mir aufgefallen, dass sie dieses V-Zero, dieses Generative UI für Komponenten, worüber wir in der letzten oder vorletzten Newsfolge mit Sebi gesprochen hatten, haben sie da auch noch mal gepusht in den Newsletter und gesagt So, das geht jetzt gerade von Alpha zu Beta und wir machen, holen gerade mehr Leute von der Warteliste rein. Also falls ihr euch da nach dem letzten Mal angemeldet habt, ist die Chance groß, dass ihr vielleicht jetzt auch bald mal da reinkommt und das auch ausprobieren könnt, so wie wir. Ja, aber warst du schon drin? Konntest du. Es ausprobieren? Ich habe mir das mal zeigen lassen von jemandem, der drin war. Aber ich natürlich habe mich auch erst nach der letzten Newsfolge angemeldet. Ich kannte das ja auch noch nicht, bevor sie. Mir das erzählt hat. Weil ich bin nämlich auch noch nicht drin. Ist immer noch Private. Und für sie auch immer noch steht Private Alpha, wenn ich drauf gehe. So viel zu Alpha und Beta. Okay, als drittes Thema haben wir sonst noch Code Retreat. Jan, was hat es damit auf sich? Ja. Warst du schon mal auf einem Code Retreat, Fabi? Nein, war ich. Noch nicht. Weißt du, was ein Code Retreat ist? Das klingt wie ein Hackathon, der mir was Gutes tut. Ja, das ist eigentlich eine coole Beschreibung. Es hat so ein bisschen was von Hotel Retreat. Also die Idee bei einem Code Retreat ist, dass man sich mal bewusst so Zeit abseits der allgemeinen Arbeit nimmt, so wie das bei einem Urlaubsretreat ja auch sein soll und da halt aber codet und zwar nicht codet an irgendwelchen großen, supersuper komplexen Projekten an irgendeinem Hobby Ding, was du die ganze Zeit schon mal machen wolltest, sondern eigentlich codet an simplen kleinen Aufgaben und da mal wieder so ein bisschen die Basics schärft. Also das, was die meisten, wenn man das irgendwie so ein gehostetes Kulturtreat Event macht, was die meisten nehmen, ist irgendwie Conway's Game of Life, also ein 2D Matrix, wo verschiedene Zellen drin sind. Manche davon sind an, manche davon sind aus. Unter bestimmten Konditionen schalten die sich Und dann versucht man das Ganze mal so zu programmieren in der Sprache seiner Wahl. Ist ja auch irgendwie eine relativ simple Implementierung, bist du wahrscheinlich irgendwie eine Stunde durch oder so und dann löschst du das Ganze. Kein Commit, kein Repository, gar nichts. Einfach weg. Und dann überlegst du dir okay, was habe ich jetzt gelernt? Was kann ich besser machen? Und machst du es irgendwie nochmal. Und das kann man halt so ein paar Mal etarieren. Ja, und dann kannst du es natürlich in verschiedensten experimentellen Formen auch machen. Du kannst es mal mit Pair Programming machen. Du kannst es mit Constraints machen und sagen okay, wie kann ich das bauen ohne irgendwelche Conditional, ohne Loops, ohne Methoden, ohne präventive Datentypen, ohne Maus, ohne Tastatur, ohne dabei zu sprechen. Da kannst du dir irgendwie alles mal ausdenken. Oder auch so die Art und Weise, wie machst du Pair Programming? Machst du es irgendwie Time Boxing? Machst du irgendwie Ping-Pong? Machst du TDD? Machst du ohne Tests? Wie auch immer. Und das Ganze sorgt dafür, dass du halt relativ schnell diesen inneren Feedback-Loop befriedigt bekommst. Du baust was, du lernst was, du baust wieder was, du lernst was und du lernst halt nicht irgendwie eine krass neue Sprache, wobei du das bestimmt auch als Constraint machen kannst. Mach es halt in der Sprache, die du noch nie vorher geschrieben hast. Das ist auch irgendwie interessant. Aber das Ziel ist dabei halt nicht irgendwie eine Sprache zu lernen oder die In & Outs von einem spezifischen Framework oder sowas, sondern wirklich so dein eigenes mentales Rangehen an so ein Problem zu verbessern, auf eine gewisse Art und Weise auch so deinen eigenen Workflow und deine eigene Arbeitsart und Weise so ein bisschen kennenzulernen und vielleicht auch zu hinterfragen. Und ich muss sagen, ich habe das schon ein paar Mal gemacht, so was, halben Tag lang meistens. Und das ist eigentlich ganz cool. So, und warum wir das in dieser Newsfolge jetzt haben, ist, weil Global Day of Coltruit ist und zwar am dritten respektive vierten November, je nachdem in welcher Zeitzone ihr seid. Und wir werden das auch in den Shownotes einmal verlinken. Es gibt auch in Deutschland da super viele Events. Also es gibt natürlich virtuelle Events, wo ihr euch irgendwie reinhängen könnt und mitmachen könnt. Aber es gibt auch in Stuttgart, in Berlin, in Köln, in Nürnberg, in Bielefeld gibt es doch gar nicht. Irgendwie. Vor Ort Veranstaltungen, wo man sich da mal mit anderen zusammensetzen kann und auch in Österreich und Schweiz, in Wien, in Zürich, in Salzburg. Also überall kann man da mal mitmachen von verschiedenen Firmen gehostet oder von User Groups manchmal auch. Schaut euch das mal an. Es ist, es klingt so ein bisschen Coding esoterisch, wenn man das, glaube ich, das erste Mal hört und so erzählt bekommt. Und so ein bisschen was hat das auch davon, dass es eine sehr meditative Art des Arbeitens ist. Aber es ist wirklich eine Bereicherung. Hast du es denn schon mal gemacht? Ja, tatsächlich. Ich habe das schon ein paar Mal gemacht auf einer Veranstaltung, auf einer Konferenz, wo ich öfter mal hingehe. Die bieten sowas immer am letzten Tag mal an. Und wie lange ging das dann? Also wie lange hast du. Es gemacht? Die machen es immer so vier Stunden oder so ist es glaube ich. Ein halber Tagesslot. Weil du willst ja schon ein paar von diesen Zyklen haben und bis du am Anfang mal den ersten gemacht hast, fehlt ja doch so ein bisschen Zeit. Und das ist schon ganz gut. Auch dieseKönnen. Wir mal ein programmierbar Code Retreat machen? Warum machen wir denn nicht mal ein Code Retreat? Ja, also hier, es ist kein Problem. Dann nehmen wir uns das spätestens für den nächsten Global Day vor. Oder wir machen das irgendwann im laufenden Yama. Ich kenne da Leute, die sowas schon mal gehostet haben. Vielleicht kann man da mal jemanden fragen, der das so moderieren und durchführen würde mit uns. Bestimmt. Also ich bin jetzt gespannt, wie viele Leute sich angesprochen fühlen davon tatsächlich. Gibt es mal Feedback, wie ihr das generell findet mit Code-Retreats? Auch so, wenn wir einen hosten würden, so würdet ihr kommen, würdet ihr mitmachen wollen, habt ihr Lust auf sowas? Ist euch das gar nichts? Die Code-Esoterik? Also gerne mal Feedback, was ihr von, nach der Introktion von Jan von Code-Retreats haltet. Vielleicht, ich hätte auf jeden Fall mal Lust drauf. Vielleicht können wir wirklich mal überlegen, entweder beim Global Day, wie du gesagt hast mitzumachen oder so was mal separat zu veranstalten. Vielleicht auch im Vorhinein zu einem Meetup oder so. Speaking of Feedback. Wir haben ja letztes Mal schon Feedback gebeten, nachdem Sebi und ich uns darum gebettelt haben, wer weniger von Common. Js und ECMO Script Modulen irgendwie versteht und haben tatsächlich mehrere Einsendungen zu dem Thema bekommen, unter anderem auch von Robert, der uns einen coolen Blogbeitrag dazu verlinkt hat. Können wir auch noch mal in die Shownotes mit packen für. Die Leute, die das bisher geschrieben hat. Ja, genau. Kudos! Gute euch! Der hat mir auch weitergeholfen. Ich muss aber auch ehrlich sagen, ich bin immer noch nicht so ganz grundsätzlich, aber jetzt verstehe ich zumindest technisch besser. Tausend Dank dafür natürlich an Robert und alle anderen, die uns geschrieben haben. Ja, eigentlich wollen wir uns ja heute noch im Detail mehr darüber unterhalten. Es hat zumindest angestoßen, dass ich danach auch noch mal einen Haufen Beiträge darüber gelesen habe und Blogbeiträge und so und irgendwie. Das ist ein Rammel. Ja, man kann die Frage halt einfach noch mal aufmachen. Warum ist, warum wird einfach nicht kommend, JS der Standard so? Wozu braucht es überhaupt einen neuen Standard, einen vorherigen de facto Standard ablöst. Ich glaube, das war auch so die Diskussion bei uns im Slack. Wir haben jetzt, glaube ich, technisch alle verstanden, was so der Unterschied ist. Aber die große Frage, die so im Raum geblieben war, war warum? Also welches Problem löst es? Ich glaube, also meine Zusammenfassung war, ich verstehe es, aber ich hatte halt noch nie den Use Case oder noch nie den Moment, wo ich gedacht habe, Gott sei Dank gibt es jetzt ein neues Modulhandling, das macht mein Leben so viel einfacher. Aber ich hatte halt schon ganz oft dieses Szenario, wo ich dachte, oh mein Gott, dieses neue Modulhandling versus das alte macht mir gerade das Leben nur schwerer. Und wieso muss ich mich da irgendwie durchkämpfen? Ja, vielleicht sollten wir wirklich noch mal, wir haben ja schon einige Artikel, die zumindest das für und wieder ganz gut auch noch mal aufgearbeitet haben. Vielleicht machen wir wirklich noch mal separat was dazu. Vielleicht laden wir uns eine davon noch mal ein. Vielleicht Robert. Mal schauen. Wunderbar. Okay, dann, Breaking of Feedback, kann ich mal direkt wieder sagen, gibt uns Feedback an podcast@programmier. Bar. Das ist nämlich die E-Mail-Adresse. Da lasst soll das Feedback gerne landen. Habt eine schöne Woche. Ihr hört am Freitag rein, wenn wir uns über Nax. Js unterhalten und ansonsten bis nächste Woche zu den AI News. Ciao. Ciao.

Verwandte Podcasts

  • 18 Ai News

    News AI #18: Apple MM1 // Mistral // Grok // Inflection & Microsoft // Open Interpreter

  • News Asset 10

    News 10/24: PWAs & iOS 17.4 // JSR // Pingora & freenginx // WSA & Windows 11

  • News Asset 8

    News 08/24: Apple Pkl // iOS vs. PWAs // React 19 // Flutter 3.19 & Dart 3.3 mit AI

  • News Asset 6

    News 06/24: iOS App Marketplaces // Browser Interop // jQuery // JetBrains

  • News Asset 2

    News 02/24: Apple Vision Pro // Rabbit r1 // JS Rising Stars // Vue 3.4 // Figma Adobe Deal

  • 138 Fb Ig Xmas

    Rückblick auf 2023

  • 127 Fb Ig Apple

    Apple WWDC23 mit Apple Vision Pro

  • News 20 23

    News 20/23: Google I/O 2023 // Vue 3.3 // KI-Gerüchte über Apple auf der WWDC

  • News 09 23

    News 09/23: State of React Native // Snapchat & ChatGPT // iOS 16.4 // Meta verifizierte Profile // Luminous KI

  • News Asset06

    News 06/23: Go 1.20 // USA gegen Apple & Google // Visual Studio Code 1.75 // ECMA Script Proposals // ChatGPT // Google Bard // Sicherheitslücke VMWare

Feedback
[object Object]