登录 注册
当前位置:主页 > 资源下载 > 15 > P13_Blazor项目模板讲解ThreeBlazor2020_1_11.rar下载

P13_Blazor项目模板讲解ThreeBlazor2020_1_11.rar下载

  • 更新:2024-10-28 16:05:38
  • 大小:408KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:C# - 后端
  • 格式:RAR

资源介绍

P13_Blazor项目模板讲解ThreeBlazor2020_1_11.rar Blazor与Flex和silverlight有点像,Flex和silverlight有一些大厂反对,不支持flex和silverlight Blazor使用Web Assembly标准,Web Assembly是一种业界标准,所有浏览器都支持它,类似于Java字节码,各种语言都可以编译过去 WebAssembly和Blazor:解决了一个存在十年的老问题 WebAssembly 是一种新的客户端技术,可以在所有现代浏览器(包括移动浏览器)中实现近乎原生的性能,而且不需要插件。 许多语言,包括 C、C#、Go 和 Rust,都可以编译成面向基于栈的 WebAssembly 虚拟机的代码。 .NET 代码可以在任何地方运行,包括浏览器内部。 Blazor 是一个客户端库,它在 WebAssembly 上使用.NET 来支持借助 Razor 模板使用 C# 编写的单页应用程序。 Blazor 支持代码重用和将遗留代码移植到现代 Web 应用程序的能力。 在 2019 年 4 月中旬,微软悄悄地推出了一个年轻的框架,从“一切皆有可能”的实验阶段过渡到“我们致力于实现这一目标”的预览版。这个框架名为Blazor,因为它在浏览器中运行,并利用了一个名为 Razor 的模板系统或“视图引擎”,促成了这个.NET 开发人员几乎放弃了的场景。它不仅允许开发人员使用 C# 构建客户端代码(不需要 JavaScript),还允许开发人员在没有插件的情况下在浏览器中运行现有的.NET 标准 DLL。 https://blog.****.net/sD7O95O/article/details/91667930 通过Blazor使用C#开发SPA单页面应用程序(1) - 简介及特点 https://www.cnblogs.com/liuxtj/archive/2019/08/13/11344539.html Blazor是一个新的Web UI框架,使用C#,Razor和HTML以及WebAssembly (W3C标准)。它允许您使用C#而不是JavaScript构建交互式Web UI。Blazor应用程序由使用C#,HTML和CSS实现的可重用Web UI组件组成。客户端和服务器代码都是用C#编写的,允许您共享代码和库。 在WebAssembly或服务器上运行 Blazor可以使用WebAssembly直接在浏览器中运行客户端C#代码。因为它是在WebAssembly上运行的真实.NET,所以您可以从应用程序的服务器端部分重用代码和库(客户端渲染)。 或者,Blazor可以在服务器上运行您的客户端逻辑。客户端UI事件使用SignalR(实时消息传递框架)发送回服务器。执行完成后,所需的UI更改将发送到客户端并合并到DOM中(服务器端渲染)。 Web Assembly (Wasm) 基于W3C开放标准,用于在浏览器中运行低级字节代码。使用此标准,我们可以直接在浏览器中运行服务器端语言(Rust,C ++,C#...)而不是Javascript。 还记得Java applet和Microsoft Silverlight吗,我们必须在浏览器中安装插件来运行Java和C#代码,但是WebAssembly提供了基本标准,现在我们不需要任何插件,他的二进制格式以.wasm文件表示,能够提供接近本机的性能。 Blazor ● 基于Component的编程模型,Blazor是用来写组件的 Blazor宿主模型 host model ● 客户端 Client Side ● 服务器端 Server Side 客户端宿主模型 Server Browser Components -----+mono ------> Components c# Assemblies/DLLs Javascript 将dll从服务器端传送到客户端的同时,客户端浏览器不懂这些c#写的dll, 因此还会传送一个特制版本的mono Mono ● 也是一个开源的.NET Framework ● 它可以解释IL,中间语言 ● 代码的IL是包含在.NET的Assembly里面 ● 浏览器之所以可以执行mono,是因为它接收到的mono版本是使用 一种类似汇编(Assembly)的低级语言编写的。而浏览器可以理解 这种语言,它就是WebAssembly. ● 然后,Mono就会把你的Assembly里面的代码(包含着Components) 解析成为WebAssembly。这样就可以在浏览器里面运行了。 客户端托管模型具有以下几个优点 ● 没有.NET服务器端依赖项。应用在下载到客户端之后完全正常运行。 ● 完全利用客户端资源和功能。 ● 工作从服务器卸载到客户端。 ● 不需要ASP.NET Core Web服务器来托管应用程序。无服务器部署方案 可能(例如,通过CDN提供应用) 客户端托管的缺点 ● 应用程序限制为浏览器的功能。 ● 需要支持的客户端硬件和软件(例如:WebAssembly支持) ● 下载文件大小较大(包括mono,dll等),应用需要较长时间才能加载。 ● .NET运行时和工具支持不太成熟。例如,.NET Standard支持和调试中 存在限制。 服务器端宿主模型 Server Browser Components <---- SignalR ----> 渲染好的Components DOM处理 Javascript互操作 SignalR是一个双工连接,实际上是有先后顺序的 服务器端托管模型具有以下几个优点 ● 下载大小明显小于客户端应用,且应用加载速度更快。 ● 应用充分利用服务器功能,包括使用任何与.NET Core兼容的Api。 ● 服务器上的.NET Core用于运行应用程序,因此现有的.NET工具(如调试) 可按预期方式工作。 ● 支持瘦客户端。例如,服务器端应用程序适用于不支持 WebAssembly的浏览器和资源限制的设备。 ● 应用程序的.NET/C# 代码库(包括应用程序的组件代码)不会 提供给客户端。 服务器端托管的缺点 ● 通常存在较高的延迟。每个用户交互都涉及网络跃点。 ● 无脱机支持,如果客户端连接失败,应用将停止工作。 ● 对于包含多个用户的应用而言,可伸缩性非常困难。服务器必须管理 多个客户端连接并处理客户端状态。 ● 为应用提供服务需要ASP.NET Core服务器。不可能的无服务器部署 方案(例如,通过CDN为应用提供服务)。