这个 App 是怎么一点点做出来的
记账簿是一个人利用业余时间做的。这里记下每个节点做了什么、改了什么, 以及踩过的坑。没有营销话术,只有实际发生的事。
记一笔改成和 iOS 一套:顶部是关闭键加支出/收入/转账三段,下面是分类网格、 二级分类横滑条、金额和当前分类、备注行,最后是三列纯数字键盘。 键盘去掉了 + − × ÷ 和等号,小数点放在 0 右边——记账就是填一个数,不需要在键盘上算数。 底部固定「再记一笔」和「保存」两颗按钮。 另外首次打开会有 2-3 秒解析时间,之前这段时间屏幕上什么都没有,容易被当成打不开; 现在先铺一行「正在打开…」,页面画好再撤掉,6 秒兜底。 版本号 2.2.9(versionCode 37),APK 已同步到下载页。
安卓这一轮把和 iOS 的差距补齐了。账单里的「转账 / 还款 / 提现 / 充值」现在直接记成转账, 不再丢进「待核对」——一份支付宝账单里有 275 行是这类,以前要一条条手动处理。 支出、收入、转账三种记录可以互相改:点错了不用删了重记。 应收应付新增「代收代转」,公司捐款、部门缴费这种「同事的钱先汇总到我这儿、再统一交出去」有了正经位置。 往来之间也能互转:借入、借出、代收代转、垫付随时改,部分结清的会拒绝并说明原因。 新增 Excel 导出(.xlsx),Excel / WPS / Numbers 都能打开。 分类体系收敛到 20 个支出一级、5 个收入一级,旧分类自动迁移并留有备份。 版本号 2.2.8(versionCode 36),APK 已同步到下载页。
这一轮先把「记一笔」缩短到一屏:金额、账户、日期、模板、全部一级分类、二级分类、 数字键盘和保存同屏;不再自动弹系统键盘,当前分类始终可见,保存固定在右下角。 新增本地记账模板,常记的一笔点一下就能预填;新增秒开模式,可选冷启动直接进入记一笔。 预算支持总预算与分类预算分开,总预算统计全部支出,分类合计超总预算会提示,一次保存合并成一次撤销。 同时修复退款后再报销的上限口径(按净支出计算)、从首页带筛选进入明细被历史筛选覆盖的问题; 分类隐藏改为「归档」,历史统计保留但记账页不显示。 视觉上只保留墨绿与极简两套皮肤,分类图标统一成 6 色低饱和色板,桌面图标恢复原版。 build 102 已上传 TestFlight 内部测试;撤销胶囊 3 秒自动隐藏已在本地完成,随下一版提供。
安卓版同步了这一轮的核心改动:支出 27 个、收入 9 个一级分类,每个一级分类带常用二级分类; 旧六大类和 1.x 分类会在读取时按映射显示,原始字段保留,不丢历史。 「记一笔」改成单屏:金额、模板、全部分类、二级分类、日期、账户、数字键盘和保存同屏, 保存仍在右下角;新增本地记账模板,常记的一笔点一下就能预填,并可在「我的 → 记账模板」管理。 预算支持总预算与分类预算分开,总预算统计全部支出,分类合计超总预算会提示。 分类可以归档,归档后记账页不显示,历史流水和统计仍然保留;另加秒开模式,可选启动后直接记一笔。 皮肤收敛为墨绿与极简两套,分类图标统一成 6 色低饱和色板。 版本号 2.1.0(versionCode 18),APK 已同步到下载页。
统计重做:周 / 月 / 年 / 全部 / 自定义,月份网格和周历可选;环形图、趋势、支出日历; 六大类展开后能看到二级分类和交易明细。预算支持周 / 月 / 年;多账本独立切换; 自定义一级/二级分类与图标;批量编辑、报销标记;存钱计划(定额 / 灵活 / 52 周 / 365 天); 多币种与汇率;深色模式。build 89 已提交 App Store 审核(build 88 因分类明细问题撤回)。
安卓安装包重新打包并同步官网,版本号 2.0.6(versionCode 17)。本轮 iOS 2.0.3 的统计、 多账本、自定义分类、存钱计划、深色模式是 SwiftUI 原生实现,Android 端功能仍与 2.0.5 一致, 后续单独迁移;不会把未完成的功能写成已支持。
2.0 原生首版漏掉了账单导入,这次补回来:微信、支付宝、银行的 CSV 和 XLSX 都可以直接导入, 导入前先预览,自动跳过退款/关闭/不计收支行,重复交易按流水号识别。 同时保留 2.0.1 的修复:首页显示当天全部交易、损坏账本先备份、每日快照改为保存前状态、 保存失败提示、金额 1,000 不再被误读。build 86 已提交审核。
2.0 上线后发现两个问题:首页某天超过 6 笔时只显示前 6 笔,用户会以为后面的账丢了; 主账本文件损坏时没有先保留副本。2.0.1 修复了这两处,并把每日快照改成记录上一次成功保存的状态, 保存失败会明确提示;金额输入 1,000 不再被误读成 1,对账金额统一到分。 build 85 已提交 App Store 审核,通过后覆盖更新。
有用户反馈 25 号的账只剩 26 号能看到,26 号也不全。查下来不是丢数据: 首页此前只渲染最近 30 笔,且每天再截 20 笔,超过这个数量后旧账就不显示了。 这一版取消按天截断,并加了「查看更早的 N 笔」,可以一直往前翻到第一笔;账目本身一笔没动。 覆盖安装即可。iOS 端首页同样取消每天 6 笔的截断,随下一个 build 发布。
2.0 原生版的商店截图、描述和更新说明全部换成这一版,build 83 已提交审核。 1.5 的排队已撤回,版本记录直接改成 2.0 —— 同一个版本号不重复占位。 审核通过后,App Store 上会从 1.3 直接更新到 2.0。
这一轮不是加功能,是把账本的安全性补齐:迁移失败不再覆盖旧账,坏数据不会静默清空流水, 信用卡/负债账户转账方向修正,旧版二十类分类会正确映射到六大类; 新增完整明细与搜索、账户增删改、JSON 备份导入、每日自动快照,密码锁连续输错会锁 30 秒, 并补回隐私政策与备案号入口。iOS build 83 已上传 TestFlight 内部测试,Android 2.0.4 已同步上线官网。
这一版修的是“能不能安全用”:加密导出、JSON 导出和存图片现在会真正弹出系统保存框; 「全部」周期不再只算本月;商户分类规则重启后仍生效;资产账户允许负数,不再被 abs 翻正; 切换分类会清空不匹配的子类;编辑页也补上了子类和标签候选。 另外把最低系统要求统一到 Android 8.0,避免老 WebView 装上后白屏。覆盖安装即可,账目不动。
快速记账里的二级分类和标签改成内置候选:六大类和收入各有自己的常用子类,标签也会带上常用项, 点选即可,不再从空白输入框开始。iOS 2.0 内测版还会把用户以前用过的标签排进候选,并保留自定义入口。 覆盖安装即可,账目不动。
Android 图标换成与 iOS 同源的「晨雾纸感 + 账本脊线 + 羽毛笔」,并改为按用户原图提取的造型,拆成自适应图标的前景层与背景层, 在圆形、圆角矩形、水滴形桌面上都不会裁掉核心图形;旧版启动器也有对应的方形和圆形图标。 功能与 2.0 一致,覆盖安装即可,账目不动。
iOS 和 Android 从这一版开始分开走。Android 2.0 继续保持单文件网页内核,
新增二级分类 / 标签、预算信封、季度净值快照、对账模式、本地快照、固定支出预估,
「我的」也从 19 行收到 16 行。安装包已经放到官网,旧版直接覆盖安装,账目自动迁移。
iOS 2.0 会改成 SwiftUI + 原生数据层重写,不再套 WKWebView;旧账会从 App Group 镜像
或隐藏 WebView 里读一次,迁移到原生账本。当前 App Store 仍是 1.3,1.5 审核中。
支出从二十个分类收敛成六大类,旧的十类和四维数据自动映射;月度分析只保留四个能行动的指标:
储蓄率、固定支出占比、弹性支出 Top3、异常大额 Top3。退款改成按原分类冲减,报表能展开看
毛支出 / 退款 / 净支出。收入只允许进自有资产账户,信用卡和花呗不能再作为收入账户。
功能图标统一成绿色,和晨雾底色终于不打架了。
Android 1.5 安装包同步好了,官网也在这天重新上线。
点开一笔交易,先改金额和备注;退款、垫付分摊、汇率校准收进「更多处理」。 编辑面板从居中弹窗改成底部抽屉,避开刘海和状态栏 —— 手机上弹层整体偏上的问题, 这次是连着修了第二回。iOS 1.5 提交审核,Android 1.5 开始准备。
增加标准 / 大号 / 超大号三档字号,所有字号统一走一个缩放变量,输入框最小 16px, 避免 iOS 聚焦时自动放大。财务规划上线:安全垫、储蓄率、固定支出、收入集中度四项体检, 再把本月收入拆成生活、安全垫、热爱成长三笔。
1.4 的四维能量太抽象,自己用了一个月,发现平时根本不会点开。于是把首页改回 资产总览 + 一句话记账 + 明细,底部收成三个入口:明细 / + / 我的。 「四维」只在月度复盘时保留,不占日常首页。
之前把下载页挂在国外的免费托管上,国内根本打不开。所以买了域名和国内服务器 —— 代价是要走一遍 ICP 备案。App 的备案早就下来了,网站得单独再备一次。
图标:用豆包生成的原稿,只做三件事 —— 抹掉右下角水印、裁成满幅方形、补上边角抗锯齿。
它的形状、比例、甚至那些不完美的地方,一处都没动。
皮肤:发在社交平台上之后,不少用户说还是第一版奶油风好看。于是把它整个换了回来
(这次是「奶油手绘」,不是最早那版焦糖棕)。
定价:定成限时首发 ¥1,2026-12-01 起恢复 ¥6,一次买断,没有订阅。
从「只记钱」扩展到「也记东西」。登记手机、电脑、家电,自动算持有天数和日均折旧。 它不计入总资产 —— 买的时候已经记过一次支出了,再算一遍就重复了。
被拒过一次,补了录屏和说明后通过。1.3 是白瓷浅色、三入口、底部快速记账的版本, 也是第一个正式卖给用户的版本。
改了一堆布局和字号问题 —— 窄屏下元素撑破、输入框被系统样式盖住、 中文输入法会误触发自动归类。构建号一路推到了两位数。
一开始做的是奶油手绘风 —— 圆角、粗描边、硬阴影、波浪下划线。做完觉得太软, 一狠心换成了极简深蓝,18 处手绘描边全删了。
两端共用同一份网页代码:iOS 这边套一层 WKWebView,安卓套一层 WebView。 改一处两边生效,这是整个项目最省事的一个决定。
没用 gradle,用 aapt2 + javac + d8 手工打包。最后出来的包只有 115 KB, 装上去能记账了 —— 那一刻是真的挺爽的。
这个页面会持续更新。有进展就写上来,包括踩的坑。