News 26/25 –

Apple Container // Vite 7 // Svelte Remote Functions // MCP Update // WebKit

26.06.2025

Shownotes

Die ganze Podcast-Crew ist gespannt auf die Änderungen, die uns mit macOS 26 Tahoe erwarten. Aber am meisten sind wir natürlich auf die technischen Änderungen gespannt. Jan berichtet von einem komplett neuen Containerization Framework unter macOS und dem zugehörigen ASIF Diskimage-Format. Außerdem berichtet Garrelt über die Updates für WebKit unter macOS 26 Tahoe.

Auch Vite hat mit Version 7.0 eine neue Major-Version veröffentlicht und Garrelt hat sich für uns durch die Release Notes gearbeitet.

Über das Model Context Protocol (MCP) haben wir vor kurzem einen Deep Dive veröffentlicht. Mittlerweile hat das Protokoll bereits sein erstes Update erfahren und Fabi hat die Details dazu.

Und auch zu dem Proposal für Remote Functions in Svelte hat Fabi eine erste Analyse für uns.

/transkript/programmierbar/news-26-25-apple-container-vite-7-svelte-remote-functions-mcp-update-webkit
Fabi
Hallo und
Jan
herzlich willkommen zu 1 neuen Newsausgabe in der Programmierwoche, heute schon in der Kalenderwoche 26 und damit so ziemlich genau in der Mitte des Jahres, glaub ich, oder? 2 52? Wie kriegt ihr? Mhm.
Fabi
Ja, irgendwie so was.
Jan
Ja, das ist die programmier.bare Sonnenwende sozusagen jetzt. Ihr habt die Hälfte des Jahres erreicht mit uns. Oder positiv formuliert, ihr habt noch 'n halbes Jahr programmier.bar für euch dieses Jahr. Aber wunderbar.
Garrelt
Aber leben lang eigentlich.
Jan
Heute in etwas dezimierter Fassung hier im virtuellen Studio. Dave ist raus, Dennis ist auch raus. Dennis hängt auf der Google io Connect in Berlin. Und da sind wir dann ganz gespannt, was er uns vielleicht nächste und übernächste Woche davon zu berichten hat. Speaking of Konferenzen, die wir grade verpassen. Ich hab eben gesehen, dass die Vesselship Conference auch quasi grade jetzt stattfindet. Da gibt's dann vielleicht noch was Interessantes im Nachtrag oder so. Oder falls ihr's geguckt habt, könnt ihr uns einfach auf Discord erzählen, was wir verpasst haben, während wir hier im Studio gesessen haben. Wunderbar. Wir wollen heute aber sprechen über Container, über Svelt, über Weed, über MCP und ein bisschen über WebKit. Und wir bleiben quasi in dem Konferenzenkontext. Wir haben nämlich ein bisschen Nachlese betrieben zur WWDC von vor 2 Wochen, glaub ich mittlerweile Mhm. Schon her. Und die meiste Berichterstattung fokussiert ja immer nur so auf das, was so in der Keynote erzählt wird und irgendwie 'n neues Betriebssystem und neues Design und so was alles. Aber ich find ja immer so Plattform State of the Union und die technischen Session danach irgendwie viel interessanter als das, was in der Keynote an Eye Candy präsentiert wird. Und was mir dieses Mal besonders gut gefallen hat oder mich besonders neugierig gemacht hat, das ja alles no Preview, ist, dass Apple ein eigenes Container Framework vorgestellt hat, beziehungsweise ein package, das sie nennen. Und damit wollen sie im Prinzip, ich sag mal, vielleicht Docker überflüssig machen zu 'nem sehr großen Teil. Wir alle arbeiten ja jeden Tag an 'nem Mac. Ich glaub, die allermeisten Entwickler da draußen, zumindest die in unserer Bubble und die uns so zuhören, wahrscheinlich auch. Und viele von euch benutzen wahrscheinlich auch Docker für ihre lokale Entwicklungsumgebung, ihre Testumgebung und vieles, vieles mehr. Und ihr werdet sicherlich schon mal festgestellt haben, dass die Docker Performance am Mac eher so schleifend ist. Das hat viele, viele Gründe. Maßgeblich hat es damit zu tun, dass Docker unter Mac in eine Linux VM läuft, wo dann wiederum die ganzen Container drinlaufen und da über Network quasi euer lokales Fallsystem reingeschert wird und so was. Und das kostet halt alles irgendwie Performance und Latenz. Deswegen haben sich diese ganzen Alternativen wie Obstek, Colima, Rancher und so weiter ja gebildet, weil sie das auf verschiedenste Arten und Weisen lösen wollten. Jetzt hat Apple gesagt, mit macOS 26, mit Taho machen wir das alles selbst und haben im Prinzip ein Framework vorgestellt, was diese ganze Virtualisierung und Containerisation übernehmen soll. Natürlich in Swift geschrieben und die 2 bis 3 großen Unterschiede dazu sind eigentlich, dass sie jetzt nicht mehr eine große Linux VM hochfahren, wo dann die ganzen Container drin laufen, sondern für jeden einzelnen Container eine einzelne virtuelle Maschine hochfahren, die sehr, sehr klein und sehr, sehr schlank ist. Und in ihren Demos und in ihren Test Benchmarks, die so veröffentlichten, sprechen sie immer von sub Second Start up Time. Also es geht auch immer noch relativ schnell, auch wenn sie mehrere Vor allemste hochfahren. Und es hat halt verschiedene Vorteile. Jede Vim bekommt direkt eine eigene IP Adresse. Man braucht weniger Netting machen für die Portfreigaben. Sie haben einen eigenen optimierten einen eigens optimierten Kernel dafür gebaut. Sie haben mit WM in der D einen eigenen Initialization Prozess geschrieben, auch mit Swift für Linux, der halt superschlank ist und sich nur so die ganz, ganz, ganz besalen Sachen kümmert. So, diese Maschine braucht eine IP Adresse, diese Maschine braucht einen Supervisor und diese Maschine muss irgendwie eine API nach außen expausen. Und mehr passiert dann dadrin quasi auch erst mal nicht. Und ja, das ist so der der erste Teil von dem Rezept. Dazu haben Sie quasi 'n kleines veröffentlicht, das einfach nur Container heißt und im Prinzip analog zu Docker Start, Docker Stop et cetera funktioniert, Container bauen kann, Container starten kann, Image Management machen kann und so weiter. Das ist der eine Teil der Geschichte. Der andere Teil der Geschichte ist, dass sie mit ASIF, Apple Spars Image formet oder Filesystem noch ein eigenes Format geschaffen haben, beziehungsweise einen Ersatz für ihre bisherigen Imageformate, der virtualisierte Laufwerke mit nahezu hardwareäquivalenter Performance schaffen kann, so. Und das ist natürlich schon irgendwie ganz cool, weil dann ein großer Teil dieser Performance quasi wegfällt, weil eben kein virtuelles Laufwerk mehr erzeugt werden muss, beziehungsweise das ASIF virtuelle Laufwerk deutlich, deutlich schneller ist. Und sie das halt eben auch nutzen, ihre virtuelle Maschine zu betreiben. Und jeder andere kann es natürlich auch nutzen. Also wenn ihr einfach nur so was wie, weiß ich nicht, VMware oder, wer heißt das andere, Hyperkit oder so unter macOS benutzt, virtuelle Maschinen am Laufen zu haben, könnt ihr dann hoffentlich mit Taho auch bald ASIF nutzen und dann quasi nahezu Host gleiche Performance im Fallsystem haben. So. Das alles macht mich supersuperoptimistisch, weil ich benutz eigentlich supergerne Container. Ich benutz nur Mac nicht so gerne Container, weil sie halt so erschreckend langsam sein können, grade eben in Szenarien, die feilsystemintensiv sind. Also Note Projekte mit 10000 Einzeldateien, die irgendwie eingelesen werden müssen, PHP Projekte mit riesen Dependency Trees und so weiter. In anderen Sprachen und Ökosystemen ist das vielleicht weniger 'n Problem, aber in den Sachen, an denen ich so schau, halt eben leider schon. Und deshalb setz ich viel, viel Hoffnung
Fabi
auf
Jan
Containerisation und Container und MacOS 26.
Garrelt
Aber aber das wird doch bestimmt Docker nicht wirklich ersetzen, oder? Socker wird da jetzt auf diese Technologie umsteigen und dann benutzt jeder weiter Docker, oder?
Jan
Ja, kannst Du natürlich auch. Die Frage ist, ob Du's dann noch musst so oder ob Du nicht einfach selber direkt das Container Binary von Apple auch verwendest, deine Container zu starten und zu orchestrieren und so was. Aber klar, natürlich wird auch so was wie Docker irgendwie ein ein Backend anbieten, was oder eine Backend Variante haben, die das halt nutzt. Wahrscheinlich wird auch Orp Stack irgendwie eine Konfiguration haben, die so was nutzt. Und für viele, viele da draußen wird das quasi sehr, sehr transparent quasi passieren, so, ja?
Fabi
Aber ich mein, Du im Endeffekt werden ja trotzdem, also für meine Anwendungsfälle ist ja meistens, dass ich's betriebssystemunabhängig irgendwelche irgendwelche Containerdefinitionen haben will, oder? Also ich mein, das hinkt für mich halt daran, dass ich meinen meisten
Jan
Aber Container sind ja standardisiert. Also
Garrelt
Ah, das ist ja kannst
Jan
ja damit auch Ja, ja. Also OSI Container sind ja standardisiert, deswegen kannst Du ja mit Docker und mit Portman und mit Orksack und so weiter quasi überall dieselben Container und Images und so was alles verwenden. Okay. Das Einzige, wo sich diese Tools unterscheiden, sind dann quasi in diesen, ich sag mal, Convenience Layern on top, ne, sowas wie Docker Composed, ist halt sehr compose spezifisch so. Andere Tools versuchen das auch einzulesen. Klar, aber das ist halt was, was die so gemacht haben so. Ich weiß jetzt nicht, ob hab ich jetzt nicht gelesen, ob Apple quasi schon garantiert, dass sie so was wie Docker Compost irgendwie auch parsen können. Aber zumindest den Container, den Du baust, den kannst Du erst mal überall haben.
Garrelt
Okay, das wusste ich nicht, weil
Jan
So, also so hab ich das gelesen und ihr habt ja recht mal, alles andere würde ja auch nicht viel Sinn machen.
Garrelt
Na ja, okay, klar, dann brauchst Du eigentlich keinen Druck mehr, also zumindest aufm lokalen Rechner. Aber Weil
Jan
wie gesagt, die die Änderung oder das das große Ding an diesem Containerization Ding ist ja die VM, die sie drumherum bauen, den Container zu betreiben. Mhm. Ne, wenn Ich hab ja grade nicht irgendwie groß erzählt, dass Sie in dem Container selbst was machen, sondern es geht ja nur die und die Infrastruktur für die Container selbst.
Fabi
Ist ja die Frage, wie viel Docker überhaupt anpassen muss, diese zu nutzen, ne?
Jan
Das werden wir sehen. Ich hab mir dieses Mal fest vorgenommen, auf die zu warten von sämtlichen Betriebssystem, bevor ich was installier und nicht wieder irgendwelche instabilen Developer Previews zu installieren. Und deshalb muss ich noch abwarten und les nur Benchmarks und Reviews und so was von Leuten, die mutiger sind als ich und das schon ausprobiert haben auf irgendwelchen Maschinen.
Garrelt
Bin gespannt.
Jan
Ja. Cool. Aber, Garalt, wenn wir da 'n schnelle Container haben und unsere coolen JavaScript- und Treibstoff Projekte damit entwickeln wollen, was können wir da eben nutzen?
Garrelt
Viet ja eigentlich. Viet ist ja in den letzten Jahren extrem und auch, glaub ich, fast schon 'n bisschen unerwartet für die Ersteller auch, heftig durch die Decke gegangen. Ich hab eben noch mal Zahlen gelesen, Viet hat momentan 31000000 wöchentliche Downloads. Und das ist 14000000 in den letzten 7 Monaten gestiegen. Das find ich unfassbar krass. Also es sieht schon danach aus, dass alles praktisch die das ganze Webökosystem in diese Richtung geht und wet all umfassen wird. Und es gibt jetzt Viet 7 Punkt 0. Und so cool diese Infos, die ich grade gesagt hab, sind, ist irgendwie Viet 7 Punkt 0 für mich sehr unbeeindruckend. Also Sie haben irgendwie nicht so viel gemacht und
Jan
Verkaufst das richtig gut. Ich merk's
Garrelt
schon. Ich glaub, Sie bereiten halt relativ viel vor, aber dieser Release war so, also hat mich bisschen gewundert. Also Sie haben Note 18 Support. Was Sie dadurch machen können, ist, dass Sie auch CGS Modul Support. Also sie sind jetzt ESM only. Das war für sie bestimmt ganz cool, weil da viel rausgeflogen ist. Ist bestimmt 'n kleineres Bundle, obwohl sie dazu auch irgendwie gar nix schreiben. Sie haben eine neue Art, zu setzen. Und sie setzen da auch eigene. Also die sollen sich bei jedem major Release updaten. Und für uns wäre das zum Beispiel problematisch, weil der jetzt bei 7 Punkt 0 Safari 16 ist und wir noch 15 supporten. Also ja, ist wahrscheinlich für die meisten ganz cool, kommt auf out of the box. Für uns wär das nichts. Aber für mich ist jetzt irgendwie auch kein Riesenchange. Ja, und irgendwie war's das auch schon. Also sie schreiben 'n bisschen noch was zu, aber sagen auch einfach nur so, ja, das war ja schon, ist ja schon seit Viet 6 drin und es bleibt auch experimentell und sie arbeiten halt weiter dran. V-Test läuft irgendwie auch, Moment 7 Punkt 0. Und dort war's. Also so ganz hab ich's nicht gecheckt, was jetzt in diesem Release passiert. Klar, sie haben Aber
Jan
wenn Du sagst, sie haben, sie sie versuchen viel vorzubereiten für nächste Releases, haben Sie irgendwie schon so angeteasert, was da was da kommt oder wofür Sie jetzt die Grundlagen gelegt haben?
Garrelt
Ja, also Sie haben auch noch mal geschrieben, was wir auch in der letzten News schon hatten, dass Sie halt Rolldown irgendwie vorbereiten und dafür bestimmt auch paar Dinge angepasst, was auch immer haben. Das ist auch in den in den Release Notes mit drin, dass man diesen Preview schon mal nutzen kann, aber hat halt an sich nix mit dem Release zu tun. Und ich denke, sie haben auch viel für die API irgendwie vorbereitet. Aber wie gesagt, es ist halt alles noch experimentell, kommt jetzt in dem Release nix mit drin. Aber die positive Nachricht, was das dann eben auch angeht, die Migration sollte sehr, sehr einfach sein für die meisten Leute. Es wurden 'n paar Sachen jetzt gedroppt, so was wie der die SAS API oder Splitvendor Plug in. Das gibt's auch nicht mehr. Aber ja, für die meisten sollt es eine leichte Migration sein.
Fabi
Nice. Nice.
Jan
Bei so was frag ich mich immer, ob das dann nicht so so Marketing Releases vielleicht auch irgendwie sind. Na, ich will ja nix unterstellen und wie gesagt, aber wenn jetzt kein riesen Breaking Change, nichts funktioniert irgendwie fundamental anders als vorher und trotzdem ist es halt son son son Major Release. Mhm. Da frag ich mich immer, was macht das Major, außer dass es jetzt halt 20 25 releast wurde,
Garrelt
so, ne? Vielleicht, dass es halt Breaking ist. Also das kann ich mir irgendwie vorstellen, dass sie sagen, okay, wir droppen Note Support.
Jan
Ja, vielleicht. Also es ist doch
Garrelt
Das ist das Einzige, wo ich mir so vorstellen kann, okay, das macht dann Sinn, dass man weiß, okay, wenn man noch Note 18 braucht, dann muss man halt auf 6 bleiben.
Jan
Ja, fair.
Garrelt
Fair. Ich bin auf jeden Fall echt in diese in den eingestiegen, was diese sind. Für mich als normaler Entwickler ergibt sich das nicht so ganz, was das mir bringt soll. Also mir bringt's wahrscheinlich auch nix, aber ich check das Konzept irgendwie noch nicht.
Jan
Vielleicht müssen wir da noch mal auf unsere Feed Folge verweisen von vor 2, 3 Wochen.
Garrelt
Ja, aber da war ich ja drin. Das hättest
Jan
Du jetzt nicht sagen müssen. Ja, aber jeder, der
Garrelt
zu dieser Folge geht, wird das ja hören.
Fabi
Vielleicht kannst Du jemanden unseren Discord Channel erklären, Gerald.
Garrelt
Ja, Wenn mir das irgendwer erklären kann oder noch 'n paar Fragen beantworten kann, bitte. Ich wär sehr dankbar, ich hab bestimmt eine halbe Stunde versucht, das zu checken und komm nicht hinter.
Jan
Dann gerne mal auf Programmier Punkt bar, das kleine Discord Icon klicken und joinen und eine kleine Erklärung schreiben für gehalten. Mir hat das damals sehr geholfen, als die Community gefragt hab, bei diesen, und Ecken Musködien und so.
Garrelt
Das wär geil. Dann die Person, die das schafft, kriegt auch beim Hörer*innentreffen in Berlin dann 2 Getränken von mir ausgegeben.
Jan
Oh. Oh. Doppelt so viele wie alle anderen quasi, muss man ehrlicherweise viel Geld. Ja, richtig. Cool. Dann war's das wohl schon mit. Fabi, was gibt's bei der Welt?
Fabi
Da gibt's 'n ganz coolen. Und zwar nennt sich der. Ist auch, wenn man die wenn man den installiert und dann in den Experimental Flag anstellt, auch schon ausprobierbar. Und grundsätzlich ist 'n, sagen wir mal, 'n neues Paradigma Kernkonzept, wie man asynchrone serverseitige Logik ausführt und sowohl, also im Client dann aufruft. Und zwar legt man Logik in sogenannten dot remote dot t s Dateien ab und die werden dann im Server direkt ausgeführt. Im Browser werden sie automatisch in so schlanke Fetch Rapper verwandelt. Und das, also diese ganze Syntax, muss ich sagen, find ich super-, supercool, die sie da irgendwie. Also ich bin jetzt nicht so drin im ganzen Feld Ökosystem, aber bisher muss man ja jede Datenabfrage über so Loadfunktionen gemacht werden. Und diese diese remote bringen jetzt im Endeffekt 3 Funktionstypen mit Queryform, Command und Pre Render. Ich glaub, am interessantesten sind grundsätzlich Query und Form. Also man hat sozusagen, man kann sich son bisschen bisschen vorstellen wie so remote, aber das ist son bisschen, indem man's in so remote t s Dateien schreibt. Da definiert man eine Funktion, die dann eben vom Typ beispielsweise ist. Und im Client kann man sie dann ganz einfach ausführen, indem man dann zum Beispiel bei 'ner bei 'ner Query dann einfach sagt, man importiert die Datei wirklich, also man würde diese Datei importieren und beispielsweise, keine Ahnung, man baut irgendeine Seite, wo man Likes fatcht so, könnte man einfach dann im Endeffekt nur sagen, also kann einfach diese, Funktion, die man importiert, einfach nur. Und das ist halt megacool, weil einige, also grade auch zum Beispiel dieser, das ist also sozusagen, Daten zu fetschen vom Server. Dann haben wir, was so gedacht ist, dass man wirklich Daten immer über ein ein HTML Formular an den Server übergibt. Und was das Schöne daran ist, wenn man so eine Formfunktion von einem remote importiert, kann man die ganz, also die hat automatisch, also und kann dann mit dem Operator einfach an 'nem Formular sagen, okay, geschweifte Klammern, Punkt, Punkt, Und dann der Rest wird automatisch gemacht sozusagen, man muss automatisch das Formular, die Daten zu aktualisieren. Wir brauchen keinen Patririefresh und es kommen superviele Funktionalitäten Funktionalitäten mit, aber ich muss sagen, ich find die ganze Syntax und so und wie wie einem dieses ganze Fetching, so was komplett abgenommen wird und also da ist auch, keine Ahnung, Optimistic UI und so was ist mit drin. Automatisch, wenn man zum Beispiel die also wenn man ein ein ein eine Formfunktion ausführt, werden automatisch alle anderen danach refresht und automatisch wieder ausgeführt, aktuelle Daten zu haben, aber sie haben auch Caching mit implementiert beim Quering, sodass sie wissen, wann sie eben müssen. Und es ist super super interessant und diese ganze, also sich einfach mal das durchzulesen und mal zu verstehen, wie sie das Ganze machen, ist echt superinteressant. Also wie gesagt, ist noch nicht in irgend 'nem Svelt Release mit drin, ist aber jetzt, wenn ich's richtig finde hab, schon ausprobierbar, weil, glaub ich, der ist. Und ist, also superinteressantes Konzept, find ich.
Jan
Aber Du hast ja eben schon diese Loadfunktion angesprochen und das kenn ich ja auch aus anderen Framework. Stop Remix hat das irgendwann mal so.
Fabi
Genau, Remix hat das
Jan
ob wir das ja auch vorhaben haben oder so, aber da hab ich das zumindest das erste Mal gesehen. Das das benutze ich ja aber auch im Prinzip genauso, ne, wo ich dann in meiner Komponente einfach nur eine Funktion aufruf und sag, hier, lad mir das rein. Ich hab's halt nicht in 'ner ausgelagerten Datei, aber im Prinzip passiert doch technisch dasselbe, oder? Ich hab in meiner Load Function kann ich 'n Datenbank Call machen und auf Server zugreifen und bla. Und und das Framework kümmert sich darum, dass da zwischendrin noch irgendwie 'n Netzwerk passiert.
Fabi
Genau. Also ich glaub von, ist es ziemlich, bin hab jetzt Remix selbst noch nicht noch nicht eingesetzt. Aber so von der von der Syntax her, was ich damals gesehen hab, wir haben ja auch eine Folge damals dazu aufgenommen und weiß nicht, wozu gehört, Remix mittlerweile.
Jan
Shopify.
Fabi
Ist ja, ah genau, Shopify. Und was wollt ich jetzt sagen? Aber genau, Syntax sieht für mich relativ ähnlich aus, aber dass es dann sozusagen First Class Citizen ins WELT ist so von der ganzen Syntax, find ich schon supercool. Aber sie machen jetzt nichts Neues an den Stellen wahrscheinlich, wenn man's mit Remix vergleicht, aber ich hab's auch nicht 1 zu 1 verglichen. Aber so vom grundsätzlichen Prinzip, ich mein, die waren ja auch die, die wirklich so dieses ausschließlich Formulare benutzen zum zum Daten updaten und so was und keinen Patriot zu machen. Das waren ja die, dieses, das war ja eigentlich das erste Promis, was Remix damals auf ihrer Homepage gebracht hat, als man drauf gegangen ist. Also würde sagen, es ist davon total inspiriert so. Okay, okay. Aber trotzdem ist es ja nicht so, dass man sagen kann, dass das jetzt irgendwie in allen und auch irgendwie Web Framework wie NUX oder so was Standard ist, so irgendwie Serverfunktion aufzurufen. Und ich muss grade so die Syntax, wie sie jetzt da sie gemacht haben, sieht für mich sehr, sehr aus und aber müsste man 1 zu 1 mit Remix vergleichen.
Jan
Ja, ist ja vielleicht auch cool, wenn das son einzelner Latein ist, son bisschen mehr. Du kannst deine Remote Functions über verschiedene Komponenten hinweg benutzen, musst nicht so viel duplizieren oder rappen. Das kann ja kann ja auch ganz cool sein.
Fabi
Und ich glaub, Sie sind auch über verschiedene Funktionen und so weiter gecashed, also weil man, wenn man eine, wenn man eine Abfrage machen würde, sozusagen ist zum Beispiel ID, e-qual, get likes ID, dann würde true zurückkommen, weil sie da in dem Fall wirklich das das komplett cachen und wenn man's auch an verschiedenen Stellen macht. Aber es gibt auch also zum Beispiel so Dinge wie, sind wir jetzt noch gar nicht so ganz drauf eingegangen, so was wie die Pre Render Funktionalität, wo man dann eben Optimistic und sagen kann, man kann erst mal etwas prerendern, das wird im Nachgang gefatcht und die bin ich aber jetzt aber auch selbst noch nicht im im Detail noch durchgegangen. Also es gibt ja noch 'n bisschen zusätzliche Funktionalität, wo ich nicht genau weiß, ob Remixed auch hat. Cool.
Jan
Gut. Gerald, Du wolltest grad noch was fragen, glaub ich.
Garrelt
Ich wollt noch sagen, dass sie, find ich, ihre, ja, Möglichkeiten, was son Compider bietet halt extrem gut ausspielen, ne. Ich glaub, dadurch wird diese Syntax halt so geil, weil also ich ich frag mich auch, ob's immer so geil, also ob's immer wirklich so geil ist, weil das verschwimmt halt auch extrem, ob Du jetzt irgendwie im oder im Backend bist, find ich. Also Du Du siehst das halt vielleicht manchmal nicht so deutlich. Aber so grundsätzlich sieht's erst mal nice to use aus. Also genau das, was Du sagst, hab ich bekommen Bock, das mal zu testen, weil's irgendwie so wirkt. Ja, total.
Fabi
Sehr Aber
Jan
ich find das, also ich find diese Trennung ganz cool, Garrett, ne, weil Du meinst, ja, Du weißt halt nicht so genau, wo's grade passiert. Aber dadurch, dass Du's halt so in einzelne Dateien auftrennst, weißt Du ja zumindest schon mal
Garrelt
Ja.
Jan
Funktioniert eher oder wird eher im im Backend quasi ausgeführt, wenn's vielleicht auch woanders aus aufgerufen wird so, ne. Ja. Und das war das, wo ich zumindest am Anfang bei Remix auch son bisschen drüber gestolpert bin, so. Wo stehen mir eigentlich welche Umgebungsvariablen grade irgendwie zur Verfügung? Wo wird am Ende eigentlich was was gemacht und so? Mhm. Und das, vielleicht hilft das ja, wenn man das son bisschen auftrennen kann. Am Ende hast Du natürlich recht, ne, je mehr der Compiler macht, desto größer ist ja am Ende immer auch das div zwischen dem Code, den Du schreibst und dem Code, der im ausgeführt wird. Das kann halt auch irgendwie immer eine Fehlerquelle oder sein, so.
Garrelt
Ja.
Jan
Nice. Nice. Fabi hat aber noch 'n anderes Update für uns mitgebracht. Genau. Hab ich das vorhin nur so gelesen und hat das so Fabi hingebaut. Das klingt doch bestimmt völlig interessant. Jetzt erzähl mir mal Fabi, ob das wirklich so interessant ist, wie ich gedacht hab, dass Du das ist.
Fabi
Ja, also da ist son bisschen die Schnittbecken, wo man sagen kann, ist das jetzt normale News oder AI News? Geht Model Context Protokoll, haben wir auch eine Deep Erfolge mit dem Philipp zu aufgenommen. Genau, grundsätzlich ja 1 der Protokolle, die auch in Shopic ins Leben gerufen hat zur Kommunikation mit ja im Endeffekt Kontext Providern für für Modelle. So, wir kennen's ja zum Beispiel aus aus cursor oder so, dass wir dass wir da jetzt die Möglichkeit haben, bestimmte MCP Server anzubinden, die dann von unseren LLMs als Kontext genutzt werden können. Und ein Problem, das es bisher immer noch son bisschen gab, ist, wenn man eben so einen Agenten wie jetzt zum Beispiel Cursor oder eben ein eigenes Chatinterface baut und diese Server anbinden möchte, dass man je nach Output nicht so richtig sich den den, weiß ich, wenn's 'n JSON Output war, wusste man nicht, von welchem Schema ist das Ganze denn? Das heißt, am Ende blieb einem nicht viel übrig, als einfach zum Beispiel den kompletten Kontext einem LLM dann wieder zu übergeben und dem LLM die Interpretation zu überlassen. Aber das ist natürlich immer nicht genau der Fall, dass man sagt, man will einfach alles mit übergeben. Was Sie jetzt eingeführt haben, sind einerseits Output Schemas, das im Endeffekt ein MCP definieren kann, wie ist denn das Schema meiner Antwort? Und sobald ein Output Schema definiert ist, müssen Sie eben auch content zurückgeben. Das heißt, ein ein JSON Objekt, was dann diesem Schema entspricht, was natürlich gut ist, weil's einerseits vom Client validiert werden kann, bevor es an den LLM übergeben werden kann übergeben wird. Aber ich auch zum Beispiel es parsen kann, nur Teilinformationen weiterzugeben, was auf jeden Fall eine coole kleine Änderung ist.
Jan
Aber also das das MCP, das ist ja nur, das Protokoll ist ja einfach nur son aufgeschriebener Standard, ne.
Fabi
Mhm.
Jan
Also, das heißt ja jetzt, dass quasi alle jetzt erst mal sich quasi diesen neuen Standard widmen müssen und das auch so implementieren müssen. Da ist ja
Fabi
Genau, das
Jan
hat ja schon irgendwie mit drin, die das automatisch so macht, sondern Du musst jetzt quasi gucken, wenn ich mit dem, weiß ich nicht, dem GitHub MCP Server sprechen will, supportet der das schon, ja oder nein?
Fabi
Genau, also auf jeden Fall so. Also es ist auch geht auch eher weg, mein, erst mal wird zu sein, alle MCPs liefern weiterhin einfach nur den den Output und der ist nicht strukturiert und jetzt sind sie eben angehalten, ein Output Schema zu definieren. Aber klar, das muss jeder MCP Server jetzt nachziehen. Dieser Standard ist jetzt erst mal definiert. Die Option gibt's dafür, sie ist standardisiert und jetzt hoffen wir mal, dass es auch adaptiert wird von den von den ganzen MCP Anbietern. Aber dadurch, dass das ja alles superextrem im Wandel grade ist und das ja jetzt nicht so ist, man sagt, okay, jetzt ist hier irgendwie eine API, die's jetzt schon seit Jahren gibt und es kommt ein neues Fleck in den Standard mit dazu. Das ist ja so fluktuide, dass ich erwarten würde, also die großen MCP Server, dass die das eigentlich relativ schnell nachziehen.
Jan
Ja, ich war auch ganz erfreut zu sehen, dass Sie gar nicht erst besuchen, jetzt MCP Version 1 Punkt 1 oder 1 Punkt 2 oder so was draus zu machen, sondern einfach nur son Datum drangeknallt haben und sagen, okay, das ist jetzt vom Juni die Version und das impliziert ja schon, es gibt sehr schnell sehr viel neuere, andere Versionen dann noch.
Fabi
Ja.
Jan
Nice nice. Irgendwann muss Philipp mir mal erklären, wie das mit diesem funktioniert. Das hab ich, also, ich weiß, wie man das benutzt, aber ich versteh immer noch nicht, wie der erzeugt wird, ne.
Garrelt
Das mal
Fabi
so fragen. Na gut, in dem Fall ist ja der, der wird ja nicht, also das ist ja einfach eine App hinten dran, ne. Hinter 'nem MCP steckt ja kein LLM, das wär erst mal irgendein Service, der einfach nur ein Json Objekt zurückgibt so.
Jan
Na ja, kann, muss ja nicht so, ne. Also ich kann ja 'n MCP Server bauen, der ja auch nur 'n Rapper mein eigenes Modell oder so was ist. Und auch bei Genau,
Fabi
also sowohl als auch, genau. Also seine Frage ist, wenn ein MCP wenn ein Server auch gleichzeitig an LLM ist, wie sorgt diese LLM dafür, dass es diesem dass es diesem Output entspricht? Ja, das geht 'n bisschen über wahrscheinlich den
Jan
Genau, weil da kommt ja dieses Wording so, so, irgendwie her, ne. Normalerweise reden wir einfach nur so von Json Response oder so. Wenn wir über normale traditionelle APIs sprechen so, ja, Da weiß ich natürlich, wie das passiert. Aber wenn Du jetzt in in Gemini bist oder bei diesen diesen neuen Foundation Modelle von Apple, die können das ja auch so Structured Output Ja. Mit in so Swift Klassen reinmachen. Und da frag ich mich immer, ist das auch nur irgendwie Teil von dem System prompt, der einfach sehr strikt darauf abstellt, so, okay, Du musst es wirklich in diesem JSON Format, ne? Weil früher haben wir das ja alle so selber von Hand geschrieben. Ja. Bitte antworte in einem JSON Format, was ungefähr so aussieht, ne. Und und machen jetzt diese LLMs im Prinzip genau das oder gibt's da noch irgendwas Cooles anderes, was wir machen, das wirklich, wirklich zu forcieren? Weil ich hatte das früher auch oft genug so in in prototypischen Versuchen. Du sagst ihm so, mach das mal bitte in diesem JSON. Aber was dann rauskommt, ist son bisschen Glücksspiel immer noch.
Fabi
Ja, obwohl man, wie gesagt, dazu sagen muss, hier geht's die Serverfeature, Content und Output Schemer. Und da würd ich sagen, wenn Du die aktuelle Implementierung anschaust, ist wahrscheinlich 95 Prozent eben nicht ein ein ein Transformer Modell, also sei es jetzt ein LLM oder Ähnliches.
Garrelt
Dann ist das vielleicht einfach nur 'n bisschen verwirrend. Also Sie haben einfach nur 'n Standard gesetzt, für was zurückkommen muss von 'nem MCP Server.
Jan
Nee, die haben einfach ein Standard gesetzt, dass jetzt Jason kommen kann, wenn Du's möchtest. So.
Garrelt
Ah. Okay. Ja.
Jan
Aber also ist ja ist ja cool, weil das macht, glaub ich, die Integration deutlich einfacher, aber Du hast schon recht, Cari, das ist vielleicht gar nicht so revolutionär, wie's vom Gaming her klingt.
Fabi
Es ist überhaupt nicht revolutionär. Es ist evolutionär, aber auf jeden Fall notwendig, glaub ich. Was Du Ich mein, das ist ein bisschen der Part, ne. Sie haben ja erst mal einen Standard definiert. Ich glaub's, vielleicht waren sie auch selbst 'n bisschen davon überrascht, wie doch findet und dass es zu dem Standard wird so. Und jetzt sind halt direkt die Dinge so, ich würd sagen, da ist jetzt eine Base Arbeit, die eigentlich, wo man sie wundert, warum wart ich nicht von Anfang an mit dabei, ziehen sie jetzt langsam nach, wo man einfach merkt, hey, das das braucht's halt so. Also das ist nicht nichts Revolutionäres, was sie da jetzt gemacht haben.
Jan
Ich hab neulich 'n coolen Blogartikel gelesen, vielleicht find ich ihn noch mal und kann ihn verlinken, wo's so diese diesen Wettlauf zwischen MCP und Agent to Agent Protokollen geht. Mhm. Die ja im Prinzip fast zeitgleich erschienen sind. Also Agent to Agent war ja hier auf der Google Cloud Next, von von Google im April und ich glaub, MCP war ja auch früher, wahrscheinlich 'n Monat vorher oder 'n Monat danach irgendwie so was, wo das groß geworden ist. Und im Prinzip, dass halt MCP sich son bisschen mehr durchsetzt grade. Und vielleicht ist dann dieses structured output Ding son Versuch, na ja, damit können wir vielleicht auch diesen Agent to Agent Use Case bedienen, weil es eben halt auch erlaubt, dass LLM sich unterhalten, was vielleicht nicht unbedingt angedacht war. Aber dadurch, dass es so guten Anklang gefunden hat und a-to-a-halt noch relativ wenig, zumindest will ich das so wahrnehme, wollen sie das halt einfach mit abdecken können. Ja. Gut. Gehen wir Full Circle und kommen zurück zur WWDC, da hat nämlich Gareth noch die die Webkit Updates im Gepäck.
Garrelt
Ja, ich versuch mal son bisschen drüberzugehen, was da spannend war, weil an sich haben sie wirklich sehr viel mitgebracht, was neu ist, aber schon 'n paar größere Dinge. Eine Sache, die wahrscheinlich groß ist, aber klein wirkt, wenn man sie liest, ist, dass die, also die Icons für Webseiten jetzt auch SVG Files sein können. Sie haben gesagt, okay, früher wurden die nur irgendwie in den in der URL Bar und vielleicht in den Tabs angezeigt, aber mittlerweile werden die an sehr, sehr verschiedenen Stellen benutzt. Und deswegen ist es einfach cool, da SVGs zu haben, eine bessere Logoqualität zu, mir fällt das Wort nicht ein, zur Verfügung zu stellen. Find ich sehr cool. Ich glaub, das macht das Ganze einfach 'n bisschen hübscher für alle. Dann, was ich sehr cool fand, ist, dass sie für Vision OS sehr viel mitgebracht haben, Support, bestimmte Modelle in Vision OS anzeigen zu können, auch auf so Webseiten und verschiedenen Content leichter über auch Browserseiten in diesem US anzuzeigen. Also irgendwie, Beißen, für mich läuft grad dieses ganze Thema Virtual Reality bisschen unterm Radar. Aber ich find's cool, dass Sie da Dinge machen und bin gespannt, ja, ob da auch was bei 'ner nächsten, wie ist die Brille noch mal von denen?
Jan
Apple Vision Pro.
Garrelt
Apple Vision Pro, genau, dass da vielleicht noch, ja, mehr Innovation kommt. Ansonsten eine News, die den Jan sehr gefreut hat, und zwar, dass sie den Support für, oh, ich bin grad irgendwie
Jan
PWAs. PWAs.
Garrelt
Danke. Für PWAs verbessert haben. Früher musste man auf der Webseite, die eine PWA sein sollte, aktiv sagen, okay, hier das ist eine PWA, also wenn Du das auf deinen Homescreen hinzufügst, wird das als Web App geöffnet. Und das ist jetzt einfach auf allen Webseiten der Standard. Das heißt, Du kannst jede Website zu 'ner PWA machen. Und wenn Du sie dann auf deinen Homescreen packst und da drauf klickst, kommst Du nicht in Safari und da wird es geöffnet, sondern alles sieht jetzt erst mal aus wie eine App. Und Du kannst, muss aktiv sagen, okay, ich will aber, dass das eigentlich nur 'n Bookmark ist zu der Seite.
Jan
Da vielleicht den historischen Kontext zu geben, warum mich das so geflasht hat, ist das, wir hatten ja Anfang des Jahres, als das über diesen ganzen alternativen App Stores und so was alles auch aufkam, gab's ja einmal so diese trotzreaktion von Apple so, da diese PWAs, die schaffen wir jetzt ab, damit hier auch bloß keiner versucht irgendwie neben dem Store vorbei glauben zu können, Apps zu publishen. Mhm. Und mit der nächsten iOS Version wird der Support für PWAs irgendwie eingestellt und gibt's nicht mehr und überhaupt. Da sind sie ja relativ schnell zurückgerudert. Ich glaub, das war innerhalb von 2 News Folgen, wo wir einmal berichtet haben, PWAs sind tot und dann PWAs leben wieder. Und jetzt gehen sie hier auch im Prinzip den komplette 180 Grad, wo man sagt, ja, wir machen PWAs jetzt noch besser und noch zugänglicher und PWAs waren schon immer cool. Wink wink. Ja, ich erinner
Fabi
mich noch unsere Diskussion, die wir hier in der
Jan
Newsletter dazu hatten.
Garrelt
Ja. Ja, ich bin froh, dass es in die Richtung geht und nicht in die andere.
Jan
Ja, auf jeden Fall.
Garrelt
Ansonsten vielleicht noch 'n schneller Preis, HDR Images werden jetzt supportet, was ich sehr cool finde. Webkit ist auch ins SWI besser integriert. Also man kann Webseiten besser auch in nativen Apps ja, integrieren. WebGPU wird angeboten, also wird zur Verfügung gestellt anstatt nur WebGL und so was wie fand ich auch sehr spannend, dass man Sachen aus dem Wallet auslesen kann, zum Beispiel Informationen über den Führerschein oder was auch immer. Ich hatte meinen Führerschein jetzt nicht im Wallet, ich wusste auch gar nicht, dass das geht, aber das ermöglicht bestimmt coole Funktionen. Ansonsten ja, wenn ihr noch mehr wissen wollt, was da passiert ist, was an CSS Änderungen gibt, ist eine ganze Batterie, schaut einfach mal in den Artikel, da ist es sehr ausführlich beschrieben.
Jan
Kleiner Disclaimer, dieses Führerschein im Wallet, das geht auch aktuell, glaub ich, nur in Amerika und auch da nur in 'n paar Staaten. Die Europäische Union hat natürlich ihr eigenes Ding gedreht und arbeitet grade an 1 App, die wohl schon für die ersten paar Test Kunden, sagt man nicht, Testuser zur Verfügung steht.
Fabi
Ja, und die auch. Und die auch letztens war ich mit alten Arbeitskollegen essen. Da hat 1 schon die mir die App gezeigt, wo meint er jetzt alles drin, hat seinen Portemonnaie gar nicht mehr dabei. Ja. Ja,
Jan
drin. Also da wart ich eigentlich auch noch drauf, weil der Führerschein ist so das einzige Stück Karten Dingsbums, was ich noch mit mir rumsteppe und wenn ich den auch loswerden kann
Garrelt
Perso? Ganz so freist Bild oder was?
Jan
Perso soll ja auch in diese irgendwie auch, also das alles in dieser einen App dann so irgendwie drin,
Garrelt
Ja, ob
Jan
ich das verstanden hab. Deswegen Fingerscross, aber ich hab's noch nicht gekriegt, die Einladung.
Garrelt
Mhm.
Jan
Cool, cool. Dafür haben wir andere Einladungen für euch. Ihr könnt nämlich zu uns kommen oder wir kommen zu euch, je nachdem, was euch lieber ist. Am vierundzwanzigsten Juli ist das nächste Meet-up hier bei uns in Bad Nauheim. Wir werden wieder ein AI Thema am Start haben. Und zwar geht es darum, Sprachausgabe und Stimmenklonen und wie macht man to Speech und wie macht man das so selbst und wie funktioniert das überhaupt alles? Da werden wir einen coolen Talk und eine coole Demo haben. Könnt ihr euch anmelden unter Programmier Punkt bar Slash meet-up. Und am neunten Juli kommen wir zu euch, Sternchen, wenn ihr in Berlin wohnt. Nice. Oder zufällig gerade auf der Wear Developers Konferenz seit in Berlin, dann könnt ihr auch gerne kommen. Garelt organisiert ein Hörerinnen Treffen. Garelt, was steht an?
Garrelt
Wir gehen hoffentlich in einen coolen Biergarten, und zwar in der Nähe vom Tierpark haben wir einen Tisch reserviert, wo man auch essen könnte. Die langen Tisch,
Jan
einen großen Tisch.
Garrelt
Ich dachte, wie viele sich anmelden, ne. Also bis jetzt hab ich mal so an 10 gedacht. Mal gucken.
Jan
Das Also was die Saal Wette, diese Podcastfolge ist, mehr als 10 Leute anzumelden bei Garritz Hörertreffen in Berlin.
Garrelt
Zum zum zur Not steh ich dann und geborene gern meinen Platz frei, wenn mehr Leute kommen. Also es würd mich auf jeden Fall freuen.
Jan
Ich bin sicher, Dave steht auch. Dave steht wahrscheinlich aber eher auf dem Tisch.
Garrelt
Ich weiß nicht, ob's so wild wird, aber ich freu mich auf jeden Fall mal über alle möglichen Themen zu quatschen, zu hören, was ihr so da draußen macht, was euch beschäftigt, warum ihr uns zuhört, während wir reden über Themen. Ich freu mich drauf. Ich glaube, es wird schön. Ich hoffe, es scheint die Sonne. Ansonsten gewinnen Irish Pub wird auch.
Fabi
Und wie meldet man sich an?
Garrelt
Ja, danke Fabi. Am besten über Meet up Punkt com.
Jan
Über Programmier Punkt bar Slash Meetup, da ist das doch alles verlinkt.
Fabi
Ah ja.
Jan
Immer unsere Webseite, Karel. Immer unsere Webseite.
Garrelt
Wieso? Ja, okay. Dann das, was ihr ansagt.
Jan
Irgendwann benutzen wir vielleicht kein Mieter Punkt com mehr. Wer weiß.
Garrelt
Ja. Das kann sein, aber bis dahin kann ich ja auch Mieter Punkt com sagen.
Jan
Ja, aber da musst Du da ja noch suchen und programmier.bar und Du musstest Das stimmt. Stimmt. Und überhaupt und mhm.
Garrelt
Ihr könnt auch einfach kommen.
Fabi
Genau.
Garrelt
Also es ist wär nett für mich, wenn ihr euch anmeldet, dann weiß nämlich, wie viele kommen, aber ich lass mich auch gern überraschen.
Jan
Ja, ich wär auch gern dabei, ich bezahl, dass ich nicht am Start sein kann. Aber Du bist am Start, Dave ist am Start und Dennis war leicht am Start oder so was, ne?
Garrelt
Weißt Du nicht? Der geht zum Leader Summit irgendwas.
Jan
Wer weiß, wie lang das geht? Vielleicht kommt er danach noch dazu.
Garrelt
Ja, das kann sein.
Jan
Ja. Und Fabi ist das nächste Mal am Start. Besteuerangen wir's einfach mal so.
Fabi
Nächstes Mal, wenn ich bei via Developers bin.
Jan
Also nächstes Jahr. Machen wir knapp.
Fabi
Ja, vielleicht.
Garrelt
Hast Du mal deine Jobbezeichnung, Fabi?
Fabi
Unicorn.
Jan
Nice. Ah, wunderbar. 2 kennen an dem Schweif, den Fabi im Gesicht hat.
Fabi
Mhm.
Jan
Ah, ja. Was? Weißt Du, Pferd, Schweif, Haare, es war 'n Haarwitz,
Garrelt
Karel, 'n Pony, meinst Du?
Jan
Nein. Bei 'nem Pferd heißt es Schweif, oder? Nee, Mähne. Mähne heißt das bei den Haar,
Garrelt
Mähne, okay. Mist. Weil der Schweif ist hinten dran.
Jan
Das ist anderes Ende der
Garrelt
der Haarschwanz. Schweif, muss ich dir
Fabi
aber auch witzig.
Garrelt
Ja, weil da kam ich jetzt, ich guck dich so an und denk mir so.
Jan
Ja. So viel kein Schweif. Es ist spät. Okay. Wunderbar. Dann haben wir das auch geklärt. Pferdeanatomie abgehakt, Meet-up und Termine abgehakt, wunderbar. Wenn ihr Feedback, Fragen, Anregungen und Kritik habt, dann immer gerne an Podcast at Programmier Punkt bar oder ihr kommt bei uns im Discord Server vorbei und quatscht da mit uns und erzählt uns, was ihr besonders cool oder besonders interessant fandet. Oder ihr hinterlasst einen Kommentar auf Social Media irgendwo. Wir lesen immer gerne alles mit. Das war's dann auch schon für heute und wir sehen uns, hören uns in, wir hören uns in 2 Wochen und vielleicht sehen wir uns in 2 Wochen bei Garet aufm Mieter. Mhm. Wunderbar. Bis denn, tschau tschau.
Fabi
Bis dann.
Garrelt
Macht's gut.
Feedback