How to use No-Class Frameworks to Move Fast in Style
Explores no-class CSS frameworks like MVP.CSS, which style semantic HTML without extra classes for faster, cleaner web development.
Khalid Abuhakmeh is an experienced .NET developer sharing practical insights on ASP.NET, C#, and modern web development.
100 articles from this blog
Explores no-class CSS frameworks like MVP.CSS, which style semantic HTML without extra classes for faster, cleaner web development.
A guide to resolving compatibility issues between HTMX and Shoelace web components, with a focus on Shadow DOM and event handling.
A guide to integrating the Shoelace Web Components library with ASP.NET Core Razor Pages and TagHelpers for reusable, framework-agnostic UI.
Learn how to use Entity Framework Core 8's SqlQuery<T> to map SQL results to any C# object, similar to Dapper, while keeping EF Core's strengths.
Explores using Complex Types in Entity Framework Core 8 to reduce database tables, simplify data models, and improve performance.
Explains HTML Web Components, a technique to enhance existing HTML with JavaScript, and demonstrates their use in ASP.NET Core applications.
Explains a subtle async/await problem with List.ForEach in .NET and provides a solution using a custom ForEachAsync extension method.
Explores integrating HTMX with Blazor's server-rendered components in .NET 8 to add interactivity without WebSockets or WebAssembly.
Explains how to use IAsyncEnumerable and Stream Rendering in .NET 8 Blazor applications to improve performance and responsiveness.
A guide to implementing smooth page transitions using the View Transitions API with ASP.NET Core Razor Pages and HTMX for enhanced web UX.
A tutorial on creating a custom Markdig extension in .NET to parse and transform GitHub username mentions in Markdown.
A guide to speeding up .NET database integration tests using the Respawn library and xUnit fixtures to manage database state.
Introduces MemoizR, a .NET library for declarative structured concurrency and dynamic lazy memoization, inspired by frontend patterns.
A guide to testing Typesense search functionality using Testcontainers and .NET, including setup and a sample implementation.
A guide to using .NET's Regex.Replace with MatchEvaluator for complex string transformations, simplifying regex patterns with custom logic.
Explores Scriban, a lightweight .NET templating engine for text and Liquid templates, with code examples and use cases.
Explains how to implement PDF previews and downloads in ASP.NET Core, including code examples for browser display and file saving.
Introducing VestPocket, a file-based key-value store library for .NET AOT applications, offering lightweight data persistence without a database engine.
A guide to embedding and executing Lua scripts in .NET applications using the MoonSharp library, including calling functions between languages.
Explores the necessity of disposing .NET database connections, commands, and readers, examining the internal behavior of Microsoft.Data.Sqlite types.