通过Blazor使用C#开发SPA单页面应用程序(1)

  • 时间:
  • 浏览:0

通过Blazor使用C#开发SPA单页面应用进程池池(1) - 简介及特点

通过Blazor使用C#开发SPA单页面应用进程池池(2) - 开发环境

通过Blazor使用C#开发SPA单页面应用进程池池(3) - 基础知识

通过Blazor使用C#开发SPA单页面应用进程池池(4) - Ant Design Button

    2019年9月23——25日 .NET Core 3.0即将在.NET Conf上发布! .NET Core的发布及成熟期期期图片 图片 是什么是什么 图片 是什么是什么 重燃了.net进程池池员的热情和希望,有一种.net大咖也在积极的为推动.NET Core而不懈的努力。在这次.NET Core 3.0中一项新的技术也首次经常跳出在朋友儿的视野,这所以我Blazor。说起Blazor我说朋友儿从不知晓,但这几年一片热火朝天的Angular,React,Vue等前端技术估计无人不知无人不晓。对Blazor所以我Microsoft提供的使用C#构建SPA的技术,实在他姗姗来迟,但带给了朋友儿1个与Angular,React,Vue等框架完整篇 不一样的体验、完整篇 不一样的架构。

    可能这是1个全新的技术,目前学习资料非常有限,我将有一种人学习到的内容记录汇总在这里以便查阅,也给感兴趣的童鞋提供参考。

1.    简介

    Blazor是1个新的Web UI框架,使用C#,Razor和HTML以及WebAssembly (W3C标准)。它允许您使用C#而有的是JavaScript构建交互式Web UI。Blazor应用进程池池由使用C#,HTML和CSS实现的可重用Web UI组件组成。客户端和服务器代码有的是用C#编写的,允许您共享代码和库。

2.    在WebAssembly或服务器上运行

    Blazor里还可以 使用WebAssembly直接在浏览器中运行客户端C#代码。可能它是在WebAssembly上运行的真实.NET,所以有您里还可以 从应用进程池池的服务器端部分重用代码和库(客户端渲染)。

可能,Blazor里还可以 在服务器上运行您的客户端逻辑。客户端UI事件使用SignalR(实时消息传递框架)发送回服务器。执行完成后,所需的UI更改将发送到客户端并合并到DOM中(服务器端渲染)。

3.    Web Assembly (Wasm)

    基于W3C开放标准,用于在浏览器中运行低级字节代码。使用此标准,朋友儿里还可以 直接在浏览器中运行服务器端语言(Rust,C ++,C#...)而有的是Javascript。

    还记得Java applet和Microsoft Silverlight吗,朋友儿里还可以 在浏览器中安装插件来运行Java和C#代码,若果 WebAssembly提供了基本标准,现在朋友儿还可以 还可以 任何插件,他的二进制格式以.wasm文件表示,不让 提供接近本机的性能。

4.    建立在开放的Web标准之上

    Blazor使用开放的Web标准,里还可以 插件或代码转换。Blazor适用于所有现代Web浏览器,包括移动浏览器。

    在浏览器中运行的代码在与JavaScript框架相同的安全沙箱中执行。

Blazor 客户端渲染支持的浏览器

浏览者

版本

Microsoft Edge

当前

Mozilla Firefox

当前

Google Chrome, 包括 Android

当前

Safari, 包括 iOS

当前

Microsoft Internet Explorer

不支持 *

* Microsoft Internet Explorer 不支持WebAssembly。

Razor 服务器端渲染支持的浏览器

浏览者

版本

Microsoft Edge

当前

Mozilla Firefox

当前

Google Chrome, 包括 Android

当前

Safari, 包括 iOS

当前

Microsoft Internet Explorer

11x17 *

*里还可以 额外的填充代码 (类式, 可通过Polyfill.io捆绑再加承诺)。

5.    单页面应用进程池池(SPA)

    单页面应用进程池池(SPA)是有一种构建在浏览器中单个页面上的Web应用进程池池,页面块里还可以 动态呈现而不让呈现完整篇 的页面。

Angular,React,Vue和有一种有一种语言为构建SPA提供了支持,但所有有一种 语言都构建在相同的Javascript语言之上。现在,Microsoft提供了使用C#和Razor页面构建SPA的基础,类式ASP.Net Core中的语法,所以有它被称为Blazor。

    Blazor是ASP.Net Core提供的新的Web框架,用于在浏览器中使用C#和WebAssembly标准构建SPA。

    ASP.Net Core是1个在Linux,Mac或Windows操作系统上运行的开源Web框架。

6.    JavaScript互操作

    C#代码里还可以 轻松调用JavaScript API和库。在C#中编写逻辑时,您里还可以 继续使用占据 于客户端UI中的大型JavaScript库生态系统。当然可能愿意您还里还可以 从 JavaScript 调用 .NET 实例土妙招和静态土妙招。

7.    优点

  • 受益于 .NET 的性能、可靠性和安全性,提供近乎原生的性能,高效且便携
  • 使用 C# 代替 JavaScript 来编写代码。
  • 利用现有的 .NET 库生态系统,朋友儿里还可以 在网页中使用现有的充沛.net生态系统功能。
  • 在服务器和客户端之间共享应用逻辑。
  • 始终高效支持 Windows、Linux 和 macOS 上的 Visual Studio。
  • 以一组稳定、功能充沛且易用的通用语言、框架和工具为基础来进行生成。
  • 码维护和调试更可靠。

8.    缺点

  • Javascript可能非常成熟期期期图片 图片 是什么是什么 图片 是什么是什么 ,有一种组件库可能占据 于市场中。
  • 具有Web Assembly标准的Blazor是市场上的新手,里还可以 时间不让 成熟期期期图片 图片 是什么是什么 图片 是什么是什么 ,若果 .net是WebAssembly众多实现中的早期版本。