最近干了啥——网格记账App

几个月没更新博客了,为什么呢,大概两件事吧,一个是找工作,入职了美团,二是在做一个App,花费的时间也有点长。

首先,上主页,看看长啥样吧——阿烫的网格账本

为什么要做这个App

做网格计划,需要知道资金账户情况。一般可以使用Excel,但确有一些麻烦的地方,一是上班时候并不方便操作,二是格式并不太好定义,每次操作略麻烦,甚至是记错。
或者也可以单独开通一个证券账户来做网格,但一个人最多只能有三个证券账户的限制的。

于是便有了这个App,便于操作,方便查看数据。

还有一部分原因是闲得慌,找点事情做。

功能设计

  • 新建/编辑网格
  • 网格快速买入卖出
  • 检查更新
  • 实时获取基金净值
  • 登录,同步数据
  • 数据导出Excel
  • 开放配色、自定义布局
  • 对所有数据进行对称加密,秘钥数据只存储本地

开发过程

关于UI

UI 是我的第一大关卡,不怕写代码,就怕搞这种设计,因为我看的太少了,没经验。在墨刀上画了好几种,还有五颜六色的,各种配色各种布局实在是直男,巨丑无比,没得救了。

最后还是换成简单点的吧,配色全部白色,亏损绿色,盈利红色。布局都基本参考【且慢】和【有知有行】,你能在这两个App上看见一些影子。

关于开发

首先还是技术选型,对 flutter 比较感兴趣,因为是跨平台的,后端的话就还是 Kotlin + Vertx。
基本上 flutter 就是边学编写,组件边看边用,工程结构应该很糟糕。

这种创作型的工作,着实让我感到困难,这是第二道关卡。一是没什么好的点子,二是自己画图能力着实很差。为什么最后定成一只鱼呢?因为 网格交易 -> 网 -> 渔网 -> 鱼,多吃鱼肉吧!绘画是找人画的,自己画不来。

有了 logo 原图,要裁剪成 Android 和 IOS 平台所需的大小,有很多第三方工具,如 图标工厂

关于名称

憋了很久没憋出来,后来想到了【阿烫的网格账本】,安装后发现太长了,手机上显示不完,直接省略号了。那就短点吧 【网格账本】,挺好的。

关于上架

大四在百度应用商城上架【我想学】时,比较简单,没有要求一些烦人的文件。

而现在的商城上架App好像基本都要企业资质,软件著作权之类,着实麻烦。

而苹果上架首先要有开发者账号,门票 $99/年,就硬抢呗…

因此要暂缓一下上架了,看看后期有无上架需求。

关于首页

由于App上架都需要官网首页,又不可能真的自己来写吧,于是网上逛了一圈,发现了一个网站可以制作模板 launchaco.com,而自定义域名需要充会员,,,直接wget拉下来放到自己服务器上结束。只能防小白,防不到稍微懂一点的人…

关于基金价格

基金价格和名称一开始都是使用的阿里云市场上的第三方付费服务,一是价格贵,二发现部分基金无法获取到实时价格,所以切换数据源为天天基金。

复盘

  1. 一开始功能差不多都确定好了,一直到开发结束,也几乎没大的变更,这是一个好的地方。我在大四开发【我想学】App的时候,功能在一开始没完全确定,不停地改,数据模型也经常发生变更,改起来着实是个大工程。。。
  2. 但这次 UI 一开始没设计好,做了两版。第一版的 UI,都是基于弹窗,新增编辑网格品种都是使用弹窗,新增编辑交易也都是基于弹窗,还有删除等等也都是弹窗。一开始的为什么想这样做呢,因为觉得这样交互最简单,不用跳到跳去,用户使用更方便,开发也可能更方便。实际上,当我开发完成后,才发现并不是那回事,首先,修改交易有六个输入框,都放在弹窗中过于拥挤,过于丑陋,甚至可能会叠两层弹窗,且弹窗的开发并没有想象中的那么简单,还比页面稍微复杂一些。于是大部分的弹窗又全部改成了新页面,浪费了很多时间精力。
  3. 缺乏 flutter 工程经验。由于是初次学习使用,并不清楚一个真正的 flutter 应用的代码结构,层级是什么样的,也不清楚 dart 的编程规范是什么样的,还是使用的 Java 规范,代码复用度似乎也不够,实际代码可能有点糟糕。
  4. 以前使用 Vertx,并没有开发过接口之类的,这次使用了 Vertx 的服务代理,,也遇到了一些问题,对 Vertx 的理解应该更深了。
  5. 对App的上架流程并不了解
  6. 如果是个人开发者,可能更适合做工具型APP,更有市场,小而美。