成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

移動應用API設計10大技巧

移動開發
移動App與基于Web/云服務發生對話是很常見的事情,最簡單的可能僅僅只是檢索數據,但也可能包含發送數據、用戶授權和管理。而這也就驗證了為移動應用建立API的重要性,為此,我們特總結了10大移動API設計技巧。

1. API版本控制

無論何時,開發者要想保證應用正常運轉,對API進行修改總是不可避免的,可能只是對某些功能執行添加、刪除或其他操作。當遇到這種情況時,你就不得不暫停API部分的使用,或者允許正在使用的應用對需要被返回的行為及響應類型有著明確的認知。

[[69599]]

API就如同你的應用后端與使用它的應用之間存在一個約定。沒有適當的版本控制,一方可以在另一方完全不知曉的情況下更改約定,那么,你將處于非常危險的 境地。對多個API版本提供支持,可以讓那些沒有及時升級應用的用戶繼續使用,而通過App的最新版,可以讓你了解到最新API的所有變化。

在一款移動App中,API版本控制的重要性顯而易見。如果沒有API的版本控制,那么在對API進行修改時很容易會造成App停止運行,由此而造成的后果,會讓你哭天搶地追悔莫及。

2. 返回數據,不要超出需要

在一定程度上,應用與服務器之間發送的數據量將會影響發出請求及其響應的時間。它所造成的影響不僅僅只是用戶緊盯加載頁面所花費的時間,還可能包括加載頁面所花費的流量。

3. 對發送及接收數據進行壓縮

除了上述不要返回數據超出需要之外,通過對發送及接收的數據進行壓縮,可以讓你在速度和數據傳送上事半功倍,體驗到更多的好處。

4. 堅決刪減多余的步驟/請求

為了提供單獨的離散步驟而進行API設計的情況很常見,但這是反映該服務是如何被使用的。因此在大多數情況下,這些離散步驟反而不是執行移動App最行之有效的方法。

讓我們來舉一個非常簡單的例子。當用戶在可以發送請求數據之前已經提供了有效的認證信息并登錄。這可能很是合情合理,我們可以將其理解為兩個單獨的步驟:

  • 提供的認證信息有效,API響應一個會話令牌。
  • 當數據請求發出時,該會話令牌通過。

但事實上執行此操作并不需要如此反復的過程。當一個單一的請求發出時,通過認證信息及其相關數據細節,數據及會話令牌在請求過程中同時被返回。

這樣做的好處是當用戶使用App時,響應速度更快,使用流量也更少。對于開發者而言,這可以讓應用代碼更為簡單,如此一來,既降低了開發成本,也可以減少維護費用,皆大歡喜,何樂而不為呢。

#p#

5. 合并請求及響應

除了作為身份驗證或應用啟動過程中所發出的多重請求,在應用程序的單頁或視圖中,為了對所有數據進行檢索,都有可能發出多重請求。為頁面需要的所有數據建 立一個單一請求,其速度要比多重請求快得多,并且成本也更低。而速度及成本也正是用戶在使用應用程序時首先考慮的兩大要素。

[[69600]]

再者,合并請求及響應也可以讓應用代碼更為簡單,尤其是關于處理多重請求發出卻沒有成功的情況。如果將所有請求進行合并,或化整為零,再多的異常情況也都變得非常簡單,容易處理。

6. 重中之重:安全性

安全性是一個潛藏著危機可能隨時會迸發的復雜問題,這也使得App對于安全問題及時做出響應難上加難。

因此,要時刻考慮以下內容:

  • 確保數據在傳輸過程中絕對安全;
  • 數據等待傳輸時安全;
  • 使用API不當或未經授權;
  • 潛在的惡意或意外數據所帶來的后果。

7. 認真計劃并執行你的緩存策略

如果你的應用API返回值不會經常性改變,那一定要實施適當的緩存策略。這可能會涉及到在內存中保存數據,而不是反復地從硬盤中讀取數據,此外,還會對HTTP部分的緩存性能產生影響。

  • 服務器端

如果你在服務器上進行緩存,那么,就要確保當遭遇宕機之時,你能有辦法強行停用服務。

  • 客戶端

除了服務器端,使用API的應用客戶端也要確保實施適當的緩存策略。如果你在使用最新返回的數據時請求調用,那么你可以節省一定的時間及資源。如果你在初始化時避免執行調用操作,則會節省更多的時間和資源。

8. 整合分析

分析是理解一個App如何使用的非常重要的組成部分。在App正常使用期間,對于調用而言,除了發出數據請求之外,做出一個分析服務是很常見的。例如,如 果應用嘗試調用服務來刷新頁面顯示數據,然后用戶導航到該頁面,那么就會在添加一個單獨的追蹤/分析到該導航時產生冗余。

在最原始時期,使用API可以對App的使用方法及時間起到一個指示性的作用。與之對比的是豐富的分析工具及框架,它們可以提供用戶與App交互的非常 詳盡的信息。如果目前的你是介于兩者之間,那么,就請認真思考如何進行整合分析,或者僅僅只是為了追蹤應用使用情況,而發出一個額外或者多余的調用。

9. 究竟如何命名?請認真思考!

命名反映了你賦予API的方法、對象、屬性及參數,這也會極大地影響到使用API的人的理解方式。當創建API時,無論用戶首先想到的是何種術語或用 語,就其本身而言,它就非常具有吸引力。就如同所有代碼一樣,你使用它的很大一部分原因在于API如何被理解及其被期望的表現。如果名稱起不好,就會讓人 非常困惑。困惑導致錯誤,錯誤導致bug,bug導致延遲及支持成本上升。因此,多花點時間在命名上吧!

10. 不要忘了你的隱私權保護政策及責任

如果你的應用需要捕獲到用戶數據或登陸到服務器并記錄請求,那么你就必須制定一個隱私權保護政策,來向用戶詳細介紹你是如何使用這些數據信息的。此外,你還必須思考如何存儲及保護這些數據,尤其是如果它是屬于個人信息,或者與兒童相關,更需要慎重。

責任編輯:徐川 來源: HTML5中國
相關推薦

2009-02-25 14:51:05

應用程序設計ASP.NET.NET

2014-09-06 19:05:33

移動應用分發

2018-04-18 07:21:29

2016-10-18 10:22:21

測試移動

2012-01-18 13:25:15

移動應用設計趨勢

2010-10-27 14:17:19

UI設計布局

2012-04-26 10:26:51

移動應用設計

2010-04-16 12:27:22

2019-08-23 11:31:41

WindowsWindows 10軟件

2011-11-29 16:07:36

移動Web開發框架移動開發

2018-08-06 09:00:56

2012-02-16 09:38:48

2016-10-19 00:54:19

移動·開發技術周刊

2013-07-23 16:33:27

Android視覺效果UI

2010-12-31 10:31:14

Flipboard社會化移動應用

2023-02-08 16:45:21

2017-04-24 23:22:23

2012-04-17 09:20:38

表單設計移動應用

2018-03-28 08:52:00

移動應用微服務監控多云

2020-02-10 09:00:21

UI手機開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品99久久 | 午夜国产一级 | 性高朝久久久久久久3小时 av一区二区三区四区 | 亚洲国产精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 小早川怜子xxxxaⅴ在线 | 国产精品午夜电影 | 久久国产欧美日韩精品 | 久久国产亚洲精品 | 国产97碰免费视频 | 精品国产欧美一区二区三区成人 | 国产激情网站 | 成年人视频在线免费观看 | 五月综合久久 | 奇米av| 三级视频国产 | 国产精品区二区三区日本 | 欧美精品一区二区在线观看 | 国产精品欧美一区二区三区不卡 | 国内精品久久久久久 | 紧缚调教一区二区三区视频 | 日韩在线中文字幕 | 国产一区免费 | 精品免费| 国产成人精品午夜 | 亚洲午夜精品视频 | 久久99精品久久久久蜜桃tv | 日韩欧美精品一区 | 一区二区三区精品 | 啪啪免费网 | 国产精品久久国产精品久久 | 成人久久久久 | 亚洲激情综合 | 日韩毛片在线视频 | 国产成在线观看免费视频 | 亚洲精品久 | 欧美三级在线 | 午夜影院在线观看 | 久热免费| 亚洲欧美日韩精品久久亚洲区 | 欧美a∨ |