做独立开发我最喜欢的就是你可以有很大自由度按自己的设想去实现功能,而在公司更多的是实现别人交给你的任务。
一款应用,主要包含3个方面 设计, 后台,移动端(android)。
设计
设计整体采用卡片式风格,深蓝主题色。设计工具主要是sketch,开始并不太熟,边学边用(另外“墨刀”做原型也不错)。我只在第一版的时候做过原型,后面因为不太需要向别人展示,所以基本没再做原型,稍微草绘一下,直接写代码运行在手机上看效果。icon很多是从materialdesignicons这个网站上拿的,一些简单的button,dialog就直接用sketch做,一些复杂的图标像logo还是请设计师做的,自己做的太难看。
整个设计是我最喜欢的过程,从无到有,一点点构想界面怎么组织,逻辑怎么走。在人人公交的首页有个“底部控制条”,当时是想能在全局显示和控制我正在“监控”的一条线路,偶然在听音乐的时候,发现这里的逻辑其实是一样的,音乐是在后台service播放的,即使你离开当前播放页面,还是要能知道当前的播放进度,也能操作播放或暂停。
还比如下面这个控件,能指示loading状态,也能显示刷新频率,很多现在用户量比较大的应用,这里做的都比较粗糙,它就直接在后台刷新,你要感觉到它是在刷新只能从显示的数字变化来判断。
Android
android是我最熟悉的,不过也没什么很特别之处。耗时计算都放在service,等车状态车辆位置计算,和上车状态分别是两条service。service 采用 handler + work thread 异步执行;service,clients,通知栏三者状态都是同步的,状态值封装在全局单实例中;service和clients(activity, fragment)间通信采用messenger+handler 通信。
后端
后端为了加快开发进度采用了leancloud,前面几版本用node.js开发,最后改成java,leancloud java 版我应该是第一批用户,里面的bug特多,到现在发文还有一些没修,整个调试沟通过程拖的很缓慢。
以后有空还会做一些有趣的应用。
上一篇 我独立开发的一款应用-起源