<?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>DEV Community: Tomas Trajan 🇨🇭</title>
    <description>The latest articles on DEV Community by Tomas Trajan 🇨🇭 (@tomastrajan).</description>
    <link>https://dev.to/tomastrajan</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%2F106501%2Fa0be3638-51a1-4ede-98a8-3ab5df706e23.jpg</url>
      <title>DEV Community: Tomas Trajan 🇨🇭</title>
      <link>https://dev.to/tomastrajan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tomastrajan"/>
    <language>en</language>
    <item>
      <title>Top 10 Angular Architecture Mistakes You Really Want To Avoid</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 10 Sep 2024 09:38:00 +0000</pubDate>
      <link>https://dev.to/tomastrajan/top-10-angular-architecture-mistakes-you-really-want-to-avoid-21i7</link>
      <guid>https://dev.to/tomastrajan/top-10-angular-architecture-mistakes-you-really-want-to-avoid-21i7</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf27mga5yabmmfcqi5sj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnf27mga5yabmmfcqi5sj.jpg" alt="Angular architecture went wrong"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In 2024, Angular keeps changing for better with ever increasing pace, but the big picture remains the same which makes architecture know-how timeless and well worth your time!&lt;/p&gt;




&lt;p&gt;Hey there folks! The Angular renaissance continues, and it’s going even stronger in 2024 with Angular team delivering amazing things like Signal based &lt;code&gt;input&lt;/code&gt;s / &lt;code&gt;output&lt;/code&gt;s / &lt;code&gt;viewChild&lt;/code&gt;(ren) / &lt;code&gt;contentChild&lt;/code&gt;(ren), new control flow, &lt;code&gt;@defer&lt;/code&gt; for seamless component lazy loading all the way to the &lt;strong&gt;zone-less change detection&lt;/strong&gt; which was released in preview in Angular 18 in May!&lt;/p&gt;

&lt;p&gt;These new APIs, syntaxes and approaches are amazing and have demonstrably positive impact on the developer experience, performance and the quality of the codebases!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;BUT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the same time, they don’t really have much impact on the way we structure our applications and workspaces. &lt;strong&gt;And that’s a great thing because…&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Angular architecture focused know-how is basically timeless and well worth spending time on!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The way we structure and architect our Angular application stayed virtually the same from the times of ancient Angular 4 which brought us stable &lt;code&gt;Router&lt;/code&gt; implementation with support for lazy loaded routes which is one of the most important building blocks of clean architecture (not just performance) until today!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Of course, there have been some API adjustments over time, but they mostly had effect on the more low (syntax) level instead of completely changing the way we’re doing things!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The best example to illustrate this point is the advent of the standalone components and APIs which made NgModules optional. The impact of this change is that instead of lazy loading of feature modules, we’re now lazy loading feature route configs (or root feature components).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Is it a difference? Sure!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Does it change how things are organized and structured on the higher architectural level ? &lt;strong&gt;NOT AT ALL!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope this introduction sets the tone and spiked your curiosity to learn more about Angular architecture as such know-how &lt;strong&gt;was, is and will stay relevant and useful&lt;/strong&gt;! It will allow you to ensure success of your projects and provide value for you, your team and the organization you work for!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;So what are the most common mistakes in the context of Angular application architecture?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/top-10-angular-architecture-mistakes#not-having-an-architecture-or-a-plan-at-all?utm_source=devto&amp;amp;UTM_MEDIUM=SELF&amp;amp;UTM_CONTENT=POST&amp;amp;UTM_CONTENT_TYPE=BLOG&amp;amp;UTM_CAMPAIGN=TOP-10-ARCH-MISTAKES" rel="noopener noreferrer"&gt;Continue reading on AngularExperts.io (free)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Total guide to lazy loading with Angular @defer</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 14 Nov 2023 12:28:22 +0000</pubDate>
      <link>https://dev.to/angular/total-guide-to-lazy-loading-with-angular-defer-ei0</link>
      <guid>https://dev.to/angular/total-guide-to-lazy-loading-with-angular-defer-ei0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Angular 17 is here, and it has arrived with a very strong line up of amazing goodies!&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The new &lt;code&gt;@defer&lt;/code&gt; block, which allows us to lazy load Angular standalone components, is by far the most exciting and impactful feature of Angular 17 (at least in my books)!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Angular &lt;a class="mentioned-user" href="https://dev.to/defer"&gt;@defer&lt;/a&gt; at glance
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;@defer&lt;/code&gt; syntax allows us to lazy load any Angular standalone component with exceptionally great DX and API which covers almost every use case that you can imagine!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/angular-defer-lazy-loading-total-guide#home" rel="noopener noreferrer"&gt;Continue reading at AngularExperts.io (free)&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
    <item>
      <title>How to migrate Angular CoreModule to standalone APIs</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 05 Sep 2023 08:16:02 +0000</pubDate>
      <link>https://dev.to/angular/how-to-migrate-angular-coremodule-to-standalone-apis-1mh9</link>
      <guid>https://dev.to/angular/how-to-migrate-angular-coremodule-to-standalone-apis-1mh9</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/how-to-migrate-angular-core-module-to-standalone-apis-206282541eb5?source=rss-360cd444e1fc------2" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2600%2F1%2AX7UnkGrWMY1cAcHfEb3ZBQ.jpeg" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article we’re going to learn how to migrate commonly used Angular &lt;code&gt;CoreModule&lt;/code&gt; (or any other Angular module) to standalone APIs!&lt;/p&gt;

