Frontend

Articles about Frontend on omid.dev — guides, topics, and notes from the field.

Choosing the Right Approach for Managing Multiple Angular Projects: Micro Frontends vs. Monorepo vs. Reusable Shared Module

Published: May 12, 2024 Reading time: 4 min

Managing multiple Angular projects can be a daunting task, especially as teams grow and codebases become more complex. In this article, we’ll explore three common approaches for managing multiple Angular projects: Micro Frontends, Monorepo, and Reusable Shared Module. We’ll compare their advantages, disadvantages, and suitability for different scenarios to help you make an informed decision for your Angular projects. Micro Frontends Consider a large e-commerce platform comprising several distinct sections, including product catalog, shopping cart, checkout, and user profile. With micro frontends, each section can be developed and deployed independently as a separate micro frontend. This enables different teams to work autonomously on their respective sections, improving development speed, scalability, and flexibility. ...

Continue Reading

Creating a Reusable Shared Module in Angular for Cross-Repository Usage

Published: May 12, 2024 Reading time: 4 min

In Angular development, creating reusable shared modules is a powerful way to encapsulate common functionality, UI components, services, and styles that can be used across different projects or repositories. In this guide, we’ll walk through the process of creating a reusable shared module from scratch, covering directory structures, component/service/directive creation, shared styles, and both development (npm link) and production (npm publish) use cases. Companion resource Companion Project Try the working example in your browser or inspect the full source code behind this article. github.com/omidfarhang/example-projects/examples/angular-shared-library-workspace Open live demo View on GitHub Step 1: Generate a Library The first step is to generate an Angular library project within your workspace using the Angular CLI: ...

Continue Reading

Micro Frontends: Working Example

Published: May 11, 2024 Reading time: 7 min

Now let’s explore a working example to understand it better. Companion resource Companion Project Try the working example in your browser or inspect the full source code behind this article. github.com/omidfarhang/example-projects/examples/qwik-angular-react-rust Open live demo View on GitHub Building a Micro Frontend Architecture with Qwik, Angular, React, and Rust Micro frontend architecture is a practical way to develop scalable and modular web applications. By breaking down a monolithic frontend into smaller, independently deployable modules, teams can work more efficiently and scale their applications with ease. ...

Continue Reading

Micro Frontends: How?

Published: May 9, 2024 Reading time: 3 min

As web applications grow in complexity, maintaining a consistent tech stack becomes crucial for efficiency and scalability. If you have multiple projects using different frameworks, like Angular and React, unifying them can seem daunting. However, Micro Frontends offer a modern solution to this challenge, allowing you to integrate diverse projects seamlessly. Here’s how you can leverage Micro Frontends to unify your Angular and React projects. Micro Frontends extend the microservices idea to the frontend world. They allow different teams to develop and deploy their frontend applications independently. Each part of the application can be built using different frameworks or libraries and then integrated into a larger application. ...

Continue Reading

Micro Frontends: Why?

Published: May 9, 2024 Reading time: 5 min

Micro frontends is an architectural pattern for building web applications as a composition of loosely coupled, independently deployable frontend modules. It extends the principles of microservices to the frontend, allowing teams to develop, deploy, and scale parts of the user interface independently. In essence, micro frontends break down a large, monolithic frontend application into smaller, more manageable pieces, each with its own technology stack, development team, and deployment pipeline. Key characteristics of micro frontends Modularity: Micro frontends promote modularity by dividing the user interface into smaller, self-contained units called micro frontends. Each micro frontend represents a cohesive set of features or functionality, allowing teams to focus on developing and maintaining specific parts of the application. ...

Continue Reading

Six Months with Angular 2 After Years of AngularJS

Published: January 18, 2017 Reading time: 10 min

Angular 2.0 shipped in September. We are on 2.4 now, and the release train is already moving — Angular 4 is being talked about openly. I have been building with it since October, migrating a medium-sized internal dashboard that lived in AngularJS for three years. This is not a tutorial and not a verdict. It is a field report from someone who still dreams in $scope sometimes. The context nobody warns you about If you spent years on AngularJS, you did not “upgrade.” You rewrote. Google offers ngUpgrade to run both frameworks side by side, and we tried it for two weeks before giving up. Our app had too many directives, too much implicit magic, and too many $watches buried in places nobody remembered. We picked a greenfield module, scaffolded it with the CLI, and started porting feature by feature. ...

Continue Reading