您会使用 Blazor WebAssembly 来创建在线银行应用程序吗?
Would you use Blazor WebAssembly to create an online banking application?
您会使用 Blazor WebAssembly 来创建网上银行应用程序吗?
需要考虑的事项:
这不是一个陡峭的学习曲线(现有团队精通
.Net、C# 和 MVC)。
它是 2020 年 5 月才发布的(我们通常不是新技术的早期采用者)。
不支持IE(目前我们只有不到5%的用户使用IE)
没有JavaScript开发人员编写(没有JS错误,没有JS跨浏览器问题,团队不是JS开发人员,他们是C#开发人员)。
我明白这可能是主观的,但我想很多 .Net 机构都在考虑使用这项技术来生成强大的 Web 应用程序。我还要求得到一个答案,该答案以合理的技术推理来支持简单的是或否的回答,反映我上面提到的典型考虑因素或我错过的其他因素。
** 更新 **
团队一致认为,此时 Blazor 有点过头了,因此选择创建 Razor Pages Web 应用程序。对于内部应用程序,这将是一个不错的选择。感谢您的精彩回答。
作为在银行业担任顾问的人,我会说不,现在不行。我最近启动了几个项目,Blazor 被认为是一个潜在的选择。在每种情况下,我们都决定反对。
作为企业,银行通常非常保守,这不是尝试尖端/尖端技术的好地方。
Blazor 具有一些有趣的潜力,但它是一个复杂的堆栈。以我的经验,这种复杂性的技术经常遭受“抽象漏洞”的困扰,你说不需要 JS,但实际上你可能需要填补一些相当大的差距。例如,Blazor 没有 canvas 支持。
它目前有一些很大的局限性,将 .NET 运行时传送到浏览器的成本非常高。这对于内部应用程序可能是可行的,但对于面向消费者的应用程序(偶尔使用),我认为这是一个不可能的选择。
您能确定它在五年后仍然是一项可行的技术吗?它会是下一个 Flash、Silverlight 还是 Java FX?
在从事网络技术工作大约 15 年后,我非常同意 Brendan Eich 所说的“始终押注 JavaScript”
抱歉听起来很消极。我确实认为 Blazor 是一个了不起的概念,但与大多数新技术一样,它还没有找到适合自己的位置。
我会对面向内部或面向有限受众的应用程序说“是”。
给一些平衡:JavaScript 世界遭受流失和分裂的影响最大,尤其是在框架年代。如果你想构建一个合理的 CRUD 平台,你会暂时选择 React,Angular 或者 Vue。五年后它们仍然是一项可行的技术吗?另一方面,.NET 一直非常稳定。
我们确实选择了 Blazor 作为我们的技术,我并不后悔这个选择。在过去的几个月里,我们一直在做全职的 Blazor。只有一种语言的生产力是疯狂的。我可以在一个 start/stop 会话中调试带有前端状态问题的 API 回调。是的,它仍然需要更多的改进,但它实际上对于 v1 中的这样一个工程壮举非常有用!但是我们有一个由全栈开发人员组成的小团队,如果你有更大的团队,这可能不是一个优势。我们确实喜欢您可以在前端和后端之间共享合同。现在有各种可能的小场景,因为你共享了这么多代码。例如,我们在表单中使用 FluentValidation,并在客户端重新使用验证器作为服务器端。大获全胜。
对于一个完整的平台,我们目前包括运行时在内的总有效负载为 3mb。最大的部分是运行时 (900kb) 和系统 dll,它们将被缓存。像 Verge 这样的知名网站大约有 2mb。自 5.0 以来,性能对我们来说不是问题。
此外,Blazor 有一个经过深思熟虑的组件模型,可以与市场上的任何东西完美匹配。我们在架构中找不到那么多漏洞。是的,有漏洞,但到目前为止,它们的范围非常有限,只限于前端的边缘(元素 sizing/positioning、滚动内容)。
您会使用 Blazor WebAssembly 来创建网上银行应用程序吗?
需要考虑的事项:
这不是一个陡峭的学习曲线(现有团队精通 .Net、C# 和 MVC)。
它是 2020 年 5 月才发布的(我们通常不是新技术的早期采用者)。
不支持IE(目前我们只有不到5%的用户使用IE)
没有JavaScript开发人员编写(没有JS错误,没有JS跨浏览器问题,团队不是JS开发人员,他们是C#开发人员)。
我明白这可能是主观的,但我想很多 .Net 机构都在考虑使用这项技术来生成强大的 Web 应用程序。我还要求得到一个答案,该答案以合理的技术推理来支持简单的是或否的回答,反映我上面提到的典型考虑因素或我错过的其他因素。
** 更新 **
团队一致认为,此时 Blazor 有点过头了,因此选择创建 Razor Pages Web 应用程序。对于内部应用程序,这将是一个不错的选择。感谢您的精彩回答。
作为在银行业担任顾问的人,我会说不,现在不行。我最近启动了几个项目,Blazor 被认为是一个潜在的选择。在每种情况下,我们都决定反对。
作为企业,银行通常非常保守,这不是尝试尖端/尖端技术的好地方。
Blazor 具有一些有趣的潜力,但它是一个复杂的堆栈。以我的经验,这种复杂性的技术经常遭受“抽象漏洞”的困扰,你说不需要 JS,但实际上你可能需要填补一些相当大的差距。例如,Blazor 没有 canvas 支持。
它目前有一些很大的局限性,将 .NET 运行时传送到浏览器的成本非常高。这对于内部应用程序可能是可行的,但对于面向消费者的应用程序(偶尔使用),我认为这是一个不可能的选择。
您能确定它在五年后仍然是一项可行的技术吗?它会是下一个 Flash、Silverlight 还是 Java FX?
在从事网络技术工作大约 15 年后,我非常同意 Brendan Eich 所说的“始终押注 JavaScript”
抱歉听起来很消极。我确实认为 Blazor 是一个了不起的概念,但与大多数新技术一样,它还没有找到适合自己的位置。
我会对面向内部或面向有限受众的应用程序说“是”。
给一些平衡:JavaScript 世界遭受流失和分裂的影响最大,尤其是在框架年代。如果你想构建一个合理的 CRUD 平台,你会暂时选择 React,Angular 或者 Vue。五年后它们仍然是一项可行的技术吗?另一方面,.NET 一直非常稳定。
我们确实选择了 Blazor 作为我们的技术,我并不后悔这个选择。在过去的几个月里,我们一直在做全职的 Blazor。只有一种语言的生产力是疯狂的。我可以在一个 start/stop 会话中调试带有前端状态问题的 API 回调。是的,它仍然需要更多的改进,但它实际上对于 v1 中的这样一个工程壮举非常有用!但是我们有一个由全栈开发人员组成的小团队,如果你有更大的团队,这可能不是一个优势。我们确实喜欢您可以在前端和后端之间共享合同。现在有各种可能的小场景,因为你共享了这么多代码。例如,我们在表单中使用 FluentValidation,并在客户端重新使用验证器作为服务器端。大获全胜。
对于一个完整的平台,我们目前包括运行时在内的总有效负载为 3mb。最大的部分是运行时 (900kb) 和系统 dll,它们将被缓存。像 Verge 这样的知名网站大约有 2mb。自 5.0 以来,性能对我们来说不是问题。
此外,Blazor 有一个经过深思熟虑的组件模型,可以与市场上的任何东西完美匹配。我们在架构中找不到那么多漏洞。是的,有漏洞,但到目前为止,它们的范围非常有限,只限于前端的边缘(元素 sizing/positioning、滚动内容)。