如何搭建健身应用:训练、记录、进度与教练功能
健身应用让人们可以跟着训练、记录自己实际完成的内容,并看到长期的进步。它的核心是动作库、训练计划、一个在组间休息时也能快速使用的记录界面,以及带图表的历史记录。教练类应用还多了一个方面:教练制定训练计划,学员按计划训练。建议先把它做成适配手机的网页应用,让记录界面保持简单,并如实说明网页应用能从手机和可穿戴设备读取什么、不能读取什么。
选择健身应用的类型
| 类型 | 主要用户 | 核心循环 |
|---|---|---|
| 训练记录工具 | 独自训练的人 | 选择训练 → 记录组数 → 查看进度 |
| 计划类应用 | 跟随固定计划的人(12 周力量训练计划、跑步计划) | 今日训练 → 完成 → 下一次训练解锁 |
| 教练与学员应用 | 私人教练及其学员 | 教练分配计划 → 学员记录 → 教练审阅并调整 |
| 课程或健身房应用 | 健身房或工作室的会员 | 查看课表 → 预约课程 → 签到 |
最后一种实际上是预约类应用;参见如何搭建健身房会员应用。本指南主要关注前三种。
健身应用需要什么
页面
- 今日:今天安排的训练,或快速的“开始空白训练”。
- 训练记录页:每个动作及其组数;点击即可输入重量和次数,勾选完成,组间有休息计时器。
- 动作库:名称、肌群、器械、动作说明,以及可选的视频或图片。
- 计划与模板:可重复使用的训练和多周计划。
- 历史记录:按日期列出过往训练。
- 进度:每个动作的图表(最重一组、估算的一次最大重量、总训练量),以及用户希望记录的身体数据。
- 教练专用:学员列表、计划制定工具、学员打卡和评论。
数据
- 动作:名称、类型(力量、有氧、计时类、自重类)、肌群、器械、说明。
- 训练模板:名称,以及按顺序排列的动作,包含目标组数、次数和休息时间。
- 计划:周和天,每一天关联一个模板。
- 训练记录:用户、日期、模板(如有)、备注、时长。
- 组:训练记录、动作、组序号、重量、次数、距离或时间、RPE(主观用力程度),以及是否完成。
- 身体数据:用户、日期、体重及其他测量值。
以一种单位存储重量(例如千克),显示时再换算,这样切换单位时就不会破坏历史数据。不同类型的动作需要不同的字段:平板支撑需要时间,跑步需要距离和时间,深蹲需要重量和次数。
权限
个人记录工具需要每个人一个账户,数据完全私密。教练类应用需要教练和学员两种角色:教练只能看到自己的学员,学员只能看到自己的数据。要测试一个学员是否无法通过修改地址栏中的 ID 打开另一位学员的训练记录。
决策与取舍
网页应用还是原生应用。 原生应用可以读取 Apple Health、在后台运行,并在锁屏上显示内容。网页应用完全无法读取 Apple Health,但可以在各种手机上运行,无需应用商店审核,还能作为渐进式网页应用(PWA)添加到主屏幕。对于记录工具或教练类应用,网页应用足以覆盖核心功能。参见原生应用与渐进式网页应用对比。
可穿戴设备。 部分可穿戴和健身平台提供网页 API,可在用户授权后连接。在规划依赖它们的功能之前,请先查看各厂商的开发者条款。对于第一个版本,手动输入跑步和心率数据就已经很好了。
使用现成的动作库还是自建。 提供一百个常见动作的列表,可以为用户节省时间。动作说明请自己撰写,或使用授权允许的来源;不要复制其他应用的动作库。
健身房信号。 健身房内的网络信号通常很差。应确保记录工具在训练中途断网时仍能继续工作,并在网络恢复后保存数据,至少要保证已输入的组数永远不丢失。
安全与隐私
健身应用不是医疗设备。不要提供医疗建议,并加入简短的提示,说明用户在开始训练计划前应咨询专业人士,尤其是有健康问题的用户。体重、身体测量数据、伤病和健康备注都属于个人信息;部分法律将与健康相关的数据视为特殊类别。应默认保持所有数据私密,只收集你会使用的数据,并允许用户导出和删除自己的数据。
示例初始提示词
为我的私人训练学员搭建一个教练应用,优先适配手机。两种角色:教练和学员。作为教练,我可以从动作库中创建训练模板(名称、肌群、器械、动作说明、类型:负重、自重、计时或距离),将它们组合为多周计划,并把计划分配给学员。学员可以看到今天的训练,为每一组记录重量和次数(或时间、距离),勾选完成的组,并在组间启动休息计时器。如果网络中断,已输入的组数绝不能丢失。以千克存储重量,并允许每位用户选择以千克或磅显示。学员可以看到自己的历史记录,以及每个动作的进度图表(最重一组和估算的一次最大重量)。我可以看到学员列表、他们已完成的训练,并可以在任何训练记录上留言。每位学员只能看到自己的数据。使用邮箱和密码登录,数据保存在数据库中。预先填充 40 个常见动作和两位演示学员。
构建步骤
- 先做记录工具。 组数输入界面决定了应用是否会被使用。输入框要大,使用数字键盘,一键复制上一组。
- 动作库和模板。 预先填充常见动作,并检查每种类型是否显示正确的字段。
- 历史记录和进度图表。 用几周的模拟数据测试,让图表看起来真实可信。
- 账户与角色。 先添加登录,再添加教练和学员角色。尝试打开另一位学员的数据,确保操作会失败。参见如何为应用添加登录功能。
- 训练计划。 设置周和天,并明确学员错过一次训练时会发生什么。
- 安装到手机上。 把应用添加到手机主屏幕,并用它完成一次真实训练。参见如何搭建适配手机的网页应用。
- 与三位学员进行测试。 观察他们在哪些地方犹豫。
常见错误
- 输入框太小。 人们在组间手心出汗地记录数据。目标区域要做大。
- 所有动作都使用同一套字段。 平板支撑、跑步和深蹲需要不同的字段。
- 存储时混用单位。 存储一种单位,显示时再换算。
- 网络中断时丢失组数。 先保存在本地。
- 在网页应用中承诺 Apple Health 同步。 没有原生应用是做不到的。
- 上线时功能太多。 社交动态、徽章和 AI 生成的计划都可以等到基本循环跑通之后再做。
- 听起来像医疗建议。 指导内容保持通用,并加入清晰的免责声明。
什么时候现成的健身应用更好
如果你只是想记录自己的训练,成熟的训练应用已经拥有庞大的动作库、可穿戴设备同步、离线使用和原生通知功能。许多私人教练也会使用专门的教练平台,其中包括收款、消息和品牌化应用。
当你的训练方法与这些工具不匹配时(例如特定的计划结构、特定运动的指标、有自身规则的俱乐部或团队),当按学员收取的平台费用不断累积时,或者当你希望应用承载你的品牌和数据时,就应该自己搭建。如果你打算围绕它开展私人训练业务,请参阅如何开设私人教练业务。如果只需要一个更简单的日常追踪工具,如何搭建习惯追踪应用是很好的起点。
使用 Mythex 搭建
Mythex 将健身应用构建为网页应用:你在聊天中描述需求,在实时预览的手机尺寸画面中检查记录界面,然后发布到学员可以打开并添加到主屏幕的公开地址。当应用需要时,它会添加专用的 Postgres 数据库,并为动作图片或视频提供文件存储。登录需要你自带服务,参见身份验证指南;如果你向学员收费,支付也是如此。在 Pro 版本中,Mythex 可以把应用封装为 Android 和 iPhone 应用,但它的界面仍是网页界面,因此目前无法实现需要原生代码的可穿戴设备和 Apple Health 集成。
常见问题
健身应用应该具备哪些功能?
动作库、训练计划或模板、快速记录每组的重量和次数、历史训练记录,以及进度图表。教练类应用还会增加学员账户、分配的训练计划和打卡功能。
网页应用能直接读取 Apple Health 或智能手表的数据吗?
不能直接读取。Apple Health 的数据只对原生 iOS 应用开放,网站无法访问。部分可穿戴设备厂商提供网页 API,网页应用可以在用户授权的情况下连接;在承诺任何集成之前,请先查阅各厂商的开发者文档。
我可以不写代码就搭建健身应用吗?
可以。AI 应用构建工具可以根据描述搭建训练记录工具、计划制定工具或教练与学员应用。大多数 AI 构建工具生成的是网页应用,用户可以在手机浏览器中打开,并添加到主屏幕。
健身应用需要遵守健康数据规则吗?
这取决于你的运营地区以及你收集的数据。体重、伤病和健康状况在 GDPR 等法律下可能属于敏感个人数据。只收集你真正需要的数据,默认保持私密,并请顾问核对适用于你的规则。