<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Web Development on Omid Farhang</title><link>https://omid.dev/tags/web-development/</link><description>Recent content in Web Development on Omid Farhang</description><image><title>Omid Farhang</title><url>https://omid.dev/images/bio-photo-150x150.jpg</url><link>https://omid.dev/images/bio-photo-150x150.jpg</link></image><generator>Hugo -- 0.163.3</generator><language>en-US</language><copyright>2026 Omid Farhang | All rights reserved.</copyright><lastBuildDate>Tue, 09 Jun 2026 01:57:00 +0330</lastBuildDate><atom:link href="https://omid.dev/tags/web-development/index.xml" rel="self" type="application/rss+xml"/><item><title>Why I Started Adding Full Source Code to My Blog Posts</title><link>https://omid.dev/2026/06/01/why-i-started-adding-full-source-code-to-my-blog-posts/</link><pubDate>Mon, 01 Jun 2026 01:41:00 +0330</pubDate><guid>https://omid.dev/2026/06/01/why-i-started-adding-full-source-code-to-my-blog-posts/</guid><description>A short note about the companion example-projects repository for omid.dev, where suitable technical posts now include runnable examples or complete focused snippets.</description></item><item><title>Migrating from REST to GraphQL: A Step-by-Step Guide for Express.js and Angular</title><link>https://omid.dev/2024/08/07/migrating-from-rest-to-graphql-a-step-by-step-guide-for-expressjs-and-angular/</link><pubDate>Wed, 07 Aug 2024 02:20:56 +0330</pubDate><guid>https://omid.dev/2024/08/07/migrating-from-rest-to-graphql-a-step-by-step-guide-for-expressjs-and-angular/</guid><description>&lt;p&gt;In today&amp;rsquo;s rapidly evolving web development landscape, GraphQL has emerged as a powerful alternative to traditional REST APIs. This blog post will guide you through the process of migrating your Express.js backend and Angular frontend from REST to GraphQL, unlocking the benefits of a more flexible and efficient API architecture.&lt;/p&gt;
&lt;aside class="card card--accent card--companion companion-card"&gt;
&lt;span class="icon-circle icon-circle--lg icon-circle--gradient companion-card__icon" aria-hidden="true"&gt;
&lt;i class="fa-solid fa-cubes-stacked"&gt;&lt;/i&gt;
&lt;/span&gt;
&lt;span class="companion-card__content"&gt;
&lt;span class="section-kicker companion-card__eyebrow"&gt;Companion resource&lt;/span&gt;
&lt;strong class="companion-card__title"&gt;Companion Project&lt;/strong&gt;
&lt;span class="companion-card__description"&gt;Explore the complete working example on GitHub.&lt;/span&gt;
&lt;code class="companion-card__path"&gt;github.com/omidfarhang/example-projects/examples/graphql-express-angular-migration&lt;/code&gt;
&lt;/span&gt;
&lt;span class="companion-card__actions btn-group"&gt;
&lt;a class="btn btn--accent btn--sm" href="https://github.com/omidfarhang/example-projects/tree/master/examples/graphql-express-angular-migration" target="_blank" rel="noopener noreferrer"&gt;
&lt;i class="fa-brands fa-github" aria-hidden="true"&gt;&lt;/i&gt;
View on GitHub
&lt;/a&gt;
&lt;/span&gt;
&lt;/aside&gt;
&lt;h2 id="1-introduction"&gt;1. Introduction&lt;/h2&gt;
&lt;p&gt;REST (Representational State Transfer) has been the go-to architectural style for building web APIs for many years. However, GraphQL, developed by Facebook, offers several advantages:&lt;/p&gt;</description></item><item><title>Creating Dynamic Music Visualizations with Angular and the Web Audio API</title><link>https://omid.dev/2024/07/13/creating-dynamic-music-visualizations-with-angular-and-the-web-audio-api/</link><pubDate>Sat, 13 Jul 2024 17:43:38 +0330</pubDate><guid>https://omid.dev/2024/07/13/creating-dynamic-music-visualizations-with-angular-and-the-web-audio-api/</guid><description>&lt;p&gt;Music visualization has always been a fascinating way to enhance the auditory experience, offering a visual representation of sound that can be both mesmerizing and informative. With the power of modern web technologies like Angular and the Web Audio API, creating dynamic music visualizations is more accessible than ever. This blog post will guide you through the process of building an engaging music visualization application using Angular and the Web Audio API.&lt;/p&gt;</description></item><item><title>Choosing the Right Tech Stack for Your Project: A Comprehensive Guide</title><link>https://omid.dev/2024/06/20/choosing-the-right-tech-stack-for-your-project-a-comprehensive-guide/</link><pubDate>Thu, 20 Jun 2024 03:25:43 +0330</pubDate><guid>https://omid.dev/2024/06/20/choosing-the-right-tech-stack-for-your-project-a-comprehensive-guide/</guid><description>&lt;p&gt;In the rapidly evolving world of software development, choosing the right technology stack for your project is a critical decision. The technology stack, or tech stack, refers to the combination of programming languages, frameworks, libraries, tools, and software used to build and run your application. The right stack can streamline development, improve performance, and ensure scalability, while the wrong choice can lead to technical debt, inefficiencies, and even project failure.&lt;/p&gt;</description></item><item><title>Building High-Performance Web Applications: Leveraging WebAssembly and Rust</title><link>https://omid.dev/2024/06/13/building-high-performance-web-applications-leveraging-webassembly-and-rust/</link><pubDate>Thu, 13 Jun 2024 01:45:03 +0330</pubDate><guid>https://omid.dev/2024/06/13/building-high-performance-web-applications-leveraging-webassembly-and-rust/</guid><description>&lt;p&gt;In today&amp;rsquo;s fast-paced digital world, the performance of web applications has never been more critical. Users demand instant responses, seamless interactions, and rich functionalities. To meet these demands, developers are constantly exploring new technologies that promise to enhance the performance and capabilities of web applications. One such powerful combination is WebAssembly (Wasm) and Rust. This blog post will delve into how to build high-performance web applications by leveraging WebAssembly and Rust, highlighting the benefits, use cases, integration strategies, and real-world examples.&lt;/p&gt;</description></item><item><title>The Perils of Improper Use of Frameworks and Libraries: A Comprehensive Guide for Developers</title><link>https://omid.dev/2024/06/11/the-perils-of-improper-use-of-frameworks-and-libraries/</link><pubDate>Tue, 11 Jun 2024 17:33:06 +0330</pubDate><guid>https://omid.dev/2024/06/11/the-perils-of-improper-use-of-frameworks-and-libraries/</guid><description>&lt;p&gt;In the modern software development landscape, frameworks and libraries are indispensable tools that streamline processes, provide pre-built functionality, and facilitate rapid development. However, their improper use can lead to significant problems, ranging from performance bottlenecks to security vulnerabilities. Whether you are a junior developer just starting out, or a seasoned senior developer, understanding how to properly use these tools is crucial for building robust, maintainable, and efficient applications. This blog post will delve into the various aspects of improper use of frameworks and libraries, offering insights and best practices to help you avoid common pitfalls.&lt;/p&gt;</description></item><item><title>Server-Side Rendering (SSR) with Modern Frameworks: Performance and SEO</title><link>https://omid.dev/2024/06/05/server-side-rendering-ssr-with-nextjs-nestjs-nuxtjs/</link><pubDate>Wed, 05 Jun 2024 18:31:15 +0330</pubDate><guid>https://omid.dev/2024/06/05/server-side-rendering-ssr-with-nextjs-nestjs-nuxtjs/</guid><description>&lt;p&gt;In the ever-evolving landscape of web development, ensuring optimal performance and excellent SEO (Search Engine Optimization) has become paramount. One of the techniques gaining significant traction is Server-Side Rendering (SSR), especially with modern frameworks such as Next.js for React, Nuxt.js for Vue.js, and NestJS for Node.js. This post delves into SSR, its impact on performance and SEO, and how it compares to traditional Client-Side Rendering (CSR).&lt;/p&gt;
&lt;h2 id="understanding-server-side-rendering-ssr"&gt;Understanding Server-Side Rendering (SSR)&lt;/h2&gt;
&lt;p&gt;Server-Side Rendering involves rendering web pages on the server instead of the client’s browser. This means that when a user requests a webpage, the server processes the necessary data, renders the HTML, and sends it to the client&amp;rsquo;s browser. The browser then simply displays the pre-rendered HTML, resulting in faster initial load times and improved SEO.&lt;/p&gt;</description></item><item><title>Advanced API Design: REST, GraphQL, and gRPC</title><link>https://omid.dev/2024/06/05/advanced-api-design-rest-graphql-and-grpc/</link><pubDate>Wed, 05 Jun 2024 01:03:34 +0330</pubDate><guid>https://omid.dev/2024/06/05/advanced-api-design-rest-graphql-and-grpc/</guid><description>&lt;p&gt;APIs are the cornerstone of modern applications, enabling seamless communication between services. The design of these APIs plays a crucial role in determining the efficiency, scalability, and overall performance of an application. Three of the most prominent approaches in API design are REST, GraphQL, and gRPC. Each approach has unique strengths and weaknesses, making them suitable for different use cases. In this post, we&amp;rsquo;ll dive deep into these advanced techniques, discuss best practices, performance considerations, and provide guidance on choosing the right protocol for your specific needs.&lt;/p&gt;</description></item><item><title>Advanced WebAssembly: Enhancing Web Performance and Capability</title><link>https://omid.dev/2024/06/03/advanced-webassembly-enhancing-web-performance-and-capability/</link><pubDate>Mon, 03 Jun 2024 22:35:29 +0330</pubDate><guid>https://omid.dev/2024/06/03/advanced-webassembly-enhancing-web-performance-and-capability/</guid><description>&lt;p&gt;In the ever-evolving landscape of web development, performance and capability are paramount. WebAssembly (Wasm) has emerged as a powerful tool, allowing developers to enhance web performance and unlock new functionality. This blog post delves into the advanced capabilities of WebAssembly, explores its use cases, shares best practices, and highlights tools like AssemblyScript and Emscripten that facilitate its adoption.&lt;/p&gt;
&lt;h2 id="what-is-webassembly"&gt;What is WebAssembly?&lt;/h2&gt;
&lt;p&gt;WebAssembly is a binary instruction format designed to be a portable compilation target for high-level languages like C, C++, and Rust. It allows code written in these languages to run in the web browser with near-native performance. WebAssembly is designed to complement JavaScript, providing a way to execute compute-intensive tasks efficiently.&lt;/p&gt;</description></item><item><title>Is Building Your Own Design System Worth It? Best Practices, Key Considerations and Real-World Example</title><link>https://omid.dev/2024/06/02/is-building-your-own-design-system-worth-it/</link><pubDate>Sun, 02 Jun 2024 17:17:02 +0330</pubDate><guid>https://omid.dev/2024/06/02/is-building-your-own-design-system-worth-it/</guid><description>&lt;p&gt;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&amp;rsquo;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&amp;rsquo;s needed, and the role of JavaScript frameworks like Angular. Additionally, we&amp;rsquo;ll explore which development teams should be involved in this process and provide a real-world example for clarity.&lt;/p&gt;</description></item><item><title>Frontend Testing: A Comprehensive Guide</title><link>https://omid.dev/2024/05/29/a-comprehensive-guide-to-frontend-testing/</link><pubDate>Wed, 29 May 2024 00:14:02 +0330</pubDate><guid>https://omid.dev/2024/05/29/a-comprehensive-guide-to-frontend-testing/</guid><description>&lt;p&gt;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.&lt;/p&gt;
&lt;h2 id="why-is-frontend-testing-important"&gt;Why is Frontend Testing Important?&lt;/h2&gt;
&lt;p&gt;Frontend testing is crucial because it helps deliver a reliable and high-quality user experience. Here are a few key reasons why it&amp;rsquo;s important:&lt;/p&gt;</description></item><item><title>Laravel, From the Eyes of an Old-School Developer</title><link>https://omid.dev/2016/02/12/laravel-from-old-school-developer-eyes/</link><pubDate>Fri, 12 Feb 2016 20:30:00 +0000</pubDate><guid>https://omid.dev/2016/02/12/laravel-from-old-school-developer-eyes/</guid><description>A reflection on Laravel from a developer who grew up with VB5, VB6, AutoIt, classic ASP, and old-school PHP.</description></item><item><title>Dreamweaver CS4 and Maintaining Real Websites</title><link>https://omid.dev/2008/12/11/dreamweaver-cs4-and-maintaining-real-websites/</link><pubDate>Thu, 11 Dec 2008 14:00:00 +0000</pubDate><guid>https://omid.dev/2008/12/11/dreamweaver-cs4-and-maintaining-real-websites/</guid><description>Adobe Dreamweaver CS4 in 2008 sat between visual editing and standards-based web development — practical tips for keeping sites maintainable.</description></item><item><title>Google Chrome — A Fresh Browser Engine</title><link>https://omid.dev/2008/09/03/google-chrome-a-fresh-browser-engine/</link><pubDate>Wed, 03 Sep 2008 19:45:00 +0000</pubDate><guid>https://omid.dev/2008/09/03/google-chrome-a-fresh-browser-engine/</guid><description>Google Chrome launched in 2008 with a multi-process design and fast JavaScript. Why it mattered even if you still lived in Firefox or IE.</description></item><item><title>Building Internal Web Tools on Windows</title><link>https://omid.dev/2007/09/18/building-internal-web-tools-on-windows/</link><pubDate>Tue, 18 Sep 2007 11:45:00 +0000</pubDate><guid>https://omid.dev/2007/09/18/building-internal-web-tools-on-windows/</guid><description>How small teams built internal web tools with PHP, MySQL, and classic Windows stacks before frameworks dominated — lessons from real IT support work.</description></item><item><title>From FrontPage to Hand-Written HTML</title><link>https://omid.dev/2004/11/02/from-frontpage-to-hand-written-html/</link><pubDate>Tue, 02 Nov 2004 14:45:00 +0000</pubDate><guid>https://omid.dev/2004/11/02/from-frontpage-to-hand-written-html/</guid><description>Microsoft FrontPage and CoffeeCup make early web publishing easy, but learning clean HTML still pays off.</description></item></channel></rss>