Paul Krill
Editor at Large

Microsoft’s Blazor project runs .Net in the browser

news
Feb 15, 20182 mins

The WebAssembly format is key to the experimental framework’s ability to deliver .Net apps

browser wars shields with logos at battle
Credit: Thinkstock

In what could be a turning point for web development, Microsoft’s ASP.Net team has launched an experimental web UI framework, called Blazor, that runs .Net in the browser via the WebAssembly portable code format.

Blazor is intended to simplify the building of fast, single-page .Net browser apps. While Blazor does use web technologies such as CSS and HTML, it uses the C# language and the Razor syntax instead of JavaScript to build a composable web UI. By providing a size- and load-time-efficient format for compilation to the web, WebAssembly lets .Net be run in the browser. Normal .Net assemblies run through a WebAssembly-based runtime. WebAsembly is supported by all major browsers and  lets compiled code run at native speeds.

Blazor runs on Xamarin’s Mono .Net runtime and executes normal .Net assemblies. To run on older browsers, it can fall back to an ASM.js runtime using .Net. Microsoft’s goal is to position .Net for full-stack web development, and so it offers standard .Net APIs, tools, and build infrastructure via Blazor. On the server side, .Net can enable performance and security. But Blazor is not a way to deploy existing Universal Windows Platform or Xamarim moble applications in the browser.

Microsoft stressed that Blazor is not yet a committed project; this tentative status lets the company investigate technical issues with running .Net in the browser. Microsoft plans to engage with early adopters to get feedback.

Where to download Blazor resources

Razor has a project repo but at this pointit has nothing for download. Still, developers can clone the repo, build it, and then run tests and samples. The .Net Core SDK and Node.js Version 8.3 or greater are required for builds.

Features expected for Blazor

Features planned for Blazor include:

  • A component model for building a composable UI
  • JavaScript interoperability
  • Routing
  • Layouts
  • Forms and validation
  • Dependency injection
  • Server-side rendering
  • .Net debugging
Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author