&lt;p&gt;Angular standalone components and APIs are the future! Angular CLI now allows us to generate new Angular applications with standalone setup out of the box, simply by using the new --standalone flag when running the ng new command!&lt;/p&gt;

&lt;p&gt;This works really great for new greenfield projects, but we might encounter some issues in more complex enterprise environments which often tend to abstract base setup into NgModules in reusable libraries which are then consumed by multiple Angular apps.&lt;/p&gt;

&lt;p&gt;Such module might prevent us from using of the standalone setup in consumer apps because we can't import such module directly in the new &lt;code&gt;app.config.ts&lt;/code&gt; and the provider workaround in form of &lt;code&gt;importProvidersFrom&lt;/code&gt; handles only providers which is often just not enough!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/angular-core-module-standalone-migration" rel="noopener noreferrer"&gt;Continue reading on AngularExperts.io (free)»&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>softwareengineering</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Demystifying the Push / Pull nature of Angular Signals</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 11 Apr 2023 13:45:45 +0000</pubDate>
      <link>https://dev.to/angular/demystifying-the-push-pull-nature-of-angular-signals-35ll</link>
      <guid>https://dev.to/angular/demystifying-the-push-pull-nature-of-angular-signals-35ll</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/demystifying-the-push-pull-nature-of-angular-signals-a85756623c24?source=rss-360cd444e1fc------2" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2600%2F1%2A67vxjRxRFcRKHmZl-muzlw.jpeg" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s take a deep dive into what makes signals tick and how their behavior can be understood using the primitive push / pull concepts!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/angular-signals-push-pull" rel="noopener noreferrer"&gt;Continue reading on AngularExperts.io (free) »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>frontend</category>
      <category>signals</category>
      <category>rxjs</category>
    </item>
    <item>
      <title>Jest ESM — Total Guide To More Than 100% Faster Testing For Angular⚡</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 10 Jan 2023 08:55:49 +0000</pubDate>
      <link>https://dev.to/angular/jest-esm-total-guide-to-more-than-100-faster-testing-for-angular-52gj</link>
      <guid>https://dev.to/angular/jest-esm-total-guide-to-more-than-100-faster-testing-for-angular-52gj</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/jest-esm-total-guide-to-more-than-100-faster-testing-for-angular-56f80890535b?source=rss-360cd444e1fc------2" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2600%2F1%2AXpWTyCDdB82ygtIQCmyssw.jpeg" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's learn how to speed up our Angular Jest tests by more than 100% by switching to Jest ESM (a notoriously problematic migration) and how to solve all the troublesome issues that tend to pop up along the way!&lt;/p&gt;

&lt;h2&gt;
  
  
  TLDR;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jest is fast until it isn't therefore we have to bother with ESM&lt;/li&gt;
&lt;li&gt;Basic Jest ESM setup is pretty straight forward&lt;/li&gt;
&lt;li&gt;There is an ideal Jest ESM scenario where it would just work if libraries implemented ESM correctly&lt;/li&gt;
&lt;li&gt;In real life Jest ESM breaks because most libs ship incorrect ESM&lt;/li&gt;
&lt;li&gt;The moduleNameMapper and transformIgnorePatterns are the main tools that will help is to fix all the Jest ESM problems&lt;/li&gt;
&lt;li&gt; We're going to progress through list of common problems and their solutions (please share yours to make it more complete in the comments)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/total-guide-to-jest-esm-and-angular" rel="noopener noreferrer"&gt;Continue reading on AngularExperts.io »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>jest</category>
      <category>testing</category>
      <category>node</category>
      <category>angular</category>
    </item>
    <item>
      <title>The Most Important Thing You Need To Understand About Angular</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 22 Nov 2022 15:34:32 +0000</pubDate>
      <link>https://dev.to/angular/the-most-important-thing-you-need-to-understand-about-angular-1k4g</link>
      <guid>https://dev.to/angular/the-most-important-thing-you-need-to-understand-about-angular-1k4g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;The Angular "Template Context" is a practically useful mental model, which once internalized, will be your main guide on the journey to build the best possible Angular applications!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Foreword
&lt;/h2&gt;

&lt;p&gt;This article is pretty long, but don’t worry, it’s not because Angular is just soooo damn complicated… It’s because we’re painting a very board picture and looking at it from all the imaginable angles so that in the end you will end up with 100% full understanding of the topic!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In theory, you could just search for the heading saying &lt;strong&gt;&lt;em&gt;“Template context”&lt;/em&gt;&lt;/strong&gt; , but I would strongly advise to check the whole thing 😉&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;TLDR;&lt;/strong&gt; In Angular, template related things &lt;strong&gt;declarables ( components, directives and pipes )&lt;/strong&gt; that use each other in their templates have to be part of &lt;strong&gt;THE SAME &lt;em&gt;“template context”&lt;/em&gt;&lt;/strong&gt; which is defined by &lt;code&gt;@NgModule&lt;/code&gt; (or the component itself when using new stand-alone components SAC approach), application then usually has multiple &lt;strong&gt;&lt;em&gt;“origin template contexts”&lt;/em&gt;&lt;/strong&gt;, namely the eager ( root ) one and then for every lazy loaded &lt;code&gt;@NgModule&lt;/code&gt;. On the other hand, every SAC defines its own &lt;strong&gt;&lt;em&gt;“template context”&lt;/em&gt;&lt;/strong&gt; in full.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://angularexperts.io/blog/angular-template-context" rel="noopener noreferrer"&gt;Read full article at angularexperts.io ...&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
    </item>
    <item>
      <title>The Best New Way To Cache API Responses with Angular &amp; RxJs</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 07 Jun 2022 08:03:03 +0000</pubDate>
      <link>https://dev.to/tomastrajan/the-best-new-way-to-cache-api-responses-with-angular-rxjs-1hmn</link>
      <guid>https://dev.to/tomastrajan/the-best-new-way-to-cache-api-responses-with-angular-rxjs-1hmn</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/the-best-new-way-to-cache-api-responses-with-angular-rxjs-5cbc05d12f10?source=rss-360cd444e1fc------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f0tE_eWy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2600/1%2A0aOMHdVnQnSvC5BQVhB5Pg.jpeg" alt="" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s learn the best new way to implement time based caching for the API responses (or any other) RxJs streams in our Angular applications!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/the-best-new-way-to-cache-api-responses-with-angular-rxjs-5cbc05d12f10?source=rss-360cd444e1fc------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>reactiveprogramming</category>
      <category>rxjs</category>
      <category>frontend</category>
    </item>
    <item>
      <title>Level Up Your NgRx Skills With 10 Time-Tested Best Practices</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Wed, 04 May 2022 08:31:05 +0000</pubDate>
      <link>https://dev.to/tomastrajan/level-up-your-ngrx-skills-with-10-time-tested-best-practices-2759</link>
      <guid>https://dev.to/tomastrajan/level-up-your-ngrx-skills-with-10-time-tested-best-practices-2759</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/level-up-your-ngrx-skills-with-10-time-tested-best-practices-6c837fb14877?source=rss-360cd444e1fc------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0_y0D9Ze--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2600/1%2Ai8ESySdafzuPfUSbo6tuUQ.jpeg" alt="Article Title image with NgRx Logo in nice jungle like environment" width="800" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;NgRx is the most popular state management library for Angular, let’s explore set of real world proven best practices to level up your skill!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/level-up-your-ngrx-skills-with-10-time-tested-best-practices-6c837fb14877?source=rss-360cd444e1fc------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>rxjs</category>
      <category>webdev</category>
      <category>angular</category>
    </item>
    <item>
      <title>The 6 Best Practices for building Custom Angular Components Library</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 20 Jul 2021 09:32:28 +0000</pubDate>
      <link>https://dev.to/angular/the-6-best-practices-for-building-custom-angular-components-library-5fkc</link>
      <guid>https://dev.to/angular/the-6-best-practices-for-building-custom-angular-components-library-5fkc</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/the-6-best-practices-for-building-custom-angular-components-library-1d6a4cc8215e?source=rss-360cd444e1fc------2" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F2600%2F1%2AafMyGXwS5w2C9aH4ZtlN5g.png" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let’s explore best practices &amp;amp; lessons learned from building of a custom component library for large enterprise organization the right way!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/the-6-best-practices-for-building-custom-angular-components-library-1d6a4cc8215e?source=rss-360cd444e1fc------2" rel="noopener noreferrer"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>frontend</category>
      <category>materialdesign</category>
      <category>angular</category>
    </item>
    <item>
      <title>Practical Angular: The Most Impactful RxJs Best Practice Tip Of All Time (Medium Dev.to auto import)</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 25 May 2021 14:16:55 +0000</pubDate>
      <link>https://dev.to/tomastrajan/practical-angular-the-most-impactful-rxjs-best-practice-tip-of-all-time-3kc3</link>
      <guid>https://dev.to/tomastrajan/practical-angular-the-most-impactful-rxjs-best-practice-tip-of-all-time-3kc3</guid>
      <description>&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/practical-angular-the-most-impactful-rxjs-best-practice-tip-of-all-time-c5d717ec8c4b?source=rss-360cd444e1fc------2"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KWIt2iXn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://cdn-images-1.medium.com/max/2099/1%2A1G0DdAxqlG-i4ucDh0kfvg.png" alt="" width="800" height="710"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This easy to follow tip can help YOU and your teammates to simplify and hence improve your projects significantly!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tomastrajan.medium.com/practical-angular-the-most-impactful-rxjs-best-practice-tip-of-all-time-c5d717ec8c4b?source=rss-360cd444e1fc------2"&gt;Continue reading on Medium »&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rxjs</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>angular</category>
    </item>
    <item>
      <title>The Best Way To Architect Your Angular Libraries</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 15 Sep 2020 11:08:47 +0000</pubDate>
      <link>https://dev.to/tomastrajan/the-best-way-to-architect-your-angular-libraries-id9</link>
      <guid>https://dev.to/tomastrajan/the-best-way-to-architect-your-angular-libraries-id9</guid>
      <description>&lt;h1&gt;
  
  
  The context
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;The ideas presented in this article are based on extensive experience from large enterprise environment (100 Angular SPAs and 30+ libs )…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To be more precise, the initial impulse to explore this topic was creation of a second “component framework” (think internal Angular Material) following this approach and comparing it to the original one which does NOT use the ng-packagr sub-entries…&lt;/p&gt;

&lt;h2&gt;
  
  
  What we’re going to learn
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How to create Angular library implementing clean architecture from scratch (demo project included)&lt;/li&gt;
&lt;li&gt;How to implement sub-entry per feature (and how to simplify the process using ng-samurai schematics)&lt;/li&gt;
&lt;li&gt;How to define proper Typescript “paths” aliases&lt;/li&gt;
&lt;li&gt;How this architecture and setup automatically saves us from using incorrect imports or introducing circular dependencies&lt;/li&gt;
&lt;li&gt;How to analyze our library structure with madge&lt;/li&gt;
&lt;li&gt;How to consumer library in other applications&lt;/li&gt;
&lt;li&gt;How to make stuff private&lt;/li&gt;
&lt;li&gt;How to bring dependencies into consumer applications (dependencies vs peer dependencies)&lt;/li&gt;
&lt;li&gt;How to create demo application for a library in local workspace&lt;/li&gt;
&lt;li&gt;How to make this work with jest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://medium.com/@tomastrajan/the-best-way-to-architect-your-angular-libraries-87959301d3d3"&gt;Read more...&lt;/a&gt;&lt;/p&gt;

</description>
      <category>angular</category>
      <category>typescript</category>
      <category>frontend</category>
      <category>architecture</category>
    </item>
    <item>
      <title>How to architect epic Angular app in less than 10 minutes! ⏱️</title>
      <dc:creator>Tomas Trajan 🇨🇭</dc:creator>
      <pubDate>Tue, 25 Feb 2020 09:33:00 +0000</pubDate>
      <link>https://dev.to/angular/how-to-architect-epic-angular-app-in-less-than-10-minutes-35j2</link>
      <guid>https://dev.to/angular/how-to-architect-epic-angular-app-in-less-than-10-minutes-35j2</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sxkUAhv_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Af_VE9z0t6m6mnk7TtPqx-w.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sxkUAhv_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn-images-1.medium.com/max/1024/1%2Af_VE9z0t6m6mnk7TtPqx-w.jpeg" alt=""&gt;&lt;/a&gt;Original photo by &lt;a href="https://unsplash.com/@grantlemons?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Grant Lemons&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this article we are going to learn how to scaffold new Angular application with clean, maintainable and extendable architecture in almost no time and what are the benefits of doing so. Besides many actionable tips, we’ll also discus guidelines about where we should implement most common things like reusable services, feature specific components and others…&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For the last year and a half I have been consulting for a huge Swiss insurance enterprise organisation with more than 90 Angular apps. Yes, ninety, crazy, but also cool!&lt;/p&gt;

&lt;p&gt;Besides that I was also pretty busy with preparation of many &lt;a href="https://tomastrajan.com/workshops/angular-state-management-workshop-with-ngrx"&gt;Angular workshop&lt;/a&gt; exercises which involved scaffolding of many projects from scratch.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;💎 &lt;strong&gt;This article brings together all the lessons learned in a distilled cleaned up form for you to cut down your learning curve and help you make your Angular SPAs epic!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@tomastrajan/how-to-build-epic-angular-app-with-clean-architecture-91640ed1656"&gt;Read more...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;EDIT: fixed link 🤦😂&lt;/p&gt;

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