<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Christian Lüdemann</title>
    <description>The latest articles on Forem by Christian Lüdemann (@chrislydemann).</description>
    <link>https://forem.com/chrislydemann</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F209969%2F2699a07b-2de1-4494-82f3-b0d14ac33db2.jpg</url>
      <title>Forem: Christian Lüdemann</title>
      <link>https://forem.com/chrislydemann</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/chrislydemann"/>
    <language>en</language>
    <item>
      <title>New Angular project? This is how I would start</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Wed, 20 Nov 2024 20:33:42 +0000</pubDate>
      <link>https://forem.com/chrislydemann/new-angular-project-this-is-how-i-would-start-2mn4</link>
      <guid>https://forem.com/chrislydemann/new-angular-project-this-is-how-i-would-start-2mn4</guid>
      <description>&lt;p&gt;Throughout my career as an Angular consultant, I have had occasions where I had to start with an Angular project from scratch which is a pipe dream for every software developer. Do everything the right way at the get-go, no legacy, you follow me...&lt;/p&gt;

&lt;p&gt;So, how do you get started with the project from scratch, and what would I do? This blog post will guide you through setting up an Angular project from scratch to a setup that supports scalability and a productive workflow.&lt;/p&gt;

&lt;p&gt;You can read it &lt;a href="https://christianlydemann.com/new-angular-project-this-is-how-i-would-start/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
    <item>
      <title>Error, loading, content…? Use this page pattern for your Angular apps</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Wed, 16 Oct 2024 15:44:02 +0000</pubDate>
      <link>https://forem.com/chrislydemann/error-loading-content-use-this-page-pattern-for-your-angular-apps-26bh</link>
      <guid>https://forem.com/chrislydemann/error-loading-content-use-this-page-pattern-for-your-angular-apps-26bh</guid>
      <description>&lt;p&gt;When developing Angular applications, it’s common for pages to transition through three key states: error, loading, and show content. Every time you fetch data from an API, your page will likely show a loading indicator first, and then either render the content successfully or display an error message if something goes wrong.&lt;/p&gt;

&lt;p&gt;This pattern is repetitive, but there’s a more elegant way to handle it by creating a reusable page component. In this post, I’ll show you how to implement this pattern and how to extract it into a reusable component.&lt;/p&gt;

&lt;p&gt;Read the full blog post &lt;a href="https://christianlydemann.com/page-pattern-for-your-angular-apps/" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How To Do Cypress Component Testing For Angular Apps With MSW</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 30 Jul 2024 10:33:30 +0000</pubDate>
      <link>https://forem.com/chrislydemann/how-to-do-cypress-component-testing-for-angular-apps-with-msw-poe</link>
      <guid>https://forem.com/chrislydemann/how-to-do-cypress-component-testing-for-angular-apps-with-msw-poe</guid>
      <description>&lt;p&gt;New blog post out:&lt;/p&gt;

&lt;p&gt;How To Do Cypress Component Testing For Angular Apps With MSW&lt;/p&gt;

&lt;p&gt;&lt;a href="https://christianlydemann.com/how-to-do-cypress-component-testing-for-angular-apps-with-msw/" rel="noopener noreferrer"&gt;https://christianlydemann.com/how-to-do-cypress-component-testing-for-angular-apps-with-msw/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cypress</category>
      <category>angular</category>
    </item>
    <item>
      <title>Handling Authentication with Supabase, Analog and tRPC</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 23 Jul 2024 14:28:27 +0000</pubDate>
      <link>https://forem.com/chrislydemann/handling-authentication-with-supabase-analog-and-trpc-27f0</link>
      <guid>https://forem.com/chrislydemann/handling-authentication-with-supabase-analog-and-trpc-27f0</guid>
      <description>&lt;p&gt;I just released a video showing how to set up authentication with Supabase, Analog, and tRPC:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://christianlydemann.com/handling-authentication-with-supabase-analog-and-trpc/" rel="noopener noreferrer"&gt;https://christianlydemann.com/handling-authentication-with-supabase-analog-and-trpc/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>spartan</category>
      <category>trpc</category>
      <category>supabase</category>
      <category>analog</category>
    </item>
    <item>
      <title>How I migrated my course platform to the SPARTAN stack (Angular Global Summit 2024)</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 16 Jul 2024 10:39:12 +0000</pubDate>
      <link>https://forem.com/chrislydemann/how-i-migrated-my-course-platform-to-the-spartan-stack-angular-global-summit-2024-17kf</link>
      <guid>https://forem.com/chrislydemann/how-i-migrated-my-course-platform-to-the-spartan-stack-angular-global-summit-2024-17kf</guid>
      <description>&lt;p&gt;I just released my latest conference talk:&lt;/p&gt;

