通过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的技术,实在他姗姗来迟,但带给了亲戚亲戚朋友有有俩个与Angular,React,Vue等框架全部不一样的体验、全部不一样的架构。

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

1.    简介

    Blazor是有有俩个新的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是有有俩个在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众多实现中的早期版本。