00:00:00Tan Stick Start erlebt derzeit einen gewissen Hype,
00:00:03und die Frage ist: Solltest du von Next.js wechseln?
00:00:06Ist es besser als Next.js?
00:00:08Gestern hatte ich einen kompletten Livestream,
00:00:11in dem ich die beiden verglichen und zwei Apps gebaut habe,
00:00:14bzw.
00:00:15eine App zweimal – einmal mit Next.js und einmal mit Tan Stick Start.
00:00:19Du kannst dir das gerne ansehen,
00:00:21aber hier gebe ich dir meine Kurzfassung: Was ist anders,
00:00:24was ist besser und welches solltest du verwenden?.
00:00:27Natürlich ist das nur meine Meinung,
00:00:29offensichtlich kein objektiver Vergleich,
00:00:32aber ich teile meine Erfahrungen mit beiden und was ich über Next.js und Tan Stick Start denke.
00:00:37Ich habe ein paar Dimensionen aufgestellt,
00:00:39anhand derer ich die beiden vergleichen möchte.
00:00:42Man könnte natürlich noch mehr hinzufügen und auch weitere Frameworks einbeziehen..
00:00:47Ich meine,
00:00:47wir könnten Remix einbeziehen,
00:00:49React Router,
00:00:50wir könnten Nuxt für Vue erwähnen,
00:00:51über SvelteKit sprechen – aber das werde ich nicht tun.
00:00:54Dieses Video handelt von Next.js und Tan Stick Start,
00:00:57nicht weil die anderen schlecht sind,
00:00:58sondern weil diese beiden oft miteinander verglichen werden..
00:01:01Zunächst ist es wichtig zu verstehen,
00:01:04dass Tan Stick Start im Grunde nur Tan Stick Router plus einige Server-Funktionen ist – hauptsächlich jedenfalls.
00:01:10Du kannst Tan Stick Router auch eigenständig verwenden,
00:01:13wenn du eine Single-Page-Anwendung erstellen möchtest,
00:01:16die kein serverseitiges Rendering und keine serverseitigen Funktionen benötigt.
00:01:19Du kannst Tan Stick Router anstelle von React Router in deiner React-Vite-App verwenden,
00:01:24zum Beispiel.
00:01:25Tan Stick Start fügt dann,
00:01:26wie erwähnt,
00:01:26serverseitige Funktionen zu Tan Stick Router hinzu und macht es damit zu einem vollständigen React-Full-Stack-Framework.
00:01:32Genau wie Next.js,
00:01:33das natürlich ebenfalls ein Full-Stack-React-Framework ist.
00:01:37Und das ist auch wichtig.
00:01:38Manchmal werde ich gefragt,
00:01:40ob man Next.js oder React Vite mit React Router verwenden sollte,
00:01:44und ich finde,
00:01:45das ist der falsche Vergleich.
00:01:47Wenn du keine serverseitige Logik brauchst,
00:01:49kein serverseitiges Rendering benötigst,
00:01:52dann solltest du einfach React Vite verwenden – also ein Vite-Projekt mit React – und React Router oder Tan Stick Router hinzufügen.
00:02:00In diesem Fall gibt es keinen Grund,
00:02:01den Next.js-Weg zu gehen.
00:02:02Wie auch immer, fangen wir mit dem Vergleich an.
00:02:05Die erste Dimension,
00:02:06die ich gewählt habe,
00:02:07ist die KI-Bereitschaft der beiden,
00:02:09denn das spielt heutzutage natürlich eine Rolle.
00:02:12Du nutzt sehr wahrscheinlich KI,
00:02:14um Code zu generieren – vielleicht sogar den gesamten Code für dein Next.js- oder Tan-Stick-Start-Projekt – und daher muss die KI natürlich wissen,
00:02:23wie man diesen Code schreibt.
00:02:25Selbstverständlich kannst und solltest du den passenden Kontext bereitstellen,
00:02:30indem du Dokumentationsseiten kopierst oder ein MCP wie Context 7 verwendest,
00:02:34damit die KI auf Dokumentationen zugreifen kann,
00:02:37oder indem du der KI sagst,
00:02:38dass sie eine Websuche durchführen soll,
00:02:40oder indem du Agent-Skills hinzufügst,
00:02:42die der KI beibringen,
00:02:44wie man Tan Stick Start oder Next.js verwendet.
00:02:47Aber von Haus aus,
00:02:48wenn du ChatGPT einfach eine Frage zu Tan Stick Start stellst,
00:02:52wird es sehr wahrscheinlich weniger darüber wissen als über Next.js – und was es weiß,
00:02:57ist wahrscheinlich falsch.
00:02:59Denn selbst jetzt,
00:03:00während ich das hier aufnehme,
00:03:02befindet sich Tan Stick Start noch in der Release-Candidate-Phase,
00:03:05was bedeutet: keine drastischen Breaking Changes mehr,
00:03:08aber auch noch nicht vollständig stabil.
00:03:10Im letzten Jahr befand es sich hauptsächlich in der Beta- und Alpha-Phase,
00:03:14und das ist das Wissen,
00:03:16das diese KI-Chatbots von Haus aus haben – weshalb sie standardmäßig falsches Wissen über Tan Stick Start besitzen.
00:03:23Die KI-Bereitschaft von Haus aus ist also nicht besonders gut – bei Next.js ist sie definitiv besser.
00:03:31Bei Next.js gab es natürlich auch Änderungen über die Jahre hinweg,
00:03:35es gibt die neue use-cache-Direktive,
00:03:37die die KI von Haus aus ebenfalls nicht so gut kennt,
00:03:40aber die KI hat ein ordentliches Verständnis vom App Router,
00:03:44von React Server Components und all diesen Dingen – es ist also definitiv besser für Next.js als für Tan Stick Start.
00:03:51Aber nochmal: Wie bereits erwähnt,
00:03:53solltest du sicherstellen,
00:03:55dass du der KI den passenden zusätzlichen Kontext gibst,
00:03:58den sie benötigt – andernfalls setzt du KI einfach falsch ein.
00:04:02Was ist mit dem Ökosystem?
00:04:03Und damit meine ich andere Ressourcen,
00:04:06die du finden kannst,
00:04:07wie Tutorials,
00:04:08YouTube-Videos,
00:04:09Kurse,
00:04:10vielleicht auch zusätzliche Pakete für diese Frameworks..
00:04:13Und hier sieht Next.js natürlich auch deutlich besser aus als Tan Stack Start,
00:04:19einfach weil es älter ist,
00:04:21schon länger existiert,
00:04:22und man mehr Ressourcen dazu findet,
00:04:25weil es auch größer ist.
00:04:27Es ist auch erwähnenswert,
00:04:28dass es größer ist,
00:04:30was mehr Nutzung bedeutet,
00:04:31weil Next.js Teil dieses Standard-Stacks ist,
00:04:34den die KI verwendet,
00:04:35wo sie dir im Grunde Next.js,
00:04:37React,
00:04:38Tailwind und TypeScript für die meisten Webanwendungen gibt,
00:04:41die du anforderst.
00:04:42Tan Stack Start wird wahrscheinlich nie ihre Standardwahl sein..
00:04:47Und daher ist es wenig überraschend,
00:04:49wenn man die Download-Charts der beiden vergleicht,
00:04:51ja,
00:04:52Tan Stack Start hat definitiv weniger Downloads,
00:04:55wie man sehen kann.
00:04:56Wenn man Next.js herausnimmt,
00:04:57sieht man allerdings einen schönen Aufwärtstrend für Tan Stack Start.
00:05:01Damit zusammenhängend ist natürlich der Punkt Ecosystem,
00:05:04aber nicht nur das – auch die Erlernbarkeit.
00:05:07Mit Erlernbarkeit meine ich,
00:05:09wie einfach ist es,
00:05:10die Sache zu lernen?
00:05:11Und ich weiß natürlich,
00:05:12dass du im Zeitalter der KI kein Interesse daran hast,
00:05:15es zu lernen,
00:05:15aber als guter Entwickler solltest du die Technologie verstehen,
00:05:18mit der du arbeitest.
00:05:19Du schreibst vielleicht nicht mehr den ganzen Code von Hand,
00:05:22aber du solltest den Code verstehen,
00:05:23den die KI für dich generiert.
00:05:25Daher ist das Lernen immer noch wichtig.
00:05:28Und hier würde ich sagen, bei Next.js ist es gemischt.
00:05:33Man könnte ihm – ich bin mir nicht sicher,
00:05:35ob ich ein oder zwei Plus geben würde – weil der Einstieg in Next.js mit dem App Router,
00:05:41und übrigens bezieht sich hier alles auf den App Router,
00:05:44ziemlich unkompliziert ist.
00:05:46Es macht Sinn.
00:05:47Gestern im Stream habe ich eine kleine Notiz-Anwendung gebaut,
00:05:51mit der man Notizen erstellen,
00:05:53speichern und anzeigen konnte.
00:05:56Und das macht man mit Next.js,
00:05:57indem man einfach ein paar page.tsx-Dateien definiert,
00:06:00die – du hast es erraten – deine Seiten sind.
00:06:03Man kann dynamische Segmente haben.
00:06:04Und diese Syntax und diesen Ansatz zum Aufbau deiner Anwendung zu lernen,
00:06:10ist am Ende ziemlich unkompliziert.
00:06:12Ich finde auch,
00:06:13dass die Dokumentation einen guten Job macht,
00:06:16dich Schritt für Schritt durch die Kernkonzepte zu führen und dir den Einstieg in Next.js zu erleichtern.
00:06:22Aber die Dinge werden komplexer,
00:06:24sobald man komplexere Anwendungen baut und sich in fortgeschrittenere Konzepte wie Caching vertieft.
00:06:30Und gerade der Caching-Teil kann extrem verwirrend sein,
00:06:33weil Next.js mit der Einführung des App Routers die Entscheidung getroffen hat,
00:06:38auf verschiedenen Ebenen sehr aggressives Caching zu betreiben.
00:06:42Das zu verstehen und zu verstehen,
00:06:44wie man seine Komponenten so konfiguriert,
00:06:47dass sie gut mit diesem eingebauten Caching funktionieren und den Nutzern das gewünschte Verhalten bieten,
00:06:54kann knifflig sein..
00:06:55Das sage ich mal so.
00:06:56Der Einstieg ist also großartig.
00:06:59Die fortgeschrittenen Features zu lernen ist schwierig.
00:07:02Ich gebe hier wahrscheinlich zwei Plus.
00:07:05Und Tan Stack Start gebe ich das Gleiche,
00:07:08aber aus ganz anderen Gründen.
00:07:09Bei Tan Stack Start würde ich sagen,
00:07:12dass der Einstieg vielleicht etwas schwieriger ist als bei Next.js,
00:07:16weil die Einstiegsdokumentation nicht so gut ist wie die von Next.js.
00:07:20Wichtige Konzepte fehlen hier,
00:07:23würde ich sagen,
00:07:24wie Data Fetching oder Mutations.
00:07:27Wenn man allerdings bereits Next.js-Kenntnisse hat,
00:07:29gibt es ein ziemlich gutes Vergleichsdokument,
00:07:31das die wichtigsten Features vergleicht,
00:07:33auch in Bezug auf Data Fetching und Mutations.
00:07:36Aber ich denke,
00:07:37es kann etwas schwieriger sein,
00:07:38weil die Dokumentation – obwohl sie,
00:07:40das muss ich sagen,
00:07:42deutlich verbessert wurde – immer noch ein bisschen dieses Brain-Dump-Gefühl hat,
00:07:46wo nicht ganz klar ist,
00:07:47welchen Artikel man braucht,
00:07:49und zum Beispiel gibt es hier keinen Artikel zu Data Fetching und solche Sachen.
00:07:54Außerdem muss man,
00:07:55da Tan Stack Start auf Tan Stack Router aufbaut,
00:07:58für alle Routing-bezogenen Dinge in die Tan Stack Router-Dokumentation gehen,
00:08:03die beim ersten Blick auch ziemlich überwältigend ist.
00:08:07Aber sobald man diese anfängliche Hürde überwunden hat,
00:08:10wird es deutlich einfacher,
00:08:12und meiner Meinung nach macht alles viel Sinn,
00:08:14ist nicht so schwierig,
00:08:15und es gibt keine versteckten Stolperfallen wie die Caching-bezogenen Probleme,
00:08:20die man mit Next.js haben kann.
00:08:22Deshalb würde ich sagen,
00:08:23dass der Einstieg bei Tan Stack Start schwieriger ist,
00:08:26aber sobald man läuft,
00:08:27ist es einfacher voranzukommen und in die fortgeschritteneren Features einzutauchen als bei Next.js.
00:08:32Wie erwähnt ist das natürlich nur meine persönliche Sichtweise.
00:08:36Was ist nun mit der Benutzerfreundlichkeit aus Entwicklersicht?
00:08:41Wie viel Spaß macht es damit zu arbeiten?
00:08:43Das ist natürlich völlig subjektiv,
00:08:45aber Next.js hat hier definitiv einige Probleme.
00:08:48Nicht nur die Probleme,
00:08:49die mit dem Lernen zusammenhängen,
00:08:51sondern auch andere Probleme.
00:08:53Zum Beispiel kann es beim Caching passieren,
00:08:55dass sich deine App im Entwicklungsmodus anders verhält als im Produktionsmodus,
00:08:59was bedeutet,
00:09:00dass du sie immer im Produktionsmodus testen musst,
00:09:03was du sowieso tun solltest,
00:09:04aber es wird ziemlich nervig,
00:09:06wenn du das während der Entwicklung ständig machen musst,
00:09:09weil dich das ausbremst.
00:09:11Das ist also ein großes Problem,
00:09:13das ich in der Vergangenheit hatte.
00:09:14Der Dev-Server kann auch ziemlich langsam werden.
00:09:18Zumindest wenn du die Webpack-Version verwendest – die neue Standard-Turbopack-Version ist da viel besser,
00:09:24aber meiner Erfahrung nach schlägt sie nicht das Vite-basierte Setup,
00:09:28das Tan Stack Start dir bietet.
00:09:30Ich gebe dem hier also drei Pluspunkte,
00:09:34weil die Arbeit damit aus Entwicklersicht in meiner Erfahrung super reibungslos war.
00:09:40Es ist schnell,
00:09:41vorhersehbar,
00:09:42es gibt größtenteils kein merkwürdiges Verhalten,
00:09:45es gibt immer noch einige Eigenheiten hier und da und es ist immer noch in der Release-Candidate-Phase,
00:09:52aber insgesamt bevorzuge ich die Entwicklererfahrung von Tan Stack Start gegenüber Next.js.
00:09:57Offensichtlich kann das bei dir anders sein.
00:10:01Was ist nun mit den konkreten Features,
00:10:03die Next.js und Tan Stack Start bieten?
00:10:06Beim Routing hast du in Next.js einen dateibasierten Ansatz,
00:10:09du richtest Dateien ein,
00:10:11die als deine Routen fungieren,
00:10:13und dort musst du verschiedene Namenskonventionen befolgen.
00:10:16Die Dokumentation erklärt sie gut,
00:10:18aber es gibt definitiv auch komplexere Features wie parallele Routen,
00:10:22die umständlich einzurichten sein können.
00:10:25Tan Stack Start hat ebenfalls einen dateibasierten Ansatz und nutzt wie erwähnt Tan Stack Router im Hintergrund,
00:10:30und auch hier musst du Dateinamen-Konventionen befolgen,
00:10:33die ebenfalls ähnlich leicht zu lernen sind.
00:10:36Ein Vorteil,
00:10:36den du mit Tan Stack Start bekommst,
00:10:38ist,
00:10:39dass es dir mit seinem dateibasierten Routing vollständige Typsicherheit bietet,
00:10:43was ziemlich schön sein kann.
00:10:45Beide sind also dateibasiert und es kommt auf deine Präferenzen an,
00:10:50welches Namensmuster du bevorzugst,
00:10:52aber Tan Stack Start hat auch diese 100%ige Typsicherheit,
00:10:56die mit seinem dateibasierten Router kommt,
00:10:58was schön ist.
00:11:00Und das beantwortet auch die nächste Frage: Next.js hat sehr gute TypeScript-Unterstützung und Tan Stack Start hat meiner Erfahrung nach sogar noch bessere TypeScript-Unterstützung.
00:11:11Auch wenn es um Dinge wie Server Actions oder Server Functions oder wie auch immer du sie nennen willst und Datenabruf geht.
00:11:18Also ja,
00:11:18wenn du TypeScript verwendest,
00:11:20was du meiner Meinung nach solltest,
00:11:21ist Tan Stack Start wirklich eine Freude,
00:11:23damit zu arbeiten.
00:11:24Wenn es um Datenabruf und Daten-Mutationen geht,
00:11:27ermöglichen beide wie erwähnt,
00:11:28Code auf dem Server auszuführen,
00:11:30sie sind beide Full-Stack-React-Anwendungen,
00:11:32aber sie verfolgen unterschiedliche Ansätze.
00:11:35Next.js verwendet React Server Components und war lange Zeit das einzige Framework,
00:11:40das React Server Components unterstützt hat.
00:11:43Das bedeutet,
00:11:44dass deine Seitenkomponenten standardmäßig nur auf dem Server gerendert werden.
00:11:48Sie werden niemals auf dem Client neu gerendert,
00:11:50was bedeutet,
00:11:50dass du deinen Datenabruf-Code wie diesen,
00:11:53der im Hintergrund auf eine Datenbank zugreift,
00:11:55in deine Komponenten packen kannst und das nicht auf den Client überschwappt.
00:11:59Tan Stack Start verfolgt einen anderen Ansatz.
00:12:01React-Server-Component-Unterstützung wird dort auch bald kommen,
00:12:04sie ist noch nicht verfügbar,
00:12:06als ich das hier aufnehme,
00:12:07aber der Ansatz,
00:12:08den ich dir hier zeige und den ich in all meinen Projekten verwendet habe,
00:12:11wird ebenfalls weiter existieren,
00:12:13und bei diesem Ansatz werden deine Routen-Komponenten standardmäßig sowohl auf der Server- als auch auf der Client-Seite gerendert,
00:12:19auf der Server-Seite vorgerendert,
00:12:20auf der Client-Seite aktualisiert,
00:12:22und daher kannst du deinen serverseitigen Code nicht in die Komponentenfunktionen packen.
00:12:27Stattdessen verwendet es ein Loader-Muster,
00:12:29das du vielleicht von Remix kennst,
00:12:31bei dem du Loader an deine Routen anhängen kannst,
00:12:34die sowohl auf Client- als auch auf Server-Seite ausgeführt werden.
00:12:38Du kannst dann aber Funktionen aufrufen,
00:12:40die mit create server functions dekoriert oder umschlossen sind,
00:12:44sozusagen – eine Funktion von Tan Stick Start,
00:12:47die eine Funktion so markiert,
00:12:49dass sie nur auf dem Server ausgeführt,
00:12:51aber vom Client aus aufgerufen werden kann..
00:12:54Das ist es, was eine Server-Funktion ausmacht.
00:12:56Und wenn du eine solche Funktion hast,
00:12:58kannst du sie problemlos in einem Loader oder auch direkt aus dem Component-Funktionskörper heraus aufrufen,
00:13:03und der Code bleibt auf der Server-Seite.
00:13:05Im Hintergrund wird eine HTTP-Anfrage gesendet.
00:13:07Next.js setzt also hauptsächlich auf RSC,
00:13:09wobei du dort natürlich auch API-Endpunkte einrichten und useEffect mit der Fetch API verwenden könntest.
00:13:15Tan Stick Start nutzt Loader und Server-Funktionen,
00:13:18wobei auch hier erwähnenswert ist,
00:13:20dass du ebenfalls API-Routen einrichten und die Fetch API,
00:13:23Tan Stick Query oder Ähnliches verwenden kannst – aber der wichtigste integrierte Ansatz ist dieser Loader-plus-Server-Funktionen-Ansatz.
00:13:31Für Mutationen verwendet Next.js Server Actions,
00:13:34also Aktionen,
00:13:35die mit dieser speziellen useServer-Direktive dekoriert sind.
00:13:39Eines der Dinge,
00:13:40die Next.js hat,
00:13:41sind diese Direktiven useServer und useClient.
00:13:44Manche Leute mögen sie nicht,
00:13:45ich bin ehrlich gesagt auch kein großer Fan.
00:13:48Und wenn du eine Datei mit useServer dekorierst,
00:13:50dann werden alle Funktionen darin zu Server-Funktionen,
00:13:53die nur auf dem Server ausgeführt werden.
00:13:55Nicht auf der Client-Seite – du kannst sie aber trotzdem vom Client aus aufrufen.
00:13:59Diese saveNode-Funktion zum Beispiel,
00:14:01die ich hier habe und die einen Knoten in der Datenbank speichert,
00:14:04kann trotzdem vom Client aus aufgerufen werden,
00:14:07indem ich hier etwa den useActionState-Hook verwende.
00:14:10In Tan Stick Start verwenden wir einfach weiterhin diesen createServer-Funktions-Ansatz,
00:14:14denn ich erwähnte ja,
00:14:15dass das Funktionen sind,
00:14:16die garantiert auf dem Server laufen,
00:14:18und du kannst sie sowohl zum Datenabruf als auch für Datenmutationen nutzen,
00:14:21weil der Code eben nur auf dem Server ausgeführt wird.
00:14:24In einer Component-Funktion,
00:14:25die auch auf dem Client gerendert wird,
00:14:27kannst du den useServer-Funktions-Hook von Tan Stick Start verwenden,
00:14:30um deine Server-Funktion zu umschließen.
00:14:32Das macht sie im Wesentlichen vom Client aus aufrufbar und gibt dir zusätzliche Features wie automatisches Redirect-Handling und so weiter..
00:14:39Das erlaubt mir dann,
00:14:40diese Server-Funktion aus meinen clientseitigen Komponenten heraus aufzurufen.
00:14:43Next.js verwendet also die offiziellen React-Server-Funktionen,
00:14:47Tan Stick Start nutzt am Ende seine eigenen Server-Funktionen.
00:14:51Die grundlegende Idee ist natürlich dieselbe.
00:14:54Nun, was ist mit Caching?
00:14:56Ich habe erwähnt, dass das der schwierige Teil ist.
00:14:58Es ist ziemlich aggressiv und potenziell komplex in Next.js.
00:15:04Es ist definitiv einer der schwierigeren Aspekte von Next.js.
00:15:07Und ich behandle es genau wie alle anderen wichtigen Next.js-Konzepte in meinem Next.js-Kurs,
00:15:13falls du alles über Next.js lernen möchtest.
00:15:16Dieser Kurs ist eine großartige Ressource,
00:15:18um dich vom absoluten Anfänger zum fortgeschrittenen Next.js-User zu bringen.
00:15:21Aber Caching ist definitiv eines der problematischeren Themen bei Next.js.
00:15:26Der Vorteil ist natürlich,
00:15:28dass du aufgrund der aggressiven Standardeinstellungen potenziell ein ziemlich gutes Caching für deine Nutzer bekommen kannst.
00:15:35Aber du kannst dir auch ziemlich leicht ins eigene Bein schießen.
00:15:38Für Tan Stick Start würde ich es als gute Standardeinstellungen zusammenfassen.
00:15:43Weit weniger aggressiv als Next.js und vor allem konsistent,
00:15:47zumindest meiner Erfahrung nach,
00:15:49zwischen Entwicklungs- und Produktionsmodus.
00:15:52Es bietet auch Caching,
00:15:53sodass zum Beispiel beim Navigieren zwischen Routen Daten für einen bestimmten Zeitraum gecacht werden.
00:16:00Damit du bei schneller Navigation nicht eine Menge Anfragen an deinen Server sendest.
00:16:04Und das hilft natürlich enorm bei der Performance,
00:16:07aber es wird nicht alles gecacht oder versucht,
00:16:09auf verschiedenen Ebenen alles zu cachen – und das kann dir als Entwickler das Leben leichter machen.
00:16:14Es bedeutet aber natürlich auch,
00:16:16dass du,
00:16:16wenn du die beste Performance für deine Nutzer herausholen und möglicherweise Traffic sparen willst,
00:16:22selbst gute Caching-Header setzen und dir etwas mehr Gedanken darüber machen musst,
00:16:26wie du deine Anwendung cachst,
00:16:28als du es vielleicht bei Next.js tun müsstest.
00:16:30Dort musst du allerdings über andere Probleme nachdenken.
00:16:32Was ist nun mit der Stabilität?
00:16:35Hier gebe ich wahrscheinlich beiden zwei Pluspunkte.
00:16:39Beide sind ziemlich stabil.
00:16:40Natürlich ist Next.js ausgereifter,
00:16:43aber meiner Erfahrung nach war es in den letzten Jahren durchaus fehleranfällig,
00:16:48besonders der Development-Server hatte Probleme mit Abstürzen und so weiter.
00:16:53Aber es ist deutlich besser geworden und insgesamt ist es eine stabile Erfahrung,
00:16:57und es gibt natürlich hunderte und tausende von Anwendungen,
00:17:00die es nutzen und problemlos im Produktivbetrieb laufen.
00:17:03Das ist definitiv wichtig zu erwähnen.
00:17:06Natürlich gab es diese React-Sicherheitslücken,
00:17:08aber erstens könnten einige davon in Zukunft entdeckt werden und auch 10-stack start betreffen,
00:17:13besonders sobald sie auch React Server Components unterstützen,
00:17:17und zweitens ist das natürlich nicht primär ein Problem von Next.js.
00:17:2110-stack start befindet sich noch in der Release-Candidate-Phase und ich bin definitiv auf meinen Anteil an Problemen gestoßen.
00:17:28Ein paar merkwürdige Abstürze,
00:17:29seltsame Fehlermeldungen,
00:17:31eigenartiges Verhalten hier und da,
00:17:32daher könnte ich auch nur einen Pluspunkt dafür geben,
00:17:35aber da es sich in der Release-Candidate-Phase befindet und dafür ziemlich stabil ist,
00:17:40gehe ich hier auf zwei.
00:17:41Sei dir nur bewusst,
00:17:42dass du bei der Verwendung von 10-stack start definitiv auf einige Probleme stoßen kannst.
00:17:47Allerdings habe ich Anwendungen im Produktivbetrieb laufen wie buildmygraphic.com hier,
00:17:52mit der du fantastische Infografiken mithilfe von KI erstellen kannst,
00:17:56die von 10-stack start betrieben werden und problemlos laufen und auch keine Probleme beim Erstellen waren.
00:18:02Was ist mit Batteries Included?
00:18:04Also wie einfach ist es,
00:18:05optimiertes Bild-Rendering,
00:18:08Internationalisierung oder solche Dinge zu bekommen?
00:18:12Hier macht Next.js definitiv einen besseren Job.
00:18:15Es hat seine integrierte Image-Komponente,
00:18:18es hat eingebaute Internationalisierungs-Unterstützung und 10-stack start hat nichts davon.
00:18:24Ich bin nicht sicher,
00:18:25ob es geplant ist,
00:18:26nicht sicher,
00:18:26ob es für dich wichtig ist,
00:18:28es ist definitiv nichts,
00:18:29was du brauchst,
00:18:30es gibt andere Alternativen,
00:18:31Drittanbieter-Pakete,
00:18:32die du verwenden kannst,
00:18:33vielleicht willst du die eingebauten Sachen gar nicht,
00:18:36aber wenn das etwas ist,
00:18:37das dir wichtig ist oder worüber du dir Sorgen machst,
00:18:39dann ist Next.js wahrscheinlich die bessere Wahl hier.
00:18:43Und was ist mit dem Deployment?
00:18:45Das ist ein schwieriges Thema.
00:18:48Next.js wird natürlich von Vercel entwickelt und wenn du es auf Vercel deployst,
00:18:53ist es super einfach und reibungslos.
00:18:56Alles ist dafür optimiert.
00:18:58Historisch war es etwas schwierig,
00:19:00es zum Beispiel auf eigenen Servern zu deployen,
00:19:02aber um fair zu sein,
00:19:04das Next.js-Team hat wirklich einiges getan,
00:19:06um das einfacher zu machen,
00:19:08bessere Dokumentation zu schreiben,
00:19:10und daher würde ich sagen,
00:19:12dass man es heutzutage absolut auch auf anderen Diensten ohne große Probleme deployen kann.
00:19:17Das sind also zwei oder drei Pluspunkte,
00:19:20drei Pluspunkte,
00:19:21wenn du Vercel verwendest,
00:19:23und zwei wahrscheinlich,
00:19:25wenn du andere Anbieter verwendest,
00:19:27würde ich sagen.
00:19:28Für 10-stack start gehe ich hier jetzt auf zwei,
00:19:33aber ich könnte auch drei geben.
00:19:36Der Hauptgrund,
00:19:37warum ich zwei gebe,
00:19:38ist,
00:19:39dass zum Zeitpunkt dieser Aufnahme die Hosting-Dokumentation noch etwas schwierig ist.
00:19:45Es gibt offiziell unterstützte Partner wie Cloudflare und Netlify,
00:19:48die ziemlich gute Dokumentation haben und wo das Deployment wahrscheinlich ziemlich reibungslos ist,
00:19:54ich habe diese aber nicht verwendet.
00:19:56Wenn du es zum Beispiel auf deinem eigenen VPS mit BUN laufen lassen möchtest,
00:20:00gibt es hier einige Anweisungen,
00:20:02aber ich fand es etwas schwierig,
00:20:04ihnen zu folgen,
00:20:05oder stieß auf einige Probleme,
00:20:07die alle lösbar waren,
00:20:09aber es hat mich definitiv einige Zeit gekostet.
00:20:12Ich denke,
00:20:13sobald es eine gute Anleitung für das Deployment von 10-stack start mit BUN oder Node auf einem VPS gibt,
00:20:18wird das Deployment definitiv einfacher,
00:20:20besonders wenn diese Anleitung Empfehlungen zu Best Practices enthält,
00:20:24die du befolgen solltest,
00:20:25oder potenzielle Fallstricke,
00:20:27denen du begegnen könntest.
00:20:29Aber wie gesagt,
00:20:29du könntest hier definitiv auch drei Pluspunkte vergeben,
00:20:32je nachdem,
00:20:33wie du das betrachtest.
00:20:34Wie ich bereits erwähnt habe,
00:20:35ist das alles subjektiv und nur meine Erfahrung,
00:20:38meine Gedanken,
00:20:38und natürlich bin ich auch daran interessiert,
00:20:41deine Gedanken zu hören.
00:20:42Ob du gewechselt hast oder was du über Next.js und T3 Stack denkst,
00:20:45falls du einen Wechsel in Erwägung ziehst oder ob du keines von beiden verwendest und stattdessen eine andere Option nutzt.