三个月,我将这款记账app带到了这个世界

September 30, 2017
SoftwareiOSDownload

今年六月的时候,萌生了开发一个记账 app 的想法,想去用自己的 app
记账,管理收支。那时正好在英国是考试周,放假后,我回到了国内,准备去实现我的计划。没想到这暑假很快就结束了,在这个暑假中经历的太多的事,准备了要去美国读研的考试,遇到了生命中的另一半,同时,也将
Costuary for iPhone 带到了这个世界。

说道为什么要开发这样一个 app ,因为笔者在UK读书,市面上很少有记账 app 能够实现实时汇率的换算,带有这个功能的 app
也是操作繁杂。所以要自己开发一个,功能并没有那么复杂的,并且能够满足自己在国外和国内生活需求的App,所以自己编写了 iPhone 的客户端,为了获取汇率和
Excel 导出,又用 Java 设计和编写了 Costuary 的后端服务器。

比起今年年初开发的 Flat Weather,这个项目的代码量大约是他的十倍,需要实现众多的功能和模块。

这篇文章将会介绍一下 Costuary 的功能与我开发过程中的一些心得。

设计

说到设计,两年前,我还是一个 Android 开发者,Google 的 Material Design 是我的最爱,所以,Costuary 采用了
Android 5.0 之后采用的 Material Design 设计。其中掺杂了一些我自己的设计,因为 Material Design
的控件有时候操作繁琐。

早在5月份的时候已经零零总总的用 Sketch 画出了这个产品的 UI 和图标,之后开始了漫长开发的过程。

交互

与去年开发的Android版不同,iPhone版的Costuary采用了 底部导航栏 的设计,相比于Android通常使用的Navigation
Drawer的抽屉布局,底部导航栏的设计即使在右手操作iPhone的时候都不会太费力。

功能

  • 多币种记账

Costuary 支持世界上主要货币的实时汇率转换,所有外汇在统计时会转换成主货币的数目,方便查看花销。

  • 日历视图

日历视图能够很直观的反映出哪一天有消费和收入。

  • 图表

说到记账软件,量化消费的图表无疑是重要的一环,Costuary提供了饼状图来视觉化一段时间的花销。

  • 多账户

可以建立多个账户来表示自己的银行卡,支付宝,现金等等。

  • 月预算

可以看出本月的预算还有多少。

  • 导出到Excel

如果想要进行更加详细的分析,可以使用导出功能将账本导出到Excel。

  • 备份与还原

允许备份账本内容到iCloud。

开发

去把一纸设计变成真正的产品,这是一个独立开发者应该具有的能力。只会写代码不只是我唯一掌握的,能够去设计出来自己想要的应用并且将他实现才是我在做的事情。

这款应用的开发并没有想象中的简单,需要自己去实现大量 Android UI 控件,很多圆角,阴影,字体,要慢慢的去调整,让控件适合 iPhone
的屏幕。整个应用的背后有3个关系型数据库来储存账户,账本与各种汇率。与以前开发的Flat
Weather不同,Costuary会产生大量的用户数据,所以整个软件架构的稳定性变得异常重要,需要设计一些机制来防止数据丢失与损坏。

为了实现 App 获取每日的汇率,并且在 iPhone 上能够实现账本导出到 Excel ,我设计了一个服务器后端来处理这些繁杂的实物。每次 App
启动后会与我的服务器来更新最新的汇率。当用户选择导出时,账本会被发送到服务器上并处理为 Excel 发送到用户的邮箱里。

说到服务器,就不得不提到用户隐私了,因为导出到Excel功能需要将账本传到我的服务器上做进一步处理,很多人会觉得我侵犯了他的个人隐私。对此,为了保护我的权益与用户的权益,我撰写了Costuary
软件许可及服务协议
Costuary
隐私政策
,这是我作为独立开发者这么多年后第一次去写许可协议。

资费

与我的其他产品一样,这款App依旧是 免费 供大家使用的,作为独立开发者,我们都知道,绝大多数用户不会去珍惜一个免费的产品。就像 Flat
Weather 一样,虽然获得了很多人的支持,但是也收到了很多人的吐槽。在 Costuary
中依然设计了一个的捐助按钮,如果大家使用之后喜欢这个应用,请支持我将他维护下去。

尾巴

Costuary for
iPhone是我开发出来过最大的软件体系。我相信,能够独立开发出来产品的人懂得不只是编程。一个人要去经历项目的全部生命周期:规划,设计,开发,运营,维护,营销,这些是我开发这么多产品所学会的。

现在的 Costuary 只是第一个版本,还有很多 iPhone 的特性没有来得及开发,以后会跟上的,比如iPhone X的适配,3D Touch,
Today Widget,Touch ID等等。

以前在少数派撰稿的时候,很多读者会来问我如何学习开发,我也特地去写过如何去学习编程,但我相信,真正想去学习的,想去为这个生态贡献出自己的一份力的人,自己都会找到学习的方法。我的专业是电子电器而不是软件工程,但是我不后悔当年去学习编程。

最后,还是感谢在背后默默支持我的人,我会不断地改进与提升,如果 Costuary 真的在记账方面给予了你便利,这是我莫大的荣幸。

Comments

July 21, 2018 at 10:52 am

There are no comments

keyboard_arrow_up