惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
小众软件
小众软件
人人都是产品经理
人人都是产品经理
美团技术团队
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
博客园 - 【当耐特】
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
量子位
罗磊的独立博客
月光博客
月光博客
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
博客园_首页
P
Proofpoint News Feed
Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
腾讯CDC

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Why I Abandoned the JS Framework Treadmill for Native Bla...
Kouros Zirak · 2026-05-28 · via DEV Community

Kouros Zirak


If you have built a web app in the last five years using the dominant JavaScript frameworks, you know the drill. You start a simple project, and within an hour, you are drowning in boilerplate. You are configuring Redux or Zustand for state management, wrestling with npm dependency hell, and trying to get your types to cooperate across a fractured backend/frontend stack.

It feels like we spent the last decade making web development intentionally difficult.

But if you are working in the .NET ecosystem, Blazor offers a massive escape hatch. It moves past the bloated state-management traps of modern JavaScript, allowing you to write clean, component-driven, type-safe UIs using pure C#.

To prove exactly how streamlined this can be, I built Blazorm3—a lightweight, native implementation of Google's modern Material 3 design system built entirely for Blazor, completely free of heavy JavaScript wrappers.


Why Blazor Moves Beyond the JS State Bloat

In a typical React or Vue application, a massive amount of your codebase is dedicated purely to bridging the gap between your UI and your data. You need state managers, context providers, action dispatchers, and custom hooks just to share a string between two components.

Blazor handles this elegantly by treating components as first-class, stateful objects out of the box.

  • Direct Component Communication: Parameters, EventCallbacks, and Cascading Values handle data flow natively. You don't need a third-party architectural library just to update a sidebar toggle.
  • Unified Tech Stack: Your frontend UI components share the exact same C# models, validation logic, and types as your backend APIs. There is zero translation layer.
  • True Reusability: When you encapsulate UI logic in a Blazor component, it stays in that component.

Because Blazor handles the architecture so naturally, it leaves you free to focus on what actually matters: making the application look and feel incredible. That is exactly why I built Blazorm3.


Introducing Blazorm3: Modern UI for Modern .NET

Google's Material 3 (Material You) is one of the most adaptive, beautiful design systems available today, featuring dynamic color toning, expressive typography, and highly responsive components.

Many existing Blazor UI libraries are either wrappers around heavy JavaScript codebases, or they are still stuck on older Material 2 guidelines. Blazorm3 is a native C# UI library designed from the ground up to bring the clean, modern aesthetics of Material 3 to Blazor WebAssembly and Blazor Server apps.

Look at the Code (No Boilerplate Required)

Here is how simple it is to drop a fully styled, interactive Material 3 Card into your application using Blazorm3:

@page "/dashboard"

<M3Container MaxWidth="MaxWidth.Large">
    <M3Grid Container Spacing="3">
        <M3Grid Item Xs="12" Md="6">
            <M3Card Variant="CardVariant.Elevated">
                <M3CardHeader 
                    Title="Analytics Overview" 
                    Subtitle="Real-time data stream" 
                    Icon="analytics" />
                <M3CardContent>
                    <p>Your Blazor app is running at peak performance without a single line of JS state management logic.</p>
                </M3CardContent>
                <M3CardActions>
                    <M3Button Variant="ButtonVariant.Filled" OnClick="RefreshData">Update</M3Button>
                    <M3Button Variant="ButtonVariant.Text">View Details</M3Button>
                </M3CardActions>
            </M3Card>
        </M3Grid>
    </M3Grid>
</M3Container>

Notice what is missing? No complex imports, no initializing a state store, no complex setup. Just readable, type-safe markup that renders instantly.


Launching Your Next Project in Seconds

We recently crossed a major milestone: over 1,500 core library downloads and nearly 1,400 project template downloads. What makes me most excited about these numbers is the near 1:1 ratio. It means developers aren't just looking at the library—they are using our dotnet template to spin up brand-new applications from scratch.

To make adoption completely frictionless, I created a CLI template that sets up a gorgeous, production-ready Material 3 layout—complete with responsive navigation rails and clean layout structures—in a single terminal command.

Getting Started

You can install the template and spin up your new Blazor project right now:

# Install the Blazorm3 Project Template
dotnet new install Blazorm3.Templates

# Create a brand new, fully styled project
dotnet new blazorm3 -n MyAwesomeM3App

Once it builds, you will have a beautiful, responsive, modern web application running on the leanest, most powerful developer stack available.


Blazorm3 comes with a rich free version, a theme builder, and it is growing incredibly fast. We are currently in our active user-acquisition phase, which means your feedback directly shapes the components we build next.

Please have a look at BlazorM3 website. You will find the live demo of the components, and of course a theme builder.

If you are tired of the JavaScript framework treadmill and want to build stunning web apps with the speed and reliability of modern .NET, give it a spin.

  • 📦 NuGet Package: Search for Blazorm3
  • 🛠️ Template: Blazorm3.Templates

Have you made the switch from JS frameworks to Blazor? What has your experience been with state management? Let’s talk in the comments below!