框架最佳实践
了解构建优秀 Frame 体验的最佳实践。
用户界面/用户体验
遵循 Frame 界面设计规范 (FIG)
FIG 提供了全面的设计指南,可帮助您打造出色的 Frame 体验。内容涵盖从基础原则(如布局和排版)到交易处理的最佳实践。
优化性能
确保您的 Frame 能快速响应用户操作。请查阅并实施性能优化建议。
使用可复用的样式和组件
建立一套可复用的样式和组件库,有助于快速开发并保持界面一致性。
FrogUI 作为 Frog 框架的扩展,提供了一套可主题化的基础组件集。
性能优化建议
TIP
如果您刚入门或正在开发原型,无需过度关注这些建议。
请记住:过早优化是万恶之源!
使用缓存图片
尽可能通过稳定 URL 提供图片并设置合适的缓存头,这能显著减少渲染时间。
快速响应请求
避免在用户等待 Frame 加载时执行耗时操作(如调用大语言模型)。参见后台执行耗时任务。
后台执行耗时任务
若 Frame 需执行耗时操作(如调用大语言模型或发送链上交易),应采用"后台处理"模式:立即返回提示用户"操作进行中"的 Frame,允许用户刷新查看状态。
使用本地存储的 Farcaster 数据
如需访问 Farcaster 数据,建议通过 Shuttle 将其同步至 Postgres 实现本地查询。
高级提示
维护数据同步需要相当工作量。除非确有必要,建议优先使用 Neynar、Pinata 或 Airstack 等提供商的数据接口。
适时跳过 Frame 消息签名验证
当消息数据不会导致敏感信息更新或暴露时,可跳过签名验证。
例如:若 Frame 仅返回用户 Cast 历史的公开分析数据,使用未经验证的数据通常足够安全。
注意
对于多步骤 Frame,某些交互可能需要验证而其他步骤可能不需要。
谨慎操作
若 Frame 依赖消息数据执行特权操作或暴露敏感信息,则必须验证消息签名。
最小化外部依赖(如 Hubs)的延迟
这是跳过验证和使用本地 Farcaster 数据等策略的通用原则。
梳理 Frame 服务器的所有外部依赖,针对每个依赖思考:
- 能否移除该依赖?
- 数据能否缓存?
- 能否与 Frame 服务器同域部署?