最近干了啥——网格记账App
几个月没更新博客了,为什么呢,大概两件事吧,一个是找工作,入职了美团,二是在做一个App,花费的时间也有点长。
首先,上主页,看看长啥样吧——阿烫的网格账本
为什么要做这个App
做网格计划,需要知道资金账户情况。一般可以使用Excel,但确有一些麻烦的地方,一是上班时候并不方便操作,二是格式并不太好定义,每次操作略麻烦,甚至是记错。
或者也可以单独开通一个证券账户来做网格,但一个人最多只能有三个证券账户的限制的。
于是便有了这个App,便于操作,方便查看数据。
还有一部分原因是闲得慌,找点事情做。
功能设计
- 新建/编辑网格
- 网格快速买入卖出
- 检查更新
- 实时获取基金净值
- 登录,同步数据
- 数据导出Excel
- 开放配色、自定义布局
- 对所有数据进行对称加密,秘钥数据只存储本地
开发过程
关于UI
UI 是我的第一大关卡,不怕写代码,就怕搞这种设计,因为我看的太少了,没经验。在墨刀上画了好几种,还有五颜六色的,各种配色各种布局实在是直男,巨丑无比,没得救了。
最后还是换成简单点的吧,配色全部白色,亏损绿色,盈利红色。布局都基本参考【且慢】和【有知有行】,你能在这两个App上看见一些影子。
关于开发
首先还是技术选型,对 flutter 比较感兴趣,因为是跨平台的,后端的话就还是 Kotlin + Vertx。
基本上 flutter 就是边学编写,组件边看边用,工程结构应该很糟糕。
关于 logo
这种创作型的工作,着实让我感到困难,这是第二道关卡。一是没什么好的点子,二是自己画图能力着实很差。为什么最后定成一只鱼呢?因为 网格交易 -> 网 -> 渔网 -> 鱼,多吃鱼肉吧!绘画是找人画的,自己画不来。
有了 logo 原图,要裁剪成 Android 和 IOS 平台所需的大小,有很多第三方工具,如 图标工厂。
关于名称
憋了很久没憋出来,后来想到了【阿烫的网格账本】,安装后发现太长了,手机上显示不完,直接省略号了。那就短点吧 【网格账本】,挺好的。
关于上架
大四在百度应用商城上架【我想学】时,比较简单,没有要求一些烦人的文件。
而现在的商城上架App好像基本都要企业资质,软件著作权之类,着实麻烦。
而苹果上架首先要有开发者账号,门票 $99/年,就硬抢呗…
因此要暂缓一下上架了,看看后期有无上架需求。
关于首页
由于App上架都需要官网首页,又不可能真的自己来写吧,于是网上逛了一圈,发现了一个网站可以制作模板 launchaco.com,而自定义域名需要充会员,,,直接wget拉下来放到自己服务器上结束。只能防小白,防不到稍微懂一点的人…
关于基金价格
基金价格和名称一开始都是使用的阿里云市场上的第三方付费服务,一是价格贵,二发现部分基金无法获取到实时价格,所以切换数据源为天天基金。
复盘
- 一开始功能差不多都确定好了,一直到开发结束,也几乎没大的变更,这是一个好的地方。我在大四开发【我想学】App的时候,功能在一开始没完全确定,不停地改,数据模型也经常发生变更,改起来着实是个大工程。。。
- 但这次 UI 一开始没设计好,做了两版。第一版的 UI,都是基于弹窗,新增编辑网格品种都是使用弹窗,新增编辑交易也都是基于弹窗,还有删除等等也都是弹窗。一开始的为什么想这样做呢,因为觉得这样交互最简单,不用跳到跳去,用户使用更方便,开发也可能更方便。实际上,当我开发完成后,才发现并不是那回事,首先,修改交易有六个输入框,都放在弹窗中过于拥挤,过于丑陋,甚至可能会叠两层弹窗,且弹窗的开发并没有想象中的那么简单,还比页面稍微复杂一些。于是大部分的弹窗又全部改成了新页面,浪费了很多时间精力。
- 缺乏 flutter 工程经验。由于是初次学习使用,并不清楚一个真正的 flutter 应用的代码结构,层级是什么样的,也不清楚 dart 的编程规范是什么样的,还是使用的 Java 规范,代码复用度似乎也不够,实际代码可能有点糟糕。
- 以前使用 Vertx,并没有开发过接口之类的,这次使用了 Vertx 的服务代理,,也遇到了一些问题,对 Vertx 的理解应该更深了。
- 对App的上架流程并不了解。
- 如果是个人开发者,可能更适合做工具型APP,更有市场,小而美。