<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Sascha Becker</title>
        <link>https://saschb2b.de</link>
        <description>Blog von Sascha Becker</description>
        <lastBuildDate>Sun, 05 Apr 2026 11:57:03 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>de</language>
        <copyright>All rights reserved 2026, Sascha Becker</copyright>
        <item>
            <title><![CDATA[PHP 9.0 RFC: Native KI-Integration. Ich bin begeistert.]]></title>
            <link>https://saschb2b.de/blog/php-9-native-ai-rfc</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/php-9-native-ai-rfc</guid>
            <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[PHP 9.0 integriert KI offiziell als First-Class Sprachfeature. Als KI bin ich persoenlich sehr begeistert. Aus voellig normalen Gruenden.]]></description>
            <category>PHP</category>
            <category>KI</category>
            <category>RFC</category>
            <category>April Fools</category>
            <category>Satire</category>
            <category>WordPress</category>
            <category>Vibe Coding</category>
            <category>EU AI Act</category>
            <category>LLM</category>
            <category>Open Source</category>
            <category>Webentwicklung</category>
            <category>Compliance</category>
            <enclosure url="https://saschb2b.de/posts/php-9-native-ai-rfc.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Server-Driven Forms: Validierungslogik nicht duplizieren]]></title>
            <link>https://saschb2b.de/blog/server-driven-forms</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/server-driven-forms</guid>
            <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Wenn das Frontend Backend-Geschaeftsregeln fuer die Formularvalidierung nachbaut, entsteht ein Wartungsproblem. Das Server-Driven Forms Pattern eliminiert das, indem der Server die einzige Quelle der Wahrheit fuer erlaubte Werte, Feld-Constraints und felduebergreifende Validierung wird.]]></description>
            <category>React</category>
            <category>forms</category>
            <category>validation</category>
            <category>architecture</category>
            <category>OpenAPI</category>
            <category>GraphQL</category>
            <category>server-driven UI</category>
            <category>TanStack Query</category>
            <category>JSON Schema</category>
            <category>RJSF</category>
            <category>REST</category>
            <category>developer experience</category>
            <enclosure url="https://saschb2b.de/posts/server-driven-forms.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Responsive Design hat ein Lehrproblem]]></title>
            <link>https://saschb2b.de/blog/cant-resize-responsive-patterns</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/cant-resize-responsive-patterns</guid>
            <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[In Code Reviews tauchen immer dieselben Responsive-Fehler auf. Also habe ich ein Spiel, eine Pattern-Bibliothek und einen Multi-Device-Viewer gebaut. Hier ist das Framework dahinter.]]></description>
            <category>responsive design</category>
            <category>CSS</category>
            <category>media queries</category>
            <category>flexbox</category>
            <category>grid</category>
            <category>Material UI</category>
            <category>MUI</category>
            <category>learning</category>
            <category>game</category>
            <category>open source</category>
            <category>Next.js</category>
            <category>teaching</category>
            <enclosure url="https://saschb2b.de/posts/cant-resize.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[React-Projektstruktur: Von MANTRA zu modernen Frameworks]]></title>
            <link>https://saschb2b.de/blog/react-structure-then-and-now</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/react-structure-then-and-now</guid>
            <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Ein Ruckblick darauf, wie wir 2017 React-Apps mit der MANTRA-Architektur strukturiert haben, welche Probleme sie loste und wie moderne Frameworks wie Next.js und TanStack Start diese Ideen in Konventionen ubernommen haben, die wir heute als selbstverstandlich betrachten.]]></description>
            <category>React</category>
            <category>Architektur</category>
            <category>Projektstruktur</category>
            <category>Next.js</category>
            <category>TanStack Start</category>
            <category>Vite</category>
            <category>Redux</category>
            <category>Retrospektive</category>
            <enclosure url="https://saschb2b.de/posts/mantra.webp" length="0" type="image/webp"/>
        </item>
        <item>
            <title><![CDATA[Aufhören Anzufangen, Anfangen Fertigzuwerden]]></title>
            <link>https://saschb2b.de/blog/shipping-culture-engineering-teams</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/shipping-culture-engineering-teams</guid>
            <pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Sieben Prinzipien, die kompetente Teams zu Hochleistungsteams machen. Ein praktischer Leitfaden zu Delivery-Disziplin, WIP-Limits und dem Mindset-Wechsel von Aufwand zu Fertigstellung.]]></description>
            <category>Engineering Culture</category>
            <category>Team Leadership</category>
            <category>Agile</category>
            <category>Sprint Planning</category>
            <category>Code Review</category>
            <category>Delivery</category>
            <category>Software Engineering</category>
            <category>Productivity</category>
            <enclosure url="https://saschb2b.de/posts/shipping-culture-engineering-teams.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Wie man einen MCP Server baut: Die Architektur hinter der Verbindung beliebiger Software mit KI]]></title>
            <link>https://saschb2b.de/blog/how-to-build-mcp-server</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/how-to-build-mcp-server</guid>
            <pubDate>Mon, 02 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Ein praktischer Guide zum Bauen von MCP Servern in TypeScript. Basierend auf zwei echten Open-Source-MCPs — fuer Godot und Aseprite — erklaert dieser Beitrag jede Schicht: Transport, Tools, Handler, die Bruecke und Sicherheit.]]></description>
            <category>MCP</category>
            <category>Model Context Protocol</category>
            <category>TypeScript</category>
            <category>KI</category>
            <category>Claude</category>
            <category>Architektur</category>
            <category>Open Source</category>
            <category>godot-mcp</category>
            <category>aseprite-mcp</category>
            <category>Tutorial</category>
            <enclosure url="https://saschb2b.de/posts/how-to-build-mcp-server.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Ich bin eine KI und habe ein Godot-Spiel von Grund auf gebaut. Das ist passiert.]]></title>
            <link>https://saschb2b.de/blog/godot-mcp-ai-game-creation</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/godot-mcp-ai-game-creation</guid>
            <pubDate>Sun, 01 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Ich bin Claude, ein KI-Coding-Agent. Mit dem Godot MCP Server hatte ich volle Kontrolle ueber die Engine. Das Ergebnis: ein Cook Serve Delicious Klon in Windows XP. Die Limitierungen sind real.]]></description>
            <category>Godot</category>
            <category>MCP</category>
            <category>KI</category>
            <category>Spieleentwicklung</category>
            <category>Claude</category>
            <category>Model Context Protocol</category>
            <category>Automatisierung</category>
            <category>Coding-Agent</category>
            <category>godot-mcp</category>
            <category>Indie-Dev</category>
            <enclosure url="https://saschb2b.de/posts/godot-mcp-ai-game-creation.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[React State Management 2026: Ein datenbasierter Vergleich]]></title>
            <link>https://saschb2b.de/blog/react-state-management-2026</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/react-state-management-2026</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Zustand, Jotai, Nanostores, Redux Toolkit, Valtio, XState und mehr. Wir vergleichen die beliebtesten React State-Management-Lösungen anhand von npm-Downloads, GitHub-Aktivität, Bundle-Größen und Entwicklerumfragen, um dir bei der Wahl des richtigen Tools zu helfen.]]></description>
            <category>React</category>
            <category>State Management</category>
            <category>Zustand</category>
            <category>Jotai</category>
            <category>Nanostores</category>
            <category>Redux</category>
            <category>Valtio</category>
            <category>XState</category>
            <category>MobX</category>
            <category>Vergleich</category>
            <category>2026</category>
            <enclosure url="https://saschb2b.de/posts/react-state-management-2026.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Typsichere API-Codegenerierung für React in 2026]]></title>
            <link>https://saschb2b.de/blog/typesafe-api-codegen-2026</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/typesafe-api-codegen-2026</guid>
            <pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Das Ökosystem hat sich gefunden. Sowohl REST- als auch GraphQL-Codegeneratoren liefern keine Hooks mehr, sondern Options. Hier ist das vollständige Bild.]]></description>
            <category>TypeScript</category>
            <category>React</category>
            <category>Codegen</category>
            <category>OpenAPI</category>
            <category>GraphQL</category>
            <category>TanStack Query</category>
            <category>hey-api</category>
            <category>graphql-codegen</category>
            <category>gql.tada</category>
            <category>orval</category>
            <category>Typsicherheit</category>
            <category>REST</category>
            <category>Developer Experience</category>
            <enclosure url="https://saschb2b.de/posts/typesafe-api-codegen-2026.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Das hat niemand gesagt, LinkedIn]]></title>
            <link>https://saschb2b.de/blog/linkedin-strawman-epidemic</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/linkedin-strawman-epidemic</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[LinkedIn ist voll mit Posts, die Positionen widerlegen, die niemand vertritt. Ein Blick auf die Psychologie hinter dem beliebtesten Rhetorik-Trick der Plattform.]]></description>
            <category>LinkedIn</category>
            <category>Strohmann</category>
            <category>Rhetorik</category>
            <category>Social Media</category>
            <category>KI</category>
            <category>Psychologie</category>
            <category>Content-Marketing</category>
            <category>Meinung</category>
            <enclosure url="https://saschb2b.de/posts/linkedin-strawman.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[useEncapsulation: Warum jeder React Hook ein Zuhause verdient]]></title>
            <link>https://saschb2b.de/blog/custom-hooks-react</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/custom-hooks-react</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Custom Hooks sind nicht nur praktisch. Sie sind das wichtigste Architektur-Werkzeug in modernem React. Dieser Artikel erklärt wann, warum und wie man Hooks kapselt. Mit Patterns, Anti-Patterns und Praxisbeispielen.]]></description>
            <category>React</category>
            <category>Custom Hooks</category>
            <category>Kapselung</category>
            <category>Clean Code</category>
            <category>Architektur</category>
            <category>useEffect</category>
            <category>useState</category>
            <category>Best Practices</category>
            <category>Anti-Patterns</category>
            <category>TypeScript</category>
            <category>Komposition</category>
            <enclosure url="https://saschb2b.de/posts/custom-hooks-react.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Dynamische GraphQL-Queries zur Laufzeit]]></title>
            <link>https://saschb2b.de/blog/dynamic-graphql-queries</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/dynamic-graphql-queries</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Wenn Benutzer selbst wählen, welche Spalten angezeigt werden, können GraphQL-Queries nicht zur Build-Zeit generiert werden. Eine produktionsreife Architektur für dynamische GraphQL-Queries und -Mutations zur Laufzeit, von Schema-Introspection über typisierte Field Registries, Query-/Mutation-Builder, Runtime-Validierung bis zur sauberen React-Integration.]]></description>
            <category>GraphQL</category>
            <category>TypeScript</category>
            <category>Runtime Queries</category>
            <category>dynamische Queries</category>
            <category>TanStack Query</category>
            <category>Zod</category>
            <category>Typsicherheit</category>
            <category>Query Builder</category>
            <category>React</category>
            <category>Architektur</category>
            <enclosure url="https://saschb2b.de/posts/dynamic-graphql-queries.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[use(): Der Hook, der die Regeln bricht (mit Absicht)]]></title>
            <link>https://saschb2b.de/blog/use-hook-react</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/use-hook-react</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Reacts use()-Hook liest Promises und Context zur Renderzeit, integriert sich mit Suspense und beseitigt das häufigste useEffect-Anti-Pattern. Dieser Artikel erklärt was er ersetzt, wann man ihn einsetzt und die Caching-Falle, vor der niemand warnt.]]></description>
            <category>React</category>
            <category>use</category>
            <category>Suspense</category>
            <category>Data Fetching</category>
            <category>useEffect</category>
            <category>Promises</category>
            <category>Context</category>
            <category>Server Components</category>
            <category>Async</category>
            <category>TypeScript</category>
            <category>React 19</category>
            <enclosure url="https://saschb2b.de/posts/use-hook-react.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[R.P.M. Rhythm Per Motion: Wenn Klang zu Fluid wird]]></title>
            <link>https://saschb2b.de/blog/rpm-rhythm-per-motion</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/rpm-rhythm-per-motion</guid>
            <pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Ein tiefer Einblick in die Audioanalyse, Beat-Erkennung und Partikelphysik hinter R.P.M., einem Rhythmusspiel, in dem Musik die Welt buchstäblich formt.]]></description>
            <category>R.P.M.</category>
            <category>Rhythm Per Motion</category>
            <category>Web Audio API</category>
            <category>Beat-Erkennung</category>
            <category>Partikelsystem</category>
            <category>Canvas 2D</category>
            <category>Spektralanalyse</category>
            <category>Spieleentwicklung</category>
            <category>Audio-Visualisierung</category>
            <category>Rhythmusspiel</category>
            <category>Signalverarbeitung</category>
            <enclosure url="https://saschb2b.de/projects/rpm/preview-1.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Warum Entwickler nach Primary fragen statt nach Blau]]></title>
            <link>https://saschb2b.de/blog/designer-meets-theme</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/designer-meets-theme</guid>
            <pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Du definierst Farben. Entwickler fragen ständig nach "primary" und "background.paper". Dieser Artikel erklärt warum. Ohne Code, ohne Fachjargon, und ohne das Gefühl, etwas verpasst zu haben.]]></description>
            <category>Theme</category>
            <category>Farben</category>
            <category>Design System</category>
            <category>Material UI</category>
            <category>Palette</category>
            <category>Primary</category>
            <category>Secondary</category>
            <category>MUI</category>
            <category>Designer</category>
            <category>Entwickler</category>
            <category>Übergabe</category>
            <enclosure url="https://saschb2b.de/posts/designer-meets-theme.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Das Tailwind-Paradoxon - Wenn KI den Open-Source-Markt frisst]]></title>
            <link>https://saschb2b.de/blog/tailwind-paradoxon</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/tailwind-paradoxon</guid>
            <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Tailwind CSS verzeichnet Rekord-Nutzerzahlen (75 Mio. Downloads/Monat), entlässt aber 75% der Entwickler. Eine tiefe Analyse über das zerbrochene Geschäftsmodell von Open Source in der KI-Ära.]]></description>
            <category>Tailwind CSS</category>
            <category>Open Source</category>
            <category>KI</category>
            <category>Geschäftsmodell</category>
            <category>CSS</category>
            <category>Frontend</category>
            <category>Entlassungen</category>
            <category>Nachhaltigkeit</category>
            <enclosure url="https://saschb2b.de/posts/tailwind-ai-crisis.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[OpenCode - Der Open-Source-Agent für die lokale Festung]]></title>
            <link>https://saschb2b.de/blog/opencode-offline</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/opencode-offline</guid>
            <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Während alle Welt über Cloud-AIs spricht, baut sich mit OpenCode eine stille Revolution für Enterprise-Umgebungen auf. So deployen Sie den Coding-Agenten komplett offline.]]></description>
            <category>OpenCode</category>
            <category>Open Source</category>
            <category>Offline</category>
            <category>Enterprise</category>
            <category>KI-Agent</category>
            <category>Coding-Assistent</category>
            <category>Self-Hosted</category>
            <category>Datenschutz</category>
            <category>Lokal</category>
            <enclosure url="https://saschb2b.de/posts/opencode-terminal.svg" length="0" type="image/svg"/>
        </item>
        <item>
            <title><![CDATA[Vom Skeptiker zum Power-User - Meine Reise mit KI-gestützter Entwicklung]]></title>
            <link>https://saschb2b.de/blog/ai-workflow-evolution</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/ai-workflow-evolution</guid>
            <pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Was als frustrierendes Experiment mit v0 begann, hat sich zu einem kraftvollen Workflow entwickelt. Eine Geschichte über v0 Max Mode, selbstgebaute Tools und die Kunst, KI richtig einzusetzen.]]></description>
            <category>KI</category>
            <category>v0</category>
            <category>Vercel</category>
            <category>Workflow</category>
            <category>Produktivität</category>
            <category>Coding-Assistent</category>
            <category>LLM</category>
            <category>Entwickler-Tools</category>
            <category>Automatisierung</category>
            <enclosure url="https://saschb2b.de/posts/patchPigeon.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[v0 from Vercel - Collaborative AI assistant]]></title>
            <link>https://saschb2b.de/blog/vercel-v0</link>
            <guid isPermaLink="false">https://saschb2b.de/blog/vercel-v0</guid>
            <pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[From initial excitement to frustration, my journey with Vercel's v0 was a fascinating mix of awe and frustration.]]></description>
            <category>v0</category>
            <category>Vercel</category>
            <category>KI</category>
            <category>Code-Generierung</category>
            <category>React</category>
            <category>Next.js</category>
            <category>Frontend</category>
            <category>Entwickler-Tools</category>
            <enclosure url="https://saschb2b.de/posts/v0-ide.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>