Frontend

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

Building Custom Angular Schematics: Automating Code Generation

Published: June 3, 2024 Reading time: 4 min

In the fast-paced world of web development, efficiency and consistency are key. Repetitive tasks can slow down productivity, and inconsistent code can lead to maintenance nightmares. Enter Angular Schematics—a powerful tool to automate code generation, enforce architectural standards, and improve code quality. In this comprehensive guide, we’ll delve into creating custom Angular schematics, helping you streamline your development workflow and ensure your codebase remains robust and maintainable. Companion resource Companion Project Explore the complete working example on GitHub. github.com/omidfarhang/example-projects/examples/angular-custom-schematics View on GitHub What are Angular Schematics? Angular Schematics are code generators that transform a software project by creating, modifying, or removing files and code snippets. They’re integral to the Angular CLI (Command Line Interface) and are used to scaffold new applications, add features, and enforce best practices. ...

Continue Reading

Is Building Your Own Design System Worth It? Best Practices, Key Considerations and Real-World Example

Published: June 2, 2024 Reading time: 9 min

In the ever-evolving landscape of web development, the question of whether to build and develop your own design system is a common one. As design systems become more integral to creating cohesive, scalable, and efficient applications, it’s crucial to weigh the benefits and challenges. This blog post delves into the worthiness of developing a custom design system, best practices for building one, when it’s needed, and the role of JavaScript frameworks like Angular. Additionally, we’ll explore which development teams should be involved in this process and provide a real-world example for clarity. ...

Continue Reading

Integrating GraphQL with Angular: A Practical Guide

Published: June 1, 2024 Reading time: 5 min

GraphQL is a powerful query language for APIs, providing a flexible and efficient alternative to REST. Combining it with Angular, a robust front-end framework, can lead to highly dynamic and responsive web applications. In this guide, we’ll explore how to integrate GraphQL with Angular, leveraging the Apollo Client for seamless data management. 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-graphql-apollo Open live demo View on GitHub 1. Introduction to GraphQL and Angular What is GraphQL? GraphQL is an open-source data query language developed by Facebook. It allows clients to request exactly the data they need, making APIs more flexible and efficient. ...

Continue Reading

Design Patterns in Angular: Enhancing Code Quality and Maintainability

Published: May 31, 2024 Reading time: 6 min

Angular, one of the most popular frameworks for building robust web applications, provides a comprehensive toolkit for developers. However, to truly harness its power, understanding and applying design patterns is crucial. Design patterns offer proven solutions to common problems, making your code more organized, reusable, and maintainable. In this blog post, we’ll delve into some advanced design patterns and their application in Angular, helping you enhance your code quality and maintainability. ...

Continue Reading

Building a Scalable Cloud Architecture: Tips, Tools, and Frontend Considerations

Published: May 30, 2024 Reading time: 6 min

In today’s fast-paced digital landscape, businesses need to ensure that their infrastructure can handle growth and scale effectively. This is where a well-designed, scalable cloud architecture comes into play. Building a scalable cloud architecture involves more than just migrating existing systems to the cloud; it requires thoughtful planning, the right tools, and best practices to ensure your applications and services can grow with your business needs. Understanding Scalable Cloud Architecture A scalable cloud architecture is designed to grow and manage increased demand by efficiently utilizing cloud resources. It allows businesses to handle higher loads without compromising performance or incurring prohibitive costs. Key characteristics of a scalable cloud architecture include: ...

Continue Reading

Frontend Testing: A Comprehensive Guide

Published: May 29, 2024 Reading time: 12 min

Frontend testing is an essential aspect of modern web development, helping teams verify that applications behave as expected across browsers, devices, and user scenarios. This guide covers the main frontend testing categories, common tools, and practical planning steps you can use to build a healthier test suite. Why is Frontend Testing Important? Frontend testing is crucial because it helps deliver a reliable and high-quality user experience. Here are a few key reasons why it’s important: ...

Continue Reading

Essential Skills for a Frontend Team Leader

Published: May 24, 2024 Reading time: 10 min

The senior frontend map is still the floor. You do not get to stop being able to do the work. What changes is what a good week looks like, and which skills you now practice on purpose. A senior IC owns outcomes they can still mostly touch. A frontend team leader owns outcomes that only happen if other people succeed. That sounds obvious until you are the strongest engineer in the room and the fastest path to “done” is still you. Then the job quietly turns back into an IC role with extra meetings. ...

Continue Reading

Transitioning from Angular to Java: A Comprehensive Guide

Published: May 23, 2024 Reading time: 3 min

As an experienced Angular developer, you might be considering expanding your skill set by learning Java. This transition can be both challenging and rewarding, offering you a broader perspective on software development. In this blog post, we’ll explore how your Angular background can aid your journey into Java, and provide you with a detailed roadmap to get started. Leveraging Your Angular Experience Your background in Angular provides a solid foundation for learning Java. Here’s how your existing skills will help: ...

Continue Reading

Migrating an Existing Project from Pure CSS and Bootstrap to Tailwind CSS: A Comprehensive Guide

Published: May 22, 2024 Reading time: 7 min

Migrating from Bootstrap and custom CSS to Tailwind is not just a search-and-replace exercise. The hard part is preserving product intent: spacing, responsive behavior, states, brand colors, shadows, and the little overrides that accumulated while the application was evolving. The companion demo for this post now uses a small CRM dashboard and pricing page instead of a single button or card. That gives us a more realistic migration surface: navigation, hero content, metric cards, status badges, a pipeline list, pricing cards, responsive layout, and custom brand styling. ...

Continue Reading

Debugging Angular: A Tale of Two Developers

Published: May 22, 2024 Reading time: 6 min

In any software development project, encountering bugs and issues is inevitable. How we approach these problems often distinguishes a junior developer from a senior one. Today, we’ll walk through a more complex and challenging issue in an Angular project and compare how a junior and a senior developer might handle it. 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-dynamic-form-debugging Open live demo View on GitHub The Issue Our Angular application is supposed to display a dynamic form based on metadata fetched from an API. The form structure is defined in the metadata, which includes information about the fields, their types, and validation rules. Despite the metadata being correctly fetched and parsed, the form does not render correctly, and the validation rules are not applied. ...

Continue Reading