做獨立開發我最喜歡的就是你可以有很大自由度按自己的設想去實現功能,而在公司更多的是實現別人交給你的任務。
一款應用,主要包含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特多,到現在發文還有一些沒修,整個調試溝通過程拖的很緩慢。
以后有空還會做一些有趣的應用。
上一篇 我獨立開發的一款應用-起源