&lt;p&gt;How I migrated my course platform to the SPARTAN stack (Angular Global Summit 2024)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The SPARTAN Stack&lt;/li&gt;
&lt;li&gt;How I migrated my course platform to Analog and the SPARTAN stack&lt;/li&gt;
&lt;li&gt;Handing auth with the SPARTAN stack&lt;/li&gt;
&lt;li&gt;Client Hydration with Analog&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=oOItC-Z7zOU&amp;amp;ab_channel=ChristianLydemann" rel="noopener noreferrer"&gt;Watch it here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>analog</category>
    </item>
    <item>
      <title>The Stages of an Angular Architecture (Angular Global Summit)</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 02 Jul 2024 11:56:59 +0000</pubDate>
      <link>https://forem.com/chrislydemann/the-stages-of-an-angular-architecture-angular-global-summit-54ck</link>
      <guid>https://forem.com/chrislydemann/the-stages-of-an-angular-architecture-angular-global-summit-54ck</guid>
      <description>&lt;p&gt;You released a video from Angular Global Summit:&lt;/p&gt;

&lt;p&gt;The Stages of an Angular Architecture&lt;/p&gt;

&lt;p&gt;It gives you my framework for scalable Angular architectures (even without Nx) and tells you what to do as your architecture scales up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=FRsR-0FUG58&amp;amp;t=1249s&amp;amp;ab_channel=ChristianLydemann"&gt;https://www.youtube.com/watch?v=FRsR-0FUG58&amp;amp;t=1249s&amp;amp;ab_channel=ChristianLydemann&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>nx</category>
    </item>
    <item>
      <title>New Free eBook: Angular Mastery: From Principles To Practice.</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Thu, 30 May 2024 12:22:47 +0000</pubDate>
      <link>https://forem.com/chrislydemann/new-free-ebook-angular-mastery-from-principles-to-practice-33bj</link>
      <guid>https://forem.com/chrislydemann/new-free-ebook-angular-mastery-from-principles-to-practice-33bj</guid>
      <description>&lt;p&gt;I just released a new free ebook: Angular Mastery: From Principles To Practice.&lt;/p&gt;

&lt;p&gt;It is a 141-page book designed to help you archive Angular Mastery as fast as possible.&lt;/p&gt;

&lt;p&gt;The book covers:&lt;/p&gt;

&lt;p&gt;🏛️ Designing your architecture with Nx&lt;br&gt;
⚙️ Designing a DevOps pipeline with Nx&lt;br&gt;
🧪 High ROI testing with Cypress E2E, CT and Jest unit tests&lt;br&gt;
🚥 How to handle state and use Signals in your Angular apps&lt;br&gt;
🏎️ Load and run-time performance optimization&lt;br&gt;
📸 Creating an app with Analog&lt;br&gt;
🗞 The 10 commandments of Angular development&lt;/p&gt;

&lt;p&gt;I hope you find it helpful.&lt;/p&gt;

&lt;p&gt;You can get it here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://christianlydemann.com/angular-mastery-book/"&gt;https://christianlydemann.com/angular-mastery-book/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>rxjs</category>
      <category>signals</category>
    </item>
    <item>
      <title>Angular PWA &amp; Service Workers (install app, push notifications, offline cache and updates)</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 16 Apr 2024 12:11:06 +0000</pubDate>
      <link>https://forem.com/chrislydemann/angular-pwa-service-workers-install-app-push-notifications-offline-cache-and-updates-2514</link>
      <guid>https://forem.com/chrislydemann/angular-pwa-service-workers-install-app-push-notifications-offline-cache-and-updates-2514</guid>
      <description>&lt;p&gt;Angular PWA &amp;amp; Service Workers (install app, push notifications, offline cache and updates) &lt;/p&gt;

&lt;p&gt;🤔 What are PWA and service workers?&lt;br&gt;
⚙️ Setting up a PWA with Angular&lt;br&gt;
📲 Install app&lt;br&gt;
🙈 Offline cache&lt;br&gt;
🗞 Push notifications&lt;br&gt;
🎉 Updates and production management&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=urzyxAEdld8&amp;amp;ab_channel=ChristianLydemann"&gt;https://www.youtube.com/watch?v=urzyxAEdld8&amp;amp;ab_channel=ChristianLydemann&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>pwa</category>
      <category>offline</category>
    </item>
    <item>
      <title>Backend for Frontend (BFF) with Angular and tRPC</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Tue, 02 Apr 2024 11:33:06 +0000</pubDate>
      <link>https://forem.com/chrislydemann/backend-for-frontend-bff-with-angular-and-trpc-hdf</link>
      <guid>https://forem.com/chrislydemann/backend-for-frontend-bff-with-angular-and-trpc-hdf</guid>
      <description>&lt;p&gt;In this video, I explain what Back-end for Front-end (BFF) is and why it is important to consider implementing it. BFF is a service that simplifies the front-end by providing only the data and functionality that the front-end needs, abstracting away the complexity of the architecture. By using BFF, the front-end can interact with a simple dedicated endpoint, resulting in a more intuitive and efficient user experience. I also discuss the benefits of BFF, such as improved performance, scalability, and decoupling of third-party dependencies. Watch the video to learn more about BFF and how it can enhance your projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=SUyKohjyhq0&amp;amp;t=810s&amp;amp;ab_channel=ChristianLydemann"&gt;https://www.youtube.com/watch?v=SUyKohjyhq0&amp;amp;t=810s&amp;amp;ab_channel=ChristianLydemann&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How I Migrated My Course Platform To Analog (Step By Step)</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Wed, 21 Feb 2024 13:34:56 +0000</pubDate>
      <link>https://forem.com/chrislydemann/how-i-migrated-my-course-platform-to-analog-step-by-step-405o</link>
      <guid>https://forem.com/chrislydemann/how-i-migrated-my-course-platform-to-analog-step-by-step-405o</guid>
      <description>&lt;p&gt;Analog is a full-stack framework for Angular ala NextJS that offers server-side rendering, static site generation, and API routes.&lt;/p&gt;

&lt;p&gt;Analog empowers Angular with server rendering tools making it optimal for public websites. Otherwise, Angular has often been neglected in favor of NextJS/NuxtJS for these purposes (due to the subpar SSR/SSG experience).&lt;/p&gt;

&lt;p&gt;I recently migrated my course platform to AnalogJS to utilize the benefits of the framework and I will share with you every step of the migration and the road blocks on the way.&lt;/p&gt;

&lt;p&gt;Read the post &lt;a href="https://christianlydemann.com/how-i-migrated-my-course-platform-to-analog/"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>analog</category>
      <category>firebase</category>
    </item>
    <item>
      <title>The Future of Angular and the Latest Features in Angular</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Wed, 07 Feb 2024 17:34:36 +0000</pubDate>
      <link>https://forem.com/chrislydemann/the-future-of-angular-and-the-latest-features-in-angular-5cba</link>
      <guid>https://forem.com/chrislydemann/the-future-of-angular-and-the-latest-features-in-angular-5cba</guid>
      <description>&lt;p&gt;New blog post: Angular 17, latest features, and the future of Angular.&lt;/p&gt;

&lt;p&gt;You can read&lt;br&gt;
 it &lt;a href="https://christianlydemann.com/the-future-of-angular-and-the-latest-features-in-angular/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
    <item>
      <title>The Future of Angular and the Latest Features in Angular</title>
      <dc:creator>Christian Lüdemann</dc:creator>
      <pubDate>Wed, 07 Feb 2024 17:34:33 +0000</pubDate>
      <link>https://forem.com/chrislydemann/the-future-of-angular-and-the-latest-features-in-angular-23oj</link>
      <guid>https://forem.com/chrislydemann/the-future-of-angular-and-the-latest-features-in-angular-23oj</guid>
      <description>&lt;p&gt;New blog post: Angular 17, latest features, and the future of Angular.&lt;/p&gt;

&lt;p&gt;You can read it &lt;a href="https://christianlydemann.com/the-future-of-angular-and-the-latest-features-in-angular/"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
  </channel>
</rss>
