隨着移動互聯網的發展, 基於互聯網的應用正變得愈來愈普及,在這個過程當中,更多的平臺將自身的資源開放給開發者來調用。對外提供的API 調用使得平臺之間的內容關聯性更強,同時這些開放的平臺也爲用戶、開發者和中小網站帶來了更大的價值。數據庫
那麼API到底是何方神聖?首先咱們在百度百科查詢到的解釋是:API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。編程
聽起來在理解上仍是有些困惑,如何通俗理解什麼是API?當咱們在智能移動端使用應用程序時,應用程序經過網絡將數據發送到服務器,而後服務器會檢索分析數據,執行特定的操做並將其從新發送回你的手機。最後應用程序解析完這些數據,並以「可讀的方式」向你提供所需的信息,要完成這一系列過程,API就是關鍵。安全
咱們能夠再舉一個你們熟悉的例子來進一步解釋API。想象這樣一個場景,當你來到一家餐館,拿起菜單進行點餐時,首先看到的時菜單上羅列的衆多菜品信息,廚房將是你點餐「系統」的一部分,但其中的關鍵環節是如何將點菜的信息傳達至廚房,並將食物送到餐桌上,這個時候服務員就起到做用了,服務員就是一個信使(API),他接收你的點菜信息,並告訴廚房(系統)該作什麼,在這種狀況下, 服務員以「食物」做爲信息反饋。服務器
爲了進一步加深你們對API的理解,咱們再列一個實際的API示例,在線搜索航班的過程就像在餐館點餐同樣,其中也有不少種選擇,包括城市,往返航班時間等。假設你正在預訂航空公司網站上的航班,你能夠選擇往返出發的城市和時間、客艙等級以及其餘服務。爲了準確預訂航班,你能夠預覽查詢航空公司網站,訪問他們的數據庫,看一看在你出發的時間是否有空位,以及航行費用等信息。網絡
不過,若是你不想用使用航空公司的網站,還有沒有其餘能夠直接訪問航空信息的渠道呢?那麼好比像Kayak、Expedia等在線旅行服務平臺就成爲獲取航班信息的另外一種渠道,由於這些平臺整合了來自多個航空公司數據庫的信息,你想要獲取的信息將會更加全面,這其中的邏輯又是怎樣的呢?函數
其實在上面的示例中,旅遊服務平臺與航空公司網站的API是相聯繫的。API就是一個接口,與餐館的服務員做用同樣,另外,在線旅遊服務平臺能夠要求從航空公司網站的數據庫中調取航班信息,以便用戶預訂座位、行李選項等。API在獲取航空公司網站對用戶請求的反饋以後,就會將相關信息發送回在線旅遊服務平臺,最終在線旅遊服務平臺上顯示的信息就是用戶所須要的最新航班信息。性能
不只如此,API還提供了一層安全性。咱們在使用手機的過程當中,手機的數據在沒有受權的狀況下,是不會暴露給其餘服務器的,一樣道理,服務器也歷來不會輕易將數據提供給你的手機。相反,每一個系統都只與小的數據包相聯繫,而且只共享必要的數據——好比咱們在線訂購外賣,咱們首先會告訴店家想吃什麼,他們也會告訴咱們用什麼做爲回報,完成這些,才能獲得想要的外賣。測試
當前,API的價值已經愈來愈重要,除了像谷歌、eBay、Salesforce.com、Amazon及Expedia這樣的大公司是少數經過API賺錢。絕大多數公司的大部分業務收入來源於API,因此也就有了「API經濟」,其中指的就是API市場。網站
很不過多年以來,「API」一般描述的是應用程序的任何類型的通用鏈接接口。然而,隨着技術的發展和市場的需求增大,現代API具備的一些特性,使其價值和實用性變得愈來愈高:設計
•現代API遵循標準(一般是HTTP和REST),這些標準對開發人員友好,易於訪問和普遍理解;
•API被視爲產品而不是代碼。它們是爲特定的受衆(例如,移動開發人員)而設計的,它們被記錄下來,而且以用戶能夠對其維護和生命週期有特按期望的方式進行版本控制;
•由於它們更加標準化,因此在安全性和管理方面有更強的規範性,並對性能和規模進行監視和管理;
•與其餘任何產品化軟件同樣,現代API具備本身的軟件開發生命週期(SDLC),包括設計、測試、構建、管理和版本控制。此外,現代API的使用和版本控制都有很好的文檔。
當前,愈來愈多的企業會選擇利用 API,將公司生態系統中的優質合做夥伴匯聚在一塊兒,並從新挖掘隱藏在背後的巨大經濟價值,因此,「API經濟」也已經成爲各大企業數字化發展的必經之路,IDC曾在2018年的報告當中將API經濟做爲全球第二的技術趨勢,顯示在接下來的三年裏,亞太地區(不含日本)45% 的組織將會採用核心雲API戰略,所以,以API爲核心驅動的新經濟亟待爆發。