Chrome extensions are a powerful tool for extending the capabilities of the web. Perhaps you've already written an extension, but have you written one in Angular? If you're wondering why you would ever write your own extension or have just wondered how to get started, this article is for you.
We will be starting from scratch with ng new and finishing with fully functional Chrome extension, convenient dev environment and hopefully decent understanding of how it works.
Manfred brings the ideas and concepts from Domain Driven Design to the front end world in this article. This is highly detailed and packed with additional links to resources and articles. You'll see how DDD can not only be supported in a Monorepo environment, but how that organization can also pave the way for a MicroFrontend architecture as well.
Modern single page applications (SPAs) are often more than just recipients of data transfer objects (DTOs). They often contain significant domain logic which adds complexity. Ideas from DDD help developers to manage and scale with the resulting complexity.
This is a great overview of Dependency Injection and how it is used in Angular. There's enough detail for a review for seasoned Angular developers but this is also approachable for those just getting started with Angular. The summary contains some quick tips on how to use Dependency Injection as well.
Have you wanted to try using web sockets but haven't figured out where to start? Here's a super concise recipe on how to use web sockets in your application using RxJS.
This is a great review of the relationship of .forRoot() and shared feature modules. After reading this, you'll understand how to avoid unwanted behavior in your applications, especially when it comes to lazy loaded modules, when you use a shared modules like and application theme in multiple features.
Sometimes we make the mistake to use the forRoot() function more than once throughout an application. We might not notice it when this happens but often it is the cause of unexpected behavior, which is sadly hard to debug.