gpt4 book ai didi

asp.net-core - Razor组件和Blazor的区别

转载 作者:行者123 更新时间:2023-12-04 01:23:39 24 4
gpt4 key购买 nike

我很困惑Razor组件和Blazor之间的区别是什么,哪个更好,在最新版本的.NET Core 3.0 Preview 3中,将这些添加到Razor Components中

Razor 组件改进:

  • 单个项目模板
  • 新的.razor扩展名
  • 端点路由集成
  • 预渲染
  • Razor 类库中的
  • Razor 组件
  • 改进了事件处理
  • 表格和验证
  • 最佳答案

    基本上有3个部分需要理解。

    Razor 组件

    这是早在2018年7月为服务器端Blazor的第一版创建的核心,进程外组件模型的名称。

    Razor组件是框架的核心,包含以下所有内容。

  • 参数
  • 事件处理
  • 数据绑定(bind)
  • 路由
  • 依赖注入(inject)
  • 布局
  • 模板化
  • 级联值

  • 服务器端Blazor

    这是在ASP.NET Core上运行的Razor组件的服务器端托管模型。此版本在服务器上托管Razor组件模型。它使用小的运行时将UI事件从浏览器发送到服务器。一旦由Razor Components处理,所有UI更新都将从服务器发送回浏览器,并且运行时将处理DOM更新。所有这些通信都是通过SignalR连接进行的。甚至JS互操作调用都以这种方式处理。

    客户端Blazor

    这是Razor组件的客户端托管模型。

    在此模型中,所有内容都托管在浏览器中。 .NET运行库是编译为WebAssembly的Mono。最重要的是Razor Components,然后是应用程序。

    从理论上讲,此体系结构的优点在于,任何添加到Razor组件的功能都应可用于两个托管模型。尽管实际上,并非总是如此。

    有什么更好的?

    这很大程度上取决于您要做什么。

    客户端Blazors最大的缺点是其下载大小。仅此一项就可以排除许多开发人员。下载很容易就变成了多个MB,如果有人试图在连接速度慢的移动设备上查看您的应用程序,他们将不会有很好的体验。但是,值得注意的是,首次下载后会缓存大量内容,因此后续加载可能只有几百个kb。

    客户端Blazors调试经验现在也很原始。这意味着以开发人员身份进行开发有时可能会充满挑战。

    服务器端Blazor在调试方面具有更好的开发人员经验。该应用程序的下载速度更快,并且在进行任何缓存之前只有几百个kb的大小。

    缺点是潜在的可伸缩性。但这在很大程度上取决于您期望的并发用户数。由于此模型使用SignalR,因此您的应用将对并发连接有最高限制。但是,您可以通过插入Azure SignalR来管理此操作,以允许与您的应用程序进行大量连接。

    最终,Razor Components的两个托管模型还有很长的路要走。尽管可以说客户端Blazor处于更好的位置,但两者的认证故事还处于初期。路由引擎仍然受到限制,表单和验证仅在其首次发布时才存在,并且仍有很多工作要做。

    要记住的另一件事是,可以很容易地在模型之间进行交换。因此,无论您做出什么决定,都不会受其束缚。有时甚至会在框架中内置这样做的方法,因此您现在所做的一切都不会浪费。

    有任何疑问,请询问。但我希望这会有所帮助。

    关于asp.net-core - Razor组件和Blazor的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55086914/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com