您会使用Blazor WebAssembly创建在线银行应用程序吗?
需要考虑的事项:
-
这不是一条陡峭的学习曲线(现有团队精通.Net、C#和MVC(。
-
它在2020年5月才发布(我们通常不是新技术的早期采用者(。
-
它不支持IE(我们目前在IE上的用户不到5%(
-
没有JavaScript供开发人员编写(没有JS错误,没有JS跨浏览器问题,团队不是JS开发人员,他们是C#开发人员(。
我理解这可能是主观的,但我想很多.Net公司都在考虑使用这项技术来生成健壮的web应用程序。我还要求得到一个答案,用合理的技术推理来支持简单的"是"或"否"的回答,无论是反思我上面提到的典型考虑因素,还是反思我错过的其他考虑因素。
**更新**
该团队一致认为,此时此刻Blazor走得太远了,并选择创建Razor Pages Web应用程序。不过,对于内部应用程序来说,这将是一个不错的选择。谢谢你的回答。
我会同意面向内部或面向有限受众的应用程序。
相反:JavaScript世界受到的冲击最大,尤其是在框架时代。如果你想构建一个合理的CRUD平台,你现在可以选择React、Angular或Vue。五年后,它们还会成为一项可行的技术吗。NET一直都很稳定。
事实上,我们确实选择了Blazor作为我们的技术,我并不后悔这个选择。在过去的几个月里,我们一直在做全职Blazor。只有一种语言的生产力是疯狂的。我可以在一个启动/停止会话中调试带有前端状态问题的API回调。是的,它仍然需要更多的抛光,但实际上它在v1中非常适用于这样的工程壮举!但我们有一个拥有全栈开发人员的小团队,如果你有更大的团队,这可能不是一个优势。我们非常喜欢您可以在前端和后端之间共享合同。现在有各种各样的小场景是可能的,因为您共享了太多的代码。例如,我们在表单中使用FluentValidation,并将验证器客户端重新用作服务器端。一场大胜。
对于一个完整的平台,我们的总负载(包括运行时(目前为3mb。最大的部分是运行时(900kb(和系统dll,它们将被缓存。像Verge这样的高知名度网站的容量约为2mb。从5.0开始,性能就不再是我们的问题。
此外,Blazor有一个经过深思熟虑的组件模型,与市场上的任何产品都很匹配。我们在建筑上找不到那么多洞。是的,有一些洞,但到目前为止,它们的范围非常有限,仅限于前端的边缘(元素大小/定位、滚动等(。
作为一个在银行业担任顾问的人,我会说不,现在不行。我最近启动了一些项目,Blazor被认为是一个潜在的选择。在每一种情况下,我们都决定不这样做
银行作为企业通常相当保守,这不是一个尝试前沿技术的好地方。
Blazor有一些有趣的潜力,但它是一个复杂的堆栈。根据我的经验,这种复杂性的技术经常会受到"泄漏抽象"的影响,你说不需要JS,但在实践中,你可能需要填补一些相当大的空白。例如,Blazor没有画布支持。
它目前有一些相当大的限制,将.NET运行时运送到浏览器是非常昂贵的。这对于内部应用程序来说可能是可行的,但对于面向消费者的应用程序(偶尔使用(来说,在我看来,这是不可行的。
你能确定五年后它仍然是一项可行的技术吗?它会是下一个Flash、Silverlight还是Java FX?
在从事网络技术工作了大约15年后,我非常同意Brendan Eich的说法,他说"总是在JavaScript上下注">
抱歉听起来这么消极。我确实认为Blazor是一个令人惊叹的概念,但就像大多数新技术一样,它还没有找到自己的利基市场。