Hipo 2.0 Swift重写,限时免费!限时免费!限时免费!

Hipo 2.0.0

2015年10月16日Hipo 2.0.0正式上线App Store,似乎倏忽间就将这大半年的躁郁一扫而光。上线全新版本,限时免费限时免费限时免费(已经结束限免)^_^

Hipo 1.X

Hipo 1.X使用当时移动Js框架新秀ionic开发,虽说是phoneGap应用,但是做出来发现体验到也不差,使用Js开发移动应用,快速,成本低,门槛低,Hipo上线初就获得了App Store首页优秀App的推荐,这也直接决定了我走上了独立开发这条不归路-_-#

至今仍然喜欢AngularJs,ionic,仍然相信在App初期多数情况下使用Js开发是个很好的选择。

iOS原生开发学习

在变成果粉的同时,Apple推出了Swift语言,能够看得懂的语法,满足了我尝鲜的欲望,加之当时考虑实现Hipo数据云端保存,跨设备同步的功能,索性决定使用swift重写Hipo,于是:

  • 看国内翻译的swift语法文档
  • 继续看其他版本的swift语法资料
  • ……如此重复纠结……
  • 看完swift语法,发现对iOS开发还是一无所知,买了bitfountain出的iOS 8,swift视频教程,教程属于入门教程,然后用iPad看视频,电脑开着Xcode,Google联系,倒也跟得上,iOS原生开发逐渐入门。
  • 看完bitfountain视频,发现对着空屏幕还是无从下手,又发现iTunes出了斯坦福白胡子老头iOS swift教程,又开始进入左边iPad,右边电脑模式……
  • 一边看斯坦福教程,一边也用swift重写Hipo,至此算是具备了写iOS原生App的基础元知识。
  • YouTube上有不少高质量视频教程。
  • Apple iOS API官方文档是个好东西,先看别入门教程,代码阶段常开iOS API官方文档。
  • Xcode playground是个好东西,可以快速练习Swift,新手用它来验证下代码最好不过了。

学习期间,看了不少教程,回过头来发现美剧刷的更多-_-#

Hipo 2.0 UI重新设计

Hipo 1.X的问题是
- 将预算/统计以及其他入口放倒了右侧的滑动菜单中,"Out of Sight, Out of Mind",有限的几次使用中,根本不会用到这些地方, - 首页也似乎有点单调, - 对于历史数据的查看路径过长, - 最后iOS自带键盘输入金额太过麻烦。

因此Hipo 2.0.0:

  • 首页集合每月花销,预算/花费,新建类入口都在首页;
  • 数据按照月为单位,一月一屏,历史展示年的列表一页足以,相互很方便的切换。
  • 全新设计的记账表单页面,自定义数字键盘。

学习iOS开发过程中也会用纸币简单画画2.0的原型,也参考了学习了Google Design,具体UI,使用sKetch,配合sKetch Mirror,几番修改,快速搞定。

动效部分,因为进度问题只是脑子中过了下。

Hipo 2.0核心功能实现

Hipo数据方面,本地CoreData存储,使用增量同步策略。

  • 本地选择CoreData纯粹是因为不太喜欢sql的方式,而且想靠近点Apple官方推荐方式,以便后期能够不太费力的使用Apple提供的新东西。至于具体CoreData操作还是借助了MagicalRecord,在此推荐。
  • Hipo 1.x中数据存储在Sqlite中,为了迁移到CoreData,之前选了个Swift的Sql库,但是Swift升级到2之后,发现几个有名的Swift Sql库都没能第一时间升级到Swift 2,最后只得使用了OC语言的FMDB。
  • Swift 语法从1到2,本以为会很头疼,结果Xcode自动转换,一次成功!
  • 在数据网络存储,多设备同步的实现方案的选择中纠结了很久,初期的考虑使用类似LeanCloud的方式,但是后来发现似乎LeanCloud方案无法仅依靠客户端实现增量同步(可能是我没想到如何做),需要依赖云端代码,所需的技术栈略长。
  • 在开始代码不久,才惊喜发现Apple Cloudkit能够仅靠客户端实现增量同步,免费额度很高,用户无需登录注册,相对而言开发者更加不用关心数据安全等,决定转而使用Cloudkit实现Hipo增量同步,之后的Demo测试发现CloudKit似乎比外界认为的要好,在此占个坑,后续打算写写CloudKit的文章,安利安利CloudKit。
  • Hipo将用户数据存储到了用户自己iCloud账户下的私有数据库,用户将数据完全隔离,即使我也没办法看到用户记账数据。
  • 之前准备将同步做为2.0.0内购,后来听取建议,同步完全免费!同步完全免费!同步完全免费!

Hipo 2.0 UI布局测试

  • 因为有HTML,CSS相关基础,Hipo使用Storyboard布局,个别地方代码布局,虽说繁琐倒也轻车熟路。
  • UI只是参考一点Google Design,虽说挺喜欢它的东校,但是在iOS实现相对复杂只能作罢。
  • 因为进度问题,iPad布局基本还是按照iPhone思路,后续可以考虑优化iPad布局。
  • Hipo中引入了腾讯Bugly,Bug跟踪平台,自动上传符号表比较省事。希望能够尽可能减少Hipo bug。
  • 测试使用Apple TestFlight,每次上传到iTunes Connect想死。
  • 最后提交审核居然遇到Apple iTunes Connect bug,大半夜改半天plist配置才提交成功。
  • 周日提交周五审核通过~~

最后在此感谢LifeHacker群内各位大拿以及公司iOS大神的帮助🙏

Hipo 2.X TODO

  • 同步是个相对复杂的东西,得继续大力优化同步。
  • 可能会有Apple Watch版本
  • 可能会有iOS Widget
  • 可能会有Web版(hipo.cash域名都准备好了^_^)。
  • 很大可能会有家庭账本。

……

个人开发就像独行沙漠,间或的几点绿洲便足以让我继续前行。

Hipo AppStore qrcode

小刀

Read more posts by this author.

Subscribe to cc log

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!
comments powered by Disqus