Kingside2 critically examines the current state of ASP.NET and related technologies, highlighting pain points with Webforms, Razor, Blazor, and developer tooling.

Overview

In this opinion piece, Kingside2 shares strong views on the challenges faced when working with modern ASP.NET for web development. The author draws comparisons between historical and current web development tools in the Microsoft ecosystem and offers critical feedback on the direction of these technologies.

Historical Perspective: ASP Winforms & Webforms

  • Past: ASP Winforms aimed to simplify web development by emulating Winforms development paradigms.
  • Downside: Resulted in convoluted code between frontend and backend, eventually becoming obsolete due to issues with performance and maintainability.

ASP.NET and Razor

  • Introduction of ASP.NET with Razor brought improvements.
  • Many developers still use Razor, but it mainly loads data on page load—considered outdated by today’s standards.
  • This limitation often requires pairing Razor with JavaScript frameworks like Vue for enhanced interactivity.

Rise of JavaScript Frameworks

  • Emergence of Node.js and modern JavaScript frameworks (e.g., Vue) shifted the industry’s focus, leaving ASP feeling less relevant despite its potential.

Blazor: Promise and Pitfalls

  • Microsoft introduced Blazor to bridge server and frontend capabilities, promising ease of use without traditional page reloads.
  • Critique: Blazor introduces complexity, particularly due to server/frontend split. The promotional “button counter” demo is seen as underwhelming.

SignalR and Tooling Issues

  • SignalR, based on Websockets, is regarded as unreliable and not suitable for large-scale sites; perceived as a failed technology with low adoption.
  • Visual Studio 2022 is praised for backend C# support but criticized for poor JavaScript and frontend tooling (e.g., lack of Vue support, broken formatting).
  • Visual Studio Code struggles with Razor syntax and lacks adequate extensions for C#-specific needs on the frontend.

Recommendations for Microsoft

  • Emulate successful integration strategies used elsewhere:
    • Windows interoperability with Android
    • Microsoft Edge leveraging the Chrome engine
  • Advice: Embrace JavaScript rather than attempting to replace it. Proposes integrating a JavaScript server directly into ASP.NET, similar to Node.js and alternative runtimes like bun or deno—possibly even through acquisition.
  • Vision: Allow C# for backend/Server logic and any JavaScript framework for the frontend, avoiding awkward proxy setups and project separation.

Conclusion

Kingside2 calls for Microsoft to adapt its web development stack to modern realities by unifying C# server power with leading JavaScript frameworks, improving tooling integration, and learning from industry best practices.

This post appeared first on “Reddit DotNet”. Read the entire article here