移動App開發需要考慮的13個方面
這篇文章是面向剛進入移動app開發領域的新人。經過參與各種各樣的移動項目,我總結出一些要考慮的方面。當你設計或構建一個移動應用時候,需要把它們記在腦中。
移動app開發考慮的方面
認證層(Authentication Layer)
這應該是你開發鏈中的第一步。為了應對各種各樣的認證請求與inflight request,這一層應該有足夠可擴展性。需要留意認證令牌的刷新,令牌刷新失敗或類似情況時的錯誤處理。
自動編譯
要確保你為安卓和iOS建立了一個能自動編譯的安裝程序,並且有把他們分配給測試者的渠道。
舒適的移動體驗
如果因為一些原因,即使是沒有網路或者api停止工作了,也需要保證用戶能夠返回並從app退出。用戶應該總能夠點擊到導航欄,這樣還能夠進入緩存中的頁面,註銷,當網好的時候重新載入,或退出app等。一定避免用戶不得不強行終止app進程的情況。這是需要提前考慮的另一個設計特點。
數據封裝
當設計數據封裝時候一定要考慮API的存留時間(ttl),用默認的ttl,緩存層,採用多數據源傳送以標準表或者鍵值存儲的數據。
推出更新
如果app的數據頻繁改變,人們想要看到更新的消息,那麼這個特性會很有用。這對於那些展示實時事件更新的app很需要。
崩潰分析
把崩潰分析與app聯繫起來非常重要,這樣如果用戶的app崩潰了,我們就能知道原因並可以更快的在下個版本修復。許多工具都可以做到這些。
數據存儲
從app設計出發,這是需要考慮的最重要方面。有很多種在手機中存儲數據的方法。比如WebStorage(LocalStorage, SessionStorage) , InMemory, SQLite. Localstorage的大小是10MB,如果你的要存的數據比這個小,它是個好選擇。它的缺點之一是,當你的內存滿了以後,操作系統會清空Localstorage數據。SQLite是基於文件的資料庫,而且對於更大的文件更加穩定。它是嵌入式關係型資料庫,如果你想把大量數據存儲/緩存在客戶端,它會是你的好朋友。
導航堆棧
當需要在不同頁面間導航,並且有不止一種入口可以到達需要的頁面時,它就是app最重要特性之一。它同樣可以被分為不同的導航堆棧,比如:App導航,Tab導航,菜單導航等。要時刻考慮到各種情況,這樣用戶就不會陷入循環依賴 (死胡同)而需要強制停止app。
網路連接
開發者經常假定人們總是有良好的互聯網,按照這個邏輯設計app並把它推出。這也是當app不工作或不能持續下載數據時,大部分新手開發者受到打擊的一點,最終導致了app在apple/google商店的低評價。一旦app已經推出,修復這類問題就很不容易,需要大量的退化。所以設計app時,這是需要考慮的重要一點。
檢查平台
別忘了這個app是建立在哪種平台上的。保證所有的開發者/測試者都在機器上安裝了相關程序,並且把這些程序列入文檔,這樣任何新來的開發者都可以很快掌握。要清楚開發者和測試者要怎樣進行測試。
對於安卓,至少需要安裝Android Studio, Gradle.
對於iOS你需要創建簽名請求來生成證書,還有配置文件。(如果你事先不知道它至少花費一天,你會覺得這個過程很長。建議去找已經做過這一步的人,這一步就會縮減到15分鐘)。不管你用哪種架構,要進行iOS開發你都需要至少一個Mac和iPhone。
付費
如果你的app需要付費,需要遵照Google和蘋果付費規則文件。注意:你同樣需要建立一些後端,這樣當用戶為你的app付費時候就可以去處理收據,並且你需要在伺服器端保存這些單據。
本地特性
用列表列出app上需要本地設備支持的特性。例如:相機,狀態欄,定位服務,通知等。並檢查這些支持是否提供給了框架內所有內容。
推送服務
如果你的app需要推送服務,提前決定你要用哪家服務。檢查針對選擇的框架所用的插件是否有效。第一次用iOS測試這些時,為了讓設備接收推送,需要添加一個app證書。同樣也要決定你需要基於主題推送還是基於設備。
TAG:Cocoa開發者社區 |