開發移動應用時,如何制定API?
01-04
比如我有一個圖書管理系統的web版,我想開發一個Android版。Android和伺服器進行互動式要制定API,請問該怎麼制定?謝謝!
1 確定基本項目:
命名規範(容易忽視的項目是版本號,漏掉會帶來升級維護的困難),是否需要保持狀態(建議不保持),
使用什麼做數據交換(建議 JSON ),是否需要使用 gzip https 等(建議使用),認證如何做等等。
(參考: google RESTful 風格 )2 確定客戶端和伺服器的交互方式:
是否需要分頁,是否需要 Lazy loading ,非同步提交等等。
(很重要,而且和需求緊密相關。技術人員一定要和產品人員溝通好。這些都可能影響你的 API 設計。)3 設計功能 API:
根據 1,2 ,你可以明確而且寫出每個畫面對應的所有 API。4 抽象和合併:
把這些 API 重新抽象,是否需要增加通用 API ?是否可以合併 API ? API 是否需要分層?有現有系統?那麼如何和現有 Web 服務連接?(很重要。可以有效降低風險,減少成本)5 排除負荷風險:
對於可以預測的高負荷 API /大運算量 API 做優化。(設計和技術兩方面。不要等到測出效率問題再考慮,那時候餘地就有限了。辦法很多,但是也很容易爆掉預算。事先做好預案和溝通總是沒錯的。)6 安排優先順序
項目管理的內容,不多說。7 編寫測試代碼:
編寫好所有的介面,然後準備測試代碼。(參考:google TDD 模式)建議 github 找一個真正的項目結合上面的內容看。粒度很重要
要考慮可擴展性、版本迭代、兼容等問題
推薦閱讀:
※唱吧已經成為一個「現象級產品」,但是它能持續嗎?能成為顛覆者嗎?
※窮遊行程助手和妙計旅行、玩美自由行有什麼區別?
※為什麼「發現」成了手機 APP 標配功能?
※做 iOS 平台 App 設計,如何能最快速度地在終端上預覽設計圖?
※下列應用中,哪個是iOS上最好的在線音樂APP?為什麼?