「看华新」0.1.0版本小记

华新是一个在新加坡挺常用的华人论坛,最早是上大学的时候看同学经常用才知道的,之后有偶尔的上去看看帖子。 最近在用的过程中我有一个问题,iOS App做的太不与时俱进了,比如适配的UI还是iOS5/6时代的,一些UI也很old school。
作为一名合格的iOS开发,我一时手痒,决定重新写一个好用的简洁的iOS客户端。

首先是要先把Mobile端需要用的所有的API crawl下来,这里我用了华新的官方客户端(致谢,站在前人的肩膀上)和charles来sniff 所有的network calls然后列下来。

但华新的API其实不是特别的developer friendly,因为只是一些php code 返回一些xml而不是常用的json之类, anyway用一些xml parser就可以了。 刚开始我只是想做一款能看帖就可以的app,然后板块切换放在navigation title那里用一个dropdown来快速切换,这一部分很快就完成了,满足了我的基本需求。

于是我在论坛里发帖寻求一些testing和feedback, 最主要的feedback还是需要有登录和发帖这些功能,因为并不是所有人像我一样只是看看帖子(一个论坛如果需要活跃度,我这种人越少越好)。所以我决定加入登录和发帖功能。

开发过程中遇到的第一个问题是user session的问题,有一点tricky 是因为华新后端其实没有一套client端适用的authentication体系比如auth 2.0等等,还是用的http cookie。所以只能像网页端那样做各种cookie和verification等等,这个坑花了些时间。

另外一个问题是发帖,因为一些String的encoding问题,发帖一直不能通过,最后是请教了官方客户端的开发同学才解决的,是因为一些中文GB2312编码问题。

还有就是用户之间发短消息的优化,华新的API 是把发/收短消息隔离开来的,而不是根据用户来划分的,所以目前的呈现方式都不能以conversation的形式展开来,非常不易用。于是我打乱重排,把所有的消息收下来后根据用户和时间戳重排,做成了iMessage的样式,更易于查看conversation,当然如果需要更好的消息体验,后端需要改整个的消息系统。

因为是社区App,所以需要各种agreement,这也是刚开始提交的时候苹果reject的几个坑之一。 最后在农历新年这一天终于过审,于是就这样上线了。

chenbo

编程爱好者

Singapore