Web App Development On Mac

May 25, 2020  Xcode simply doesn’t run on an i486 PC, and you can’t save your app’s source code on a 1.44 MB floppy disk anymore. Your Mac probably doesn’t have a CD drive, and you store your Swift code in a cloud-based Git repository somewhere. Make no mistake: owning a MacBook is a luxury. With Mac it's a bit easier to install and run open source apps. And everything is more polished. Although today with Windows PowerShell and Visual Studio Code, it's never been better to do web development on Windows. Like andren mentioned, it's more about which apps you prefer to use.

-->

This guide offers an introduction to creating your first Blazor web app. For more in-depth guidance, see Introduction to ASP.NET Core Blazor.

ASP.NET Core Blazor supports two different hosting options; Blazor Server and Blazor WebAssembly. Visual Studio for Mac supports both hosting models. Visual Studio for Mac 8.4+ supports Blazor Server and Visual Studio for Mac 8.6+ supports both. For more info on Blazor hosting models see ASP.NET Core Blazor hosting models. Support for debugging Blazor WebAssembly projects in Visual Studio for Mac will come in a release after 8.6.

What is Blazor? Blazor is a framework for building interactive client-side web UI with .NET, which offers the following advantages to web developers:

  • Write code in C# instead of JavaScript.
  • Leverage the existing .NET ecosystem of .NET libraries.
  • Share app logic across server and client.
  • Benefit from .NET’s performance, reliability, and security.
  • Stay productive with Visual Studio on PC, Linux, and macOS.
  • Build on a common set of languages, frameworks, and tools that are stable, feature-rich, and easy to use.

Creating a new Blazor Server project

  1. On the Start Window, select New to create a new project:

  2. In the New Project dialog box, select .NET Core > App > Blazor Server App and select Next:

  3. Select .NET Core 3.1 as the target framework, then select Next.

  4. Choose a name for your project, and add Git support if desired. Select Create to create the project.

    Visual Studio for Mac opens your project in the Code layout window.

  5. Select Run > Start Without Debugging to run the app.

    Visual Studio starts Kestrel, opens a browser to https://localhost:5001, and displays your Blazor web app.

Blazor support in Visual Studio for Mac

Visual Studio for Mac (starting with version 8.4) includes new features to help you create new Blazor server projects. As well, it provides you the standard support you would expect such as building, running and debugging Blazor projects. In Visual Studio for Mac 8.6 support for creating, building and running Blazor WebAssembly projects was added.

In the walkthrough above, we saw how the Blazor Server App project template helps you create a new Blazor Server App project. Let's take a look at some of the additional features in Visual Studio for Mac to support Blazor project development.

Editor support for .razor files

Web app development pdf

Visual Studio for Mac includes support for editing .razor files - majority of the files that you’ll be using when creating Blazor applications. The Windows and Mac version of the IDE share the same editor for .razor files. You’ll see full colorization and completion support for your .razor files including completions for Razor components declared in the project.

Publishing Blazor applications to Azure App Service

Web App Development On Mac

You can also publish Blazor applications directly to Azure App Service. If you don’t have an Azure account to run your Blazor app on Azure, you can always sign up for a free one here that also comes 12 months of free popular services, $200 free Azure credits, and over 25 always free services.

Project anatomy

Blazor web apps include a few directories and files by default. As you're getting started, here are the main ones you'll need to be familiar with:

Web App Development On Mac

Pages folder

This folder contains a project's webpages, which use a .razor file extension.

Web App Development On Mac Free

Shared folder

This folder includes shared components, also using the .razor extension. You'll see that this includes MainLayout.razor, which is used to define common layout across the application. It also includes the shared NavMenu.razor component, which is used on all pages. If you're creating reusable components, they'll go in the Shared folder.

App settings

The appSettings.json file contains configuration data such as connection strings.

For more information about configuration, see the Configuration in ASP.NET guide.

wwwroot folder

This folder contains static files, such as HTML, JavaScript, and CSS files. For more information, see Static files in ASP.NET Core.

Program.cs

This file contains the entry point for the program. For more information, see ASP.NET Core Web Host.

Startup.cs

This file contains code that configures app behavior, such as whether the app requires consent for cookies. For more information, see App startup in ASP.NET Core.

Summary

In this tutorial, you saw how to create a new Blazor Server App in Visual Studio for Mac, and learned about some of the features that Visual Studio for Mac offers to help you create Blazor applications.

See also

Web App Development On Mac Pro

For a more comprehensive guide to creating Blazor web apps, see Introduction to ASP.NET Core Blazor.