A practical guide to building interactive UIs with C# 14 and .NET 10
Jimmy Engström

#Blazor
#Web_Development
#WebAssembly
#server-side
#Csharp
#SSR
#.NET
#LTS
#OpenTelemetry
🧩 رندر مودهای در حال تکامل Blazor، هاستینگ مدلها و قابلیتهای Observability رو با پروژههای عملی و معماریهای نزدیک به دنیای واقعی یاد بگیر. با .NET 10 و C# 14 با خیال راحتتر برای پروداکشن بساز.
✨ ویژگیهای کلیدی
🧱 پوشش جداگانه و کنارهم از رندر مودهای Blazor، بدون اینکه همه رو به زور داخل یک پروژه واحد جا بده
🔭 بهروزرسانیشده برای .NET 10 LTS، با پوشش جدی و درستوحسابی از .NET Aspire و آبزروبیلیتی مدرن
🏗️ ساختار پروژهها و مثالهایی که بر اساس محدودیتهای واقعی پروداکشن طراحی شدن، نه دموهای ساده و نمایشی
📘 توضیحات کتاب
🧠 Blazor رشد کرده، و با این رشد یک سؤال ساده ولی مهم پیش میاد: امروز باید اپلیکیشنهای Blazor رو چطور بسازیم؟
🛠️ این کتاب با ساختن یک اپلیکیشن واقعی، قدمبهقدم به همین سؤال جواب میده. از این شروع میکنیم که Blazor دقیقاً چیه، چرا فقط WebAssembly نیست، و هاستینگ مدلهای مختلفش چطور کنار هم قرار میگیرن. بعد میریم سراغ ساخت کامپوننتها، مدیریت State، ساخت فرمها با ولیدیشن، اضافه کردن API، امن کردن اپلیکیشن با احراز هویت و مجوزدهی، استفاده از JavaScript وقتی واقعاً منطقیه، و تست کردن کامپوننتها با bUnit.
🔍 همینطور سراغ بخشهای مهم توسعه مدرن Blazor میریم؛ از رندر مودها، Server-Side Rendering و WebAssembly گرفته تا Aspire، OpenTelemetry، دیباگ، دیپلویمنت، و اینکه وقتی نمیتونی از صفر شروع کنی، چطور با سایتهای موجود کار کنی.
🎯 هدف فقط این نیست که کدها رو کپی کنی؛ هدف اینه بفهمی چرا یک رویکرد رو به یکی دیگه ترجیح میدیم. این بخش باید SSR باشه، Server باشه، WebAssembly باشه یا Auto؟ اینتراکتیویتی باید کجا زندگی کنه؟ وقتی کد داخل مرورگر اجرا میشه، چه چیزهایی فرق میکنه؟ کتاب به این سؤالها جواب میده، بدون اینکه بیدلیل همهچیز رو پیچیدهتر کنه.
🚀 چه تازه وارد Blazor شده باشی، چه از یک نسخه قدیمیتر داری آپگرید میکنی، ویرایش چهارم این کتاب محتوا رو با .NET 10، Aspire، تریسینگ، متریکها، تستینگ و توسعه مدرن اپلیکیشنهای Blazor بهروز کرده.
🦝 قبلاً یکی از جلدهای راکونی رو داری؟ مجموعه باید ادامه پیدا کنه. راکونها اصرار دارن.
🎯 در این کتاب یاد میگیری
🧩 بفهمی Blazor چطور کار میکنه و هر رندر مود رو چه زمانی باید استفاده کنی
🛠️ کامپوننتهای ساده و پیشرفته Blazor رو با اعتمادبهنفس بسازی
🏗️ اپلیکیشنها رو طوری ساختاربندی کنی که دغدغهها از هم جدا بشن و چند هاستینگ مدل قابل پشتیبانی باشه
🔐 احراز هویت و مجوزدهی رو با پترنهای مدرن .NET پیادهسازی کنی
⚡ با کشینگ و بهینهسازیهای رندرینگ، پرفورمنس رو بهتر کنی
📡 از OpenTelemetry برای گرفتن اینسایت از رفتار و پرفورمنس اپلیکیشن استفاده کنی
🚀 اپلیکیشنها رو با Aspire بسازی، اجرا کنی و مدیریت کنی
👤 این کتاب برای چه کسیه؟
👨💻 این کتاب برای توسعهدهندگان وب .NET و توسعهدهندگان نرمافزاریه که میخوان از مهارتهای فعلی خودشون در C# استفاده کنن و اپلیکیشنهای وب اینتراکتیو بسازن؛ اپلیکیشنهایی که میتونن با Blazor WebAssembly داخل مرورگر اجرا بشن، با Blazor Server روی سرور اجرا بشن، یا ترکیبی از هر دو مدل رو داشته باشن.
📌 برای شروع، باید درک پایهای از C# داشته باشی و قبلاً کمی با توسعه وب در .NET آشنا شده باشی. بقیه مسیر رو خود کتاب قدمبهقدم جلو میبره.
📖 فهرست مطالب
۱. سلام Blazor
۲. ساخت اولین اپلیکیشن Blazor
۳. بررسی رندر مودها
۴. آشنایی با Aspire
۵. مدیریت State – بخش ۱
۶. شناخت کامپوننتهای پایه Blazor
۷. ساخت کامپوننتهای پیشرفته Blazor
۸. ساخت فرمها با ولیدیشن
۹. ساخت یک API
۱۰. اضافه کردن احراز هویت و مجوزدهی
۱۱. اشتراکگذاری کد و منابع
۱۲. JavaScript Interop
۱۳. مدیریت State – بخش ۲
۱۴. دیباگ کردن کد
۱۵. بررسی تریسینگ و متریکها
۱۶. تستینگ
۱۷. دیپلوی در پروداکشن
۱۸. مهاجرت از یک سایت موجود یا ترکیب با آن
۱۹. عمیقتر شدن در WebAssembly
۲۰. بررسی Source Generatorها
۲۱. سر زدن به .NET MAUI
۲۲. از اینجا به بعد کجا برویم
💬 نظرها
💬 «جیمی هر چیز جدیدی رو خیلی روان وارد ساختار آموزشی امتحانپسدادهاش کرده و واقعاً خوب تونسته خوانندهها رو با Blazor همراه کنه. این کتاب واقعاً وارد جزئیاتی میشه که باید بدونی.»
—استیو سندرسون، توسعهدهنده/معمار در Microsoft و خالق اصلی Blazor
💬 از Blazor Server تا Blazor WebAssembly، این کتاب تو رو در مسیر کامل توسعه یک اپلیکیشن نمونه راهنمایی میکنه و مستقیم سراغ چالشهای رایج میره.
—دنیس ویتورون، Principal Software Engineer در Microsoft
💬 «با جلو رفتن در فصلهای مختلف کتاب، یاد میگیری چطور پروژههای Blazor Server و Blazor WebAssembly رو از صفر بسازی.»
—آرام چکرکجیان، Microsoft MVP
💬 «این کتاب برای توسعهدهندگان وب .NET و توسعهدهندگان نرمافزاریه که میخوان از مهارتهای فعلی خودشون در C# استفاده کنن و اپلیکیشنهای وب اینتراکتیو بسازن؛ چه داخل مرورگر با Blazor WebAssembly، چه روی سرور با Blazor Server، یا ترکیبی از هر دو.»
—استفان دوکیچ، Microsoft MVP
👨💻 جیمی انگستروم از ۷ سالگی، وقتی اولین کامپیوترش رو گرفت، برنامهنویسی میکرده. او عاشق اینه که نزدیک لبه تکنولوژی حرکت کنه و چیزهای جدید رو امتحان کنه. وقتی برای اولین بار با Blazor آشنا شد، خیلی سریع پتانسیلش رو دید و در حالی که Blazor هنوز در نسخه بتا بود، شروع به استفاده ازش کرد. از زمانی که Microsoft آن را منتشر کرد، جیمی Blazor رو در پروداکشن اجرا کرده.
🌍 علاقهاش به صنعت و کامیونیتی .NET باعث شده در نقاط مختلف دنیا درباره توسعه نرمافزار صحبت کنه و دانشش رو با توسعهدهندههای دیگر به اشتراک بذاره. Microsoft هم این فعالیت و علاقه رو با اعطای جایزه Microsoft Most Valuable Professional (MVP) برای ۱۲ سال پیاپی به او تأیید کرده.
🏆 جیمی به خاطر مشارکتهایش در کامیونیتی توسعهدهندگان، بهعنوان Educator of the Year 2025 انتخاب شد. او همچنین مدرس Dometrain است و دورههای ویدیویی با تمرکز روی توسعه .NET و Blazor تولید میکند.
🎙️ علاوه بر نوشتن کتاب، جیمی سخنران بینالمللی، تولیدکننده محتوا و میزبان پادکست و کانال یوتیوب Coding After Work است؛ جایی که با توسعهدهندگان و رهبران تکنولوژی از سراسر دنیا گفتوگو میکند.
Master Blazor's evolving render modes, hosting models, and observability features with practical projects and real-world architecture. Build confidently for production with .NET 10 and C# 14
Blazor has grown, and with that growth comes a simple question: How should we build Blazor apps today?
This book answers that question by building a real application step by step. We start with what Blazor is, why it is not just WebAssembly, and how the different hosting models fit together. From there, we create components, manage state, build forms with validation, add APIs, secure the app with authentication and authorization, use JavaScript when it makes sense, and test our components with bUnit.
We also look at the key aspects of modern Blazor development, including render modes, server-side rendering, WebAssembly, Aspire, OpenTelemetry, debugging, deployment, and how to work with existing sites when starting from scratch is not an option.
The goal is not only to copy code but also to understand why we choose one approach over another. Should this be SSR, Server, WebAssembly, or Auto? Where should interactivity live? What changes when the code runs in the browser? We answer those questions without making things more complicated than they need to be.
Whether you're new to Blazor or upgrading from an earlier edition, the fourth edition brings the book up to date with .NET 10, Aspire, tracing, metrics, testing, and modern Blazor app development.
Own a raccoon cover already? The collection must continue. The raccoons insist.
This book is for .NET web developers and software developers who want to use their existing C# skills to build interactive web applications running in the browser with Blazor WebAssembly, on the server with Blazor Server, or using a combination of both.
You’ll need a basic understanding of C# and some prior exposure to .NET web development. The book will guide you through the rest.
“Jimmy has seamlessly merged everything new into his well-proven teaching structure and has been effective in getting readers to go with Blazor. This book genuinely gets into the details you need to know.”
Steve Sanderson, Developer/Architect at Microsoft and Original Creator of Blazor
From Blazor Server to Blazor WebAssembly, this book guides you through the complete development of an example app, tackling common challenges head-on.
Denis Voituron, Principal Software Engineer at Microsoft
“Navigating through the different chapters of the book, you will learn how to create Blazor Server and Blazor WebAssembly projects from scratch.”
Aram Tchekrekjian, Microsoft MVP
“This book is for .NET web developers and software developers who want to use their existing C# skills to build interactive web applications running either inside the web browser using Blazor WebAssembly, on the server using Blazor Server, or a combination of the two.”
Stefan Dokic, Microsoft MVP
About the Author
Jimmy Engström has been programming since he was 7 years old and got his first computer. He loves staying on the cutting edge of technology and trying new things. When he first discovered Blazor, he immediately saw its potential and adopted it while it was still in beta. He has been running Blazor in production since Microsoft launched it.
His passion for the .NET industry and community has taken him around the world, speaking about development and sharing knowledge with other developers. Microsoft has recognized this passion by awarding him the Microsoft Most Valuable Professional (MVP) award 12 years in a row.
Jimmy was named Educator of the Year 2025 for his contributions to the developer community. He is also an instructor on Dometrain, where he creates video courses focused on .NET and Blazor development.
In addition to writing books, Jimmy is an international speaker, content creator, and host of the Coding After Work podcast and YouTube channel, where he talks with developers and technology leaders from around the world.









