【发布时间】:2020-05-28 23:55:31
【问题描述】:
我很清楚 Blazor Server 与 Blazor WebAssembly 的优缺点。也就是说,我们应该使用哪一个来构建一个新的公司网站?虽然“视情况而定”可能是您的答案,但这不仅仅是在我们的标准中选中更多复选框。
有谁知道微软的长期路线图/方向是什么?如果我们在 Blazor Server 中构建它,然后在两年后得知微软想要弃用它以支持 WebAssembly,那么我们将犯下一个大错误(比如当我们选择 LINQ 而不是 EF 但不要让我开始在那个!)。如果我们认为 WebAssembly 更面向未来(尤其是考虑到所有的嗡嗡声),但最终都被完全吹捧/长期支持,那么使用 Blazor Server 可能更有意义(取决于标准)。
也就是说,标准可以改变(哦,人性!)。如果我们在 Blazor Server 中构建它,但我们的 CEO 然后说他希望它即使离线也能渲染一个计算器(好吧,这不会发生,但你知道我的意思),那么我们就无法做到这一点。相反,如果我们构建它是 WebAssembly,然后业务需要一些东西(我不知道.. 让它显示 SEO 统计数据),那么最好使用 Blazor Server 采取另一种方式。
当今世界,大多数公司都有网站和原生移动应用程序(多米诺骨牌、米高梅大酒店等)。我意识到带有 PWA 的 WebAssembly 是我们小公司可以拥有伪原生应用程序而无需实际编写应用程序(Xamarin 到 iOS、Android)的一种方式,但这里的漫长游戏是什么?你明白我要问这个问题了吗?这不是关于每个人的具体优缺点,而是关于尝试从现在开始调查五年后的情况,并在今天为未来做出正确的决定。我的直觉告诉我 WebAssembly 的一切,但我的直觉也告诉我 LINQ over EF。
提前感谢您的 cmets。
【问题讨论】:
-
我已投票决定关闭此问题,因为这是一个意见问题,但我会添加一些指导。 Blazor 服务器端和客户端 WASM Blazor 几乎是同一种动物。组件模型和渲染系统两者都是通用的,主要区别是一个在服务器上运行,另一个在客户端上运行。可以编写一个无需修改即可在两者上运行的 Blazor 应用程序 - 关键是抽象出数据访问,使其具有可移植性。因此,例如,不要直接编码到服务器端应用程序中的 EF 模型,编码到数据服务抽象。
标签: blazor blazor-server-side blazor-client-side