
单页应用程序(SPA)的卖点之一是将传统上在服务器上执行的工作转移到客户端。我认为SPA已经兑现了这个承诺。
然而,这并不全是好事。很容易过度热情并将太多工作推给客户端。我们经常忘记我们无法控制客户端的环境——客户端可能是任何东西,从十年前的旧机器到最新最好的智能手机,网络速度也各不相同。我们唯一能指望的就是用户在浏览器中查看我们的网站。
处理
根据我的经验,密集处理和需要在服务器和客户端之间保持一致性的数据,如日期转换或需要精确计算的数据(如金钱),是服务器端渲染的主要候选者。
分页
在客户端执行的一个常见任务是分页。对于小数据集,这很有效;然而,小数据集永远不会保持小规模。随着数据增长,应用程序变慢,最终变得无响应。不幸的是,你不知道这正在发生,因为它在客户端,更糟糕的是,它不会在所有客户端上发生,这使得故障排除变得困难。
将分页从客户端移到服务器端将缓解客户端上与分页相关的性能问题。你可能在想,“但现在我要进行大量的API调用。进行这么多API调用似乎不是最优的。“确实,看起来是这样,但你会惊讶于数据从服务器返回的速度有多快。最好的部分是什么?你控制服务器,可以根据需要增加容量。
归根结底,你想为用户提供丰富的响应体验,有时这意味着让服务器承担繁重的工作。
总结
总结一下,在可能的情况下,我们希望将工作转移到客户端,但这样做可能会很快使客户端负担过重。将分页和密集处理等繁重任务保留在服务器上可以保护我们免于压垮客户端。
作者:Chuck Conway 专注于软件工程和生成式人工智能。在社交媒体上与他联系:X (@chuckconway) 或访问他的 YouTube。