ArNext 是一个基于 NextJS 的框架,允许开发者在 Vercel 和 Arweave 上部署相同代码库,实现永久应用的云端性能优化。它克服了传统永久应用在动态内容加载慢、仅支持根 URL、缺乏社交媒体卡片等限制。通过结合 NextJS 的服务器端渲染和 Arweave 的客户端路由,ArNext 实现了在两个平台上的无缝运行。其核心优势是提供了一种方法,使开发者既能构建云端优化的 Web 应用,又能在 Arweave 上进行永久存储和防审查备份。
WeaveDB 的创始人 Tomo 推出了 ArNext,为构建应用提供了一种全新的框架,对永久应用(Permaapp)来说是革命性的改变。它允许开发者将相同的代码库部署在 Vercel 和 Arweave 上,从而实现云端性能优化和抗审查的永久备份。
ArNext 本质上是一个基于 Next.js 的应用框架。Next.js 是一个用于构建现代 Web 应用的流行 React 框架,支持服务器端渲染(SSR)和静态网站生成(SSG)。通过一系列巧妙的技术手段,ArNext 能够从相同的代码库构建 Permaapp,在 Vercel 上实现服务器端渲染(SSR),并在 Arweave 上使用客户端路由,形成一个结合多页应用和单页应用特点的独特架构。
传统 Permaapp 的局限性
Permaapp 是指部署在 Permaweb 上的应用,通常是单页应用(SPA)。虽然 Permaapp 可以永久存储应用内容,但传统的 Permaapp 有一些局限性,主要是因为它依赖静态站点生成 (SSG) 和客户端哈希路由,缺乏服务器端的支持。让我们逐一分析这些局限性:
这些局限性让传统的 Permaapp 在动态内容、页面导航、社交分享和性能优化等方面显得较弱,尤其是在需要高性能和灵活性的复杂应用场景下。
ArNext 的创新解决方案
ArNext 框架通过以下方式克服了传统 Permaapp 的局限性:
无需哈希路由:传统 Permaapp 依赖哈希路由(通常是 # 符号)来导航,而 ArNext 通过 Arweave Manifests v0.2.0 的 fallback 功能解决了这个问题。Fallback 的作用是让服务器在找不到具体页面时,自动回退到根页面处理请求。这意味着不再需要哈希路由,可以使用更标准的 URL 结构(如 example.com/about),用户体验更接近传统的网页。
动态生成资源的相对路径:ArNext 使用三种方式解决了静态文件链接的挑战。首先,部署时动态计算并插入正确的相对路径,确保资源在不同环境下正常访问;其次,手动重写资源标签以弥补自动路径生成的不足;最后,生成适当的 manifest.json 文件,确保资源正确索引和加载。
总结
ArNext 引入双重部署框架,将传统 Permaapp 的永久性与现代云端性能优化相结合。它通过 Vercel 的服务器端渲染(SSR)和 Arweave 的客户端路由,融合多页与单页应用。这样既解决了传统 Permaapp 在动态内容加载和页面导航方面的局限,又改善了社交分享和性能优化的问题。例如,在一个博客应用中,Vercel 的 SSR 使得动态内容(如最新文章)能够快速加载,同时通过 Arweave 存储文章,从而保障内容永久存储与抗审查。
ArNext 提供了一种新的构建范式,既具持久性又有高性能,提升了 Web3 开发者的灵活性和效率。