Ale*_*kov -7 c# .net-core webassembly blazor
我的问题是:
并且,回答所有这些问题,是否有任何理由在Javascript上使用Blazor + Wasm?
这些是您可以轻而易举地搜索到的多个问题,我想人们对此表示反对。我会花时间回答您的问题。
每次打开SPA都会下载运行时吗?即使已缓存,Web应用程序的下载运行时间也不会花费太多时间吗?
您可以在webassembly.org上阅读到的内容,webassembly(又称为Wasm
)是具有开放API的基于堆栈的虚拟机的二进制指令格式,并已交付给Chrome,Edge,Firefox和WebKit。正如@HenkHolterman提到的那样,除非客户端清除其缓存,否则至少需要一次加载一次小的运行时。这意味着客户端第一次加载Wasm
基于Web的应用程序时可能会有更糟糕的体验,这种体验有多糟糕,我不能确切地说,使用edge / 2g或gsm使用Fiber时2.5 mb并不显着/ 3g移动连接可能很重要。
是否将其他程序集(Nuget,C ++库等)发送到浏览器?如果是这样,是不是太昂贵了,会不会导致应用打开时间太长?
在构建/编译Blazor
应用程序时,通常会还原所有相关程序集和程序包,并且这些程序集和程序包将在部署后静态地托管在主机上。客户端将不需要任何其他程序集。
与V8上的JavaScript相比,性能是否足够好?
那要看。Wasm
目前尚不了解DOM,因此在需要时Blazor
使用来重新提交Pages Wasm
。应该清楚的是,使用时,对大页面中单个或几个DOM元素的操作将更快JavaScript
。除此之外Wasm
,渲染整个页面的速度更快,并且可能最适合需要这种性能的Web应用程序,例如游戏或3D渲染。对于正常的浏览体验而言,差异太小,如果应用程序设计不佳,则使用两者中的任何一个都将是不好的。
与Razor相比有什么惊人的区别吗?
Blazor
是一个框架,相当侧重于应用程序交付,而与MVC相反,它Razor Pages
是作为一种新的.Net
开发方法引入的。现在Blazor
使用与极为相似的语法Razor
,简化了事件调用之类的操作,并在一个文件中统一了视图和代码,但主要区别实际上是Blazor
可以在服务端或客户端,而Razor
只能在第一个服务。这是您在两者之间做出决定时要考虑的因素。
话虽如此,您应该知道WebAssembly并没有试图像其FAQ中所描述的那样替换JavaScript ,它是对其的补充。决定是否Blazor
在任何JavaScript
框架上使用取决于您是否想要依赖项,JavaScript
以及您的开发团队是否C#
对.Net
堆栈和生命周期更有信心。
归档时间: |
|
查看次数: |
1177 次 |
最近记录: |