关于Blazor
看了Blazor的介绍,非常兴奋。WebAssembly的汇编级性能,结合C#的能力,简直就是互联网的王炸。写了一些本地例子,发现总体还不错,简单高效。
突然看到微软官方文档有一句“不适于高并发场景”,顿时想起WebForm。联系祖孙三代,让我一身冷汗。通常,当王婆都说自己的瓜可能不甜,事情一定很严重。
WASM模式打包启动慢
是缺点。初次启动需要下载和初始化运行时、类库等必要部分。官方仍在优化裁剪功能,减小初次启动加载内容的体积,但目前也只能这样了。
WASM+AOT打包体积大
AOT之后打包体积变大是意料之中的情况,不能说是缺点。只能说有条件地使用,AOT不是什么万能灵药。
Server端模式占用Socket和服务器内存
这也不能说是缺点...这是一种框架层面支持的项目设计模式,即通过长连接来处理前后端的交互逻辑主要都在后端完成。如果你采用了这样的设计,后端当然要占用Socket和内存。这是陈述,而非评价。
(p.s.我更建议学习Client端模式,比较贴近一般的前端开发)
再说说我个人的观点。
Blazor的缺点主要有2个:
①、wasm的普及和支持还不够广泛
②、生态问题
Blazor发展的天花板肯定是受wasm制约的。对2C市场来说,诸如IE 9-11等不支持或仅部分支持wasm的浏览器还没被淘汰呢,采用Blazor就意味着放弃大量底层用户。2B市场是可以争取的,但也有很多企业和单位的硬件环境,不支持wasm,这也是Blazor无法染指的蛋糕。总而言之,在短期内,若企业或个人选择Blazor做产品,可选的买方市场相对有限。
生态问题