當前位置: 首頁 > 設(shè)計知識 > 企業(yè)官網(wǎng)設(shè)計 > 什么是API?如何做到API兼容以及評估API?
API的全稱是application programming interface。
而很多時候,程序開發(fā)者僅僅把函數(shù)、類的接口做為API的一部分,而忽略了其他重要的編程接口。
事實上,在前端Javscript編程中常見的API包括:
越往后的API,越隱晦,越不容易受到重視,但是一旦這些API發(fā)生變化,可能會導致調(diào)用方出現(xiàn)不符合預(yù)期甚至程序直接報錯的情況。
API是程序協(xié)同開發(fā)的重要保證,API的用戶希望API的提供方提供的是一段功能明確、接口明了的程序。更重要的是,用戶更期望在程序升級以后,他們能夠“不經(jīng)思考”地升級這些第三方代碼。
一旦上述提到的5個API中的任何一個發(fā)生變化,可能會給他們帶來巨大的代價,用戶需要排查所有調(diào)用的代碼,需要更改一些協(xié)議,需要調(diào)整所有與之相關(guān)的部分,這些工作對他們來說都是額外的,在預(yù)期之外的。如果辛辛苦苦完成這些以后,還在測試過程中發(fā)現(xiàn)了相關(guān)的bug,那對用戶的打擊就更大了。
如果API經(jīng)常發(fā)生變化,用戶就會失去對這段程序的信任,他們會更傾向自己獲得源代碼以后,按照自己的需求進行修改,自行維護一個內(nèi)部的API比調(diào)用一個不斷發(fā)生變化的外部API要容易接受的多,雖然這樣做和我們協(xié)同開發(fā)、模塊化開發(fā)的初衷是完全相悖的。
最后,我們?yōu)槭裁匆薷腁PI呢?為了API看起來更加漂亮?為了提供更多有趣的功能?還是僅僅我們覺得到了改變了時候了?對于用戶來說,他們更愿意使用一個穩(wěn)定但是看起來不那么時髦的API,而不是使用一個很時髦,但是會經(jīng)常變動的API。在這個問題上,項目開發(fā)者是實用派。但這并不意味著我們不再改進API了,在后面,我會具體介紹如何能讓API保持穩(wěn)定的同時,讓API持續(xù)改進。
在正式說兼容性之前,首先要明確一下,什么是好的API,因為導致API的不兼容的根源總是來自一個想法:“期望通過這次改變把API變得更好”。
容易理解
如果一個API不能讓大多數(shù)使用者快速學會,這一定不是一個好的API。 比如iOS的滑動解鎖,老人和小孩都能都能一次解鎖,而Nokia的經(jīng)典兩鍵解鎖,你懂的。
一致性
一致性能大大降低用戶的學習和使用成本,用戶過去的努力學習,能持續(xù)的收效。
容易查找和學習
API必須要有文檔,并且介紹清晰,提供盡可能多的示例和可copy-paste的代碼,降低用戶的使用門檻。
提供簡單的方案
API要能解決復雜的問題,提供很多可配置項,但是對于那些最常見的case,如果有一個簡單的方案供給用戶使用,這樣能大大提高API的可用性
保護用戶在API上的已有工作
用戶過去在調(diào)用API、基于API開發(fā)所做的工作,這樣才能給用戶帶來價值的同時,不破壞他們過去的勞動成果。
在設(shè)計過程中,如果能按照下面的方式來進行設(shè)計,會讓這個API生命更長久
除此之外,下面還列出了一些具體的設(shè)計方法:
API設(shè)計完成以后,需要經(jīng)過周密的設(shè)計評審,評審的重點如下:
每一個API都是有生命周期的,我們需要讓API的生命周期更長,并且在API的生命周期結(jié)束時能讓其平滑的消亡。
過去我們總希望能將現(xiàn)有的“不合理”的設(shè)計完全推翻,然后按照現(xiàn)在“美好”的思路,重新設(shè)計這個API,但是在一段時間以后,又會碰到一樣的狀況,需要再推翻一次。 如果我們沒有有效的逐步改善的辦法,依靠推翻現(xiàn)有設(shè)計,重新設(shè)計API只能讓我們回到起點,然后重現(xiàn)之前的過程。 要有一套行之有效的持續(xù)改善的辦法來在API兼容的同時,改善API使之更好。
API需要是可測試的,測試不應(yīng)依賴實現(xiàn),測試充分的API,尤其是經(jīng)過了嚴格的“兼容性整合測試”(見下文)的API,更能保證在升級的過程中不出現(xiàn)兼容性問題。
兼容性整合測試,是指一組測試用例集合,這組測試用例會站在使用者的立場上使用API。在API升級以后,再檢測這組測試用例是否能完全符合預(yù)期的通過測試,盡可能的發(fā)現(xiàn)兼容性問題。
在設(shè)計API的時候,一定要避免任何極端的意見,尤其是以下幾點:
在一個API不可避免要消亡或者改變的時候,畫冊設(shè)計公司我們應(yīng)該接受并且面對這個事實,下面列舉了幾種保證兼容性的前提下,對API進行調(diào)整的辦法:
掃一掃關(guān)注古柏
GOOBAI AD.
Brand Whole Case Design
4000-882-993
m.theemployementguide.com
微信加好友咨詢
廣州古柏廣告策劃有限公司
地址:廣州市天河區(qū)東圃長盛商務(wù)大廈B213-215
Copyright?2004-2020 GOOBAI Inc.All rights reserved
粵公網(wǎng)安備: 44010602001481號
備案號:粵ICP備09222445號
與古柏對話
關(guān)注古柏