搜索
您的当前位置:首页正文

Blazor 简单介绍 - C# 全栈工程师的福音

来源:二三娱乐

WASM

Blazor

Blazor 是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 。也就说,你可以用C# 写前端。可以理解为,这是一个C#语言的Vue, Angular, React。
Blazor 拥有现代 Web 框架具备的所有功能,包括:

  • 用于构建 composable UI 的组件模型
  • 路由
  • 布局
  • 表格和验证
  • 依赖注入
  • JavaScript 互操作
  • 开发期间在浏览器中实时重新加载
  • 服务器端渲染
  • 在浏览器和 IDE 中全面调试
  • 能够通过 asm.js 在较早版本的(非 WebAssembly )浏览器上运行

开发环境

  1. 安装 或更高版本
  2. 安装 Visual Studio 2017 15.7 或更高版本
  3. 安装最新的

创建项目

使用 Visual Studio,新建 Core Web Application 项目,


image.png

如果你不喜欢 Visual Studio ,也可以用命令行创建项目

dotnet new -i Microsoft.AspNetCore.Blazor.Templates
dotnet new blazor -o BlazorApp1
cd BlazorApp1
dotnet run

界面及代码简单解析

image.png
@page "/counter"
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" onclick="@IncrementCount">Click me</button>
@functions {
    int currentCount = 0;
    void IncrementCount()
    {
        currentCount++;
    }
}
  • @page 表示本页面(组件)在路由中,如果没有这一行代码,那么可以作为独立组件使用,只是不能使用 这个url 访问。
  • @functions 可以理解为一个 Controller 类(C# MVC)
  • currentCount 是一个 int 类型的成员变量
  • @currentCount 在HTML代码中渲染 currentCount值
  • IncrementCount() 是一个 C# 函数,每次调用, currentCount 增加1
  • onclick="@IncrementCount()" 类似于javascript中的 onClick。

用过 Vue, Angular, React 或者WPF 的对于这种代码应该一眼就能看出来,MVVM模式。

Blazor 的现状

目前Blazor 处于Alpha阶段,最新版本号0.4.0(2018年6月11日)。
我的感觉是,目前来说,效果已经很惊艳,用来做后台管理界面问题不大。

Top