zoukankan      html  css  js  c++  java
  • 通过Blazor使用C#开发SPA单页面应用程序(1)

    通过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众多实现中的早期版本。

     

  • 相关阅读:
    聊一聊HTML <pre>标签
    [Effective JavaScript 笔记]第20条:使用call方法自定义接收者来调用方法
    数据库的权限管理
    完整性约束
    MYSQL
    Python并发编程之协程
    python并发编程之多线程
    python并发编程之多进程
    进程
    网络编程之socket的运用
  • 原文地址:https://www.cnblogs.com/liuxtj/p/11344539.html
Copyright © 2011-2022 走看看