年底是忘记过去的错误并对未来进行积极窥视的好时机。因此,作为一个狂热的JS/TS全栈开发爱好者,我决定鼓起勇气,并在未来一年做出一些预测。他们可能都非常有争议,因此希望他们能引起更有意义的讨论,我渴望听到您的意见。
边缘部署成为主流
无论您是否使用过它,您都必须反复听到有关2022年“在边缘上运行”的消息。Web开发生态系统继续被优化痴迷于优化,并支持在边缘运行,用于框架构建者,不仅是一件很酷的事情,而且现在必须是必须的:
- Next.js将其“实验边缘” API路由毕业至GA。其Beta“ React Server组件”支持和新的数据加载模式完全兼容。
- nuxt.js 3.0完全重建了其服务器引擎,并完全支持在Edge部署上运行。
- 混音正在积极促进在Cloudflare工人等边缘服务上的部署。
- Sveltekit 1.0经过如此漫长的等待,终于降落了,绝对没有错过Edge的支持。
从最简单的意义上讲,Edge被升级为支持运行自定义代码;因此,它不仅可以为客户提供静态资产,而且可以为客户提供动态内容。实施边缘计算的挑战是安全,便宜,始终如一地执行代码。
像CDN一样,边缘网络应该大规模部署并在许多租户中共享。这需要孤立的执行环境(因此数据不能在租户之间泄漏),占地面积很小(因此可以经常创建和处置上下文而不会伤害性能)。 Nodejs太肿了,无法成为可行的解决方案。 Slimmer JavaScript Runtimes,例如Next.js的edge runtime,Cloudflare的workerd,Deno deploy和bun,是为了履行这一专业工作的创建。
今天,大多数Web应用程序仍在传统托管环境中部署。许多人很有可能会尝试部署边缘,有些人最终会安定下来。有了更适合开发人员友好的框架及其与托管提供商的更好集成,您通常可以在没有太大的代码更改并立即享受一些好处的情况下迁移到边缘:
:- SSR页面应立即在许多情况下加载速度
- 边缘网络可以缓存您的数据以减少数据存储的负载
- 内容个性化更容易实现,因为可以在边缘上做出决策
- 您可能会获得更低的成本 ,您可能会获得更好的结果
但是边缘不是银弹。关于其未来的最大灰色区域之一是数据获取。当今的大多数数据库仍然不可分发,这很快就会改变。从边缘网络访问中央部署的数据库(如果不正确)可能会使性能变得更糟。查看以下视频进行测量测试:
这就是为什么Prisma甚至积极发展和倡导其面向边缘的Data Proxy,honestly claimed that:
作为最佳实践,我们仍然建议通常尽可能地将您的数据库部署到API服务器,以最大程度地减少响应时间的延迟。
在移至边缘之前,绝对是您应该称重的东西。如Prisma所暗示的那样,缓解措施是将您的边缘网络局限于足够接近数据库的区域。某些框架,例如Next.js,已经支持在路线级别配置边缘区域。好吧,如果您已经在使用全球分布式的数据存储,我什么也没警告您,但请发送我的祝贺ð。
。关于数据加载模式的辩论未解决
尽管开发人员仍在整理CSR,SSR,SSG,ISR等。这引起了很多兴奋,可以使未来的Web应用程序更好地表现,但无疑使事情变得更加令人困惑。但是,这个想法非常酷:服务器组件在服务器上呈现,它们的代码仍在上面。它可能会大大减少客户捆捆的大小,但同时使网络边界比以前更模糊。结果,您的应用程序的行为很难推理。
查看我的其他帖子,以对Next进行更全面的解释。JS13的RSC: