卡是因为网络延迟,服务器在国外,如果是国内服务器根本不会感觉到卡。
不过可以试一试微软的 Blazor Server
https://learn.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-7.0#blazor-server和这个其实本质上相同,都是通过后端生成 html --> 然后把浏览器的事件发送到后端 --> 然后后端再生成需要的改变发送到浏览器 --> 浏览器再更新页面,也就是浏览器里有一个脚本,只做两件事,监听事件发送给后端,接收后端的数据更新页面,其他所有的逻辑全部都在后端实现。
好处是,很多事情框架帮你做了,你写起来仿佛是在写一个本地应用,不需要考虑前后端是怎么交互的,不需要写接口,不需要去写 js ,然后 js 再调用后端,后端在处理请求,然后后端处理后返回,再写 js 更新 ui ,你可以直接在后端控制 dom ,可以直接在前端调用本地 api ,也可以后端主动控制前端。
如果说传统的 webapp 像是两个人 一个人让另一个人使用自己的手,而这种框架就像是一个人使用自己的手一样符合直觉和方便。
其次前端只有一个页面和一个 js ,需要加载的东西很少,所以速度可以很快(对于一个单页应用)。
当然,这种框架也是有很多缺点,比如说延迟,一旦延迟高了就很难用了,比如
nicegui.io 延迟 300ms ,不过如果放在国内就基本上感受不到卡了。
其次是服务器需要维护长连接,这是会消耗服务器资源的,所以用户量不能太多,只适合比如开发本地应用,或者用户量少的应用。
如果你是开发用户量少,或者跨平台应用,是可以试一下的。