色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是API,不同場景中的API

電子工程師 ? 來源:Astroys ? 作者:Astroys ? 2022-08-10 11:20 ? 次閱讀

API(Application Programming Interface)有點類似于肯德基汽車穿梭窗口。但在代碼中,它們接受輸入并提供可預測的輸出。

在其核心,API是一組接受輸入并給出輸出的代碼

大多數現代應用程序(如Excel)都是一堆API組成的

有時,公司會公開他們的部分API,比如Twitter或谷歌地圖

API是軟件中比較令人困惑的概念之一,因為它們可以代表很多不同的東西

API為大多數現代軟件開發(fā)提供了強大的功能,且是可以聰明地討論代碼的關鍵部分。

什么是API(理論上)?

如果你想理解API,需要進行一個重要的區(qū)分:一個是API的技術定義,然后是人們在對話中如何實際使用這個概念。它們非常不同,這就是為什么這些東西會讓人很困惑。讓我們先來解決技術定義。

6cbbec46-17df-11ed-ba43-dac502259ad0.jpg

API是一組接受特定輸入并給出特定輸出的邏輯。幾個例子:

如果向谷歌地圖API提供一個地址作為輸入,它的輸出是該地址的經緯度坐標

如果給Javascript Array.Sort API一個數組作為輸入,它將這些數字作為輸出進行排序

如果你給Lyft Driver API一個起始地址和結束地址作為輸入,它會找到最匹配的司機作為輸出

工程師構建代碼模塊來做特定的事情時,他們清楚地定義了這些模塊的輸入和輸出:這就是API的真正含義。當你給一個API一堆輸入來獲得你想要的輸出時,它被稱為調用API。 輸入 API通常會確切地告訴你它需要什么樣的輸入。如果你嘗試用你的名字作為谷歌地圖API的輸入,那不會有什么效果;它被設計用來完成一個非常特定的任務(將地址轉換為坐標),因此它只處理非常特定類型的數據。有些API在輸入方面非常麻煩,并可能要求你以特定的方式格式化該地址。 輸出 就像輸入一樣,API給你特定的輸出。假設你為谷歌地圖API提供了正確的輸入(一個地址),它將始終以完全相同的格式給你回饋坐標。還有非常具體的錯誤處理:如果API不能找到你輸入的地址的坐標,它會告訴你確切的原因。 這些都是技術和理論上的東西。 那些應用只是API的集合 關于現代軟件,最值得理解的一點是,你最喜歡的那些應用只是一堆API,上面有一個漂亮的界面,稱為前端。你使用的大多數應用都是建立在這種前端/后端范例之上的。 后端 公司從為用戶在應用中需要做的所有重要事情構建API開始。對于Gmail,Google從接收、顯示、發(fā)送和轉發(fā)郵件的API開始;但這些都是通過代碼調用的。這些API以及使用它們的時間和方式的邏輯是應用的后端。就像汽車引擎蓋下正在發(fā)生的事。如果你聽說過后端工程師,那就是主要處理這些內部組件的開發(fā)者前端 所有這些后端API只能通過代碼來使用,這并不是你想在iPhone上查看電子郵件時遇到的情況。這就是為什么公司要為他們的應用創(chuàng)建前端:圖形用戶界面使應用美觀且可用,而不需要編寫代碼。下面是Gmail中的工作方式:

你的收件箱顯示一排排的電子郵件和主題行:前端將這些后端的電子郵件數據進行了很好的格式化處理

你可以點擊星形圖標來標記一封郵件:在后端,這將觸發(fā)一個“標記郵件”的API

前端的大多數交互都被轉換成后端的API調用,這就是應用軟件101。一旦我開始理解這個模型,就更容易理解開發(fā)者如何在對話中實際使用“API”的方式了。

6cdeb3b6-17df-11ed-ba43-dac502259ad0.jpg

什么是API(實際上)?

實際上,我發(fā)現人們在三種不同的場景中使用“API”,它們都代表著不同的東西。但從理論上講,它們都是一樣的,符合我們之前的定義。它們都是一樣的,但又有所不同。

公司內部API

當公司構建他們的應用時,他們把它們設計成一組交互的API。最容易理解的例子是Lyft(或者Uber)。你可能想在Lyft應用中做一些事情,它們在幕后都會觸發(fā)不同的API。

6cfcd288-17df-11ed-ba43-dac502259ad0.jpg

這種模式幾乎適用于你使用的所有應用:你在應用中采取的操作將觸發(fā)公司內部API,這些API實際上完成了讓你的請求得到滿足的工作。公司內部API也是分層的:雖然可能有一個廣泛的“預約乘車”API,但在這個“引擎蓋”下有一堆較小的API來完成它:查找司機、預約司機、驗證信用卡、與用戶溝通等。

公共API

Lyft的API都不是公開的:它們只是Lyft在后端為你提供服務的方式。但有時,公司會提供一些他們的API,并告訴你如何使用它們。Twitter的API就是一個很好的例子。

通常,你使用Twitter應用,它會對Twitter內部API進行一些API調用,比如顯示提要、發(fā)送回復和搜索(這就是我們剛剛談到的:前端和后端)。但你也可以在Twitter應用之外通過代碼調用這些API。例如,有一個抓取用戶時間軸的API,你可以使用它來查看用戶的時間軸(他們的推文),該API以JSON格式返回那些推文,這是一種特殊的文本格式。

這些公共API讓人們在Twitter上構建應用。有一些非常基本的東西,比如筆者做的這個學校項目,收集關于紐約大學的推文,分析他們的情緒,但也有一些相當高級的東西,比如Flock,它可以讓你搜索你的訂閱者。

代碼接口

我們剛剛看到的前兩類API都是功能性的,它們通常完成一些實用且容易理解的事情,比如提供坐標或預訂乘車。但是開發(fā)者也使用“API”來指代更底層級別的輸入和輸出,比如代碼中的函數。

Javascript的array.sort()方法就是一個很好的例子。它是一個接受數字或字母列表作為輸入的API,然后對它們進行排序,并將它們作為輸出返回給你。還有其他與數組相關的API,比如添加(array.push)和移除(array.pop)東西,過濾(array.filter),以及獲取數組的大小(array.length)。當你用Javascript的時候,你會用到這些。

因此,當人們談論API時,我們并不總是清楚人們到底在談論什么,特別是因為開發(fā)者用這個詞指代很多不同的東西。如果你感到困惑,就直接問。答案很可能屬于這三類。

6d1ef782-17df-11ed-ba43-dac502259ad0.jpg

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1531

    瀏覽量

    62804

原文標題:API到底指的是什么?

文章出處:【微信號:Astroys,微信公眾號:Astroys】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    OpenHarmony 應用開發(fā)SDK、API 與基礎工具

    。C API 也包含在鴻蒙SDK ,方便開發(fā)者使用 C 或者 C++語言實現應用相應功能。 C API 只覆蓋了部分鴻蒙基礎底層能力,如 libc,圖形庫,窗口系統(tǒng),多媒體,壓縮庫等,并沒有完全提供
    發(fā)表于 09-19 15:45

    vc++ api函數 (Windows API大全)

    Windows API大全,本書主要介紹VC++里API函數及其用法-WindowsAPI Daquan, the book introduces VC Lane API function
    發(fā)表于 10-14 11:45 ?32次下載

    JDBCTM 2.0 API

    The JDBCTM API is the JavaTM standard call-level API for database access. This documentcontains the final specification of the JDBC 2.0
    發(fā)表于 10-14 17:42 ?6次下載

    使用Java API技巧分析

    本文介紹了一些關于Java API安全和性能方面的簡單易用的技巧,其中包括保證API Key安全和開發(fā)Web Service方面在框架方面選擇的一些建議。 程序員都喜歡使用API!例
    發(fā)表于 09-27 14:09 ?3次下載

    使用英特爾QuickAssist技術API

    概述使用英特爾?QuickAssist技術包含的API
    的頭像 發(fā)表于 10-30 06:36 ?3271次閱讀

    REST API是什么,如何使用REST端口

    REST API。知行之橋API端口主要支持對象就是REST API。 什么是REST API? 首先,REST是一種架構風格。REST
    的頭像 發(fā)表于 02-17 18:00 ?9541次閱讀
    REST <b class='flag-5'>API</b>是什么,如何使用REST端口

    Compose的動畫API概覽及使用方法

    我們將通過本文介紹 Compose 的一些動畫 API,并探討如何有效地使用它們。Compose 的動畫 API 是我們構想的全新 API
    的頭像 發(fā)表于 06-06 17:48 ?2461次閱讀

    如何通過ApiFox來構建API場景測試

    在開發(fā)前后臺分離項目并且通過不同團隊來實現的時候,如何將后臺設計的 API 準確的傳達到前臺,是一個非常重要的工作。為了簡化這個過程,開源社區(qū)做了很多努力,比如 protobuf技術,swagger
    的頭像 發(fā)表于 09-01 10:48 ?1729次閱讀

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    API+ | 以API-First理論為基礎,以API為核心構建數字化生態(tài) 摘要:華為云API Arts是API全生命周期一體化協(xié)作平臺,支
    的頭像 發(fā)表于 02-17 19:05 ?1212次閱讀

    API+DevOps:華為云API Arts一體化平臺,端到端呵護您的API

    華為云API Arts是API全生命周期一體化協(xié)作平臺,支持開發(fā)者一站式高效實現API設計、API開發(fā)、API測試、
    的頭像 發(fā)表于 03-01 15:45 ?878次閱讀
    <b class='flag-5'>API</b>+DevOps:華為云<b class='flag-5'>API</b> Arts一體化平臺,端到端呵護您的<b class='flag-5'>API</b>

    為什么需要 API 網關?

    API 網關是 API 全生命周期管理的關鍵基礎組件,負責生產環(huán)境 API 的配置、發(fā)布、版本回滾、安全、負載均衡等。API 網關是所有終
    的頭像 發(fā)表于 05-04 17:47 ?887次閱讀
    為什么需要 <b class='flag-5'>API</b> 網關?

    企業(yè)怎么選擇API網關

    ? 一、API網關的用處 API網關我的分析中會用到以下三種場景。 1、Open API 企業(yè)需要將自身數據、能力等作為開發(fā)平臺向外開放,通常會以rest的方式向外提供。最好的例子就是
    的頭像 發(fā)表于 05-23 11:05 ?743次閱讀
    企業(yè)怎么選擇<b class='flag-5'>API</b>網關

    api接口怎么使用

    本文就從API接口的維度,淺析API的概念以及為什么要了解它 一、API的概念 API,官方定義為應用程序編程接口。就是把是一些預先定義的接口,用來提供應用程序與開發(fā)人員基于某軟件或硬
    的頭像 發(fā)表于 05-24 14:44 ?1550次閱讀

    api網關 kong 教程入門

    統(tǒng)一權限控制、接口請求訪問日志統(tǒng)計 安全,是保護內部服務而設計的一道屏障 開源-最大好處 當然也有一個很大的缺點,api-gw很可能成為性能瓶頸,因為所有的請求都經過這里,可以通過橫向擴展和限流解決這個問題。 在眾多API GATEWAY框架
    的頭像 發(fā)表于 11-10 11:39 ?948次閱讀
    <b class='flag-5'>api</b>網關 kong 教程入門

    API :軟件程序間溝通的橋梁

    或許我們不清楚API是什么,但在現實生活API的應用場景卻遠遠超出了我們的想象。舉個例子來說,當我們想要搜索某個IP地址時,通常是利用API
    的頭像 發(fā)表于 08-27 15:54 ?356次閱讀
    主站蜘蛛池模板: 主播蜜汁丝袜精品自拍 | 97国产精品人妻无码免费 | 日本妈妈在线观看中文字幕 | 最近的2019中文字幕国语完整版 | 好湿好紧水多AAAAA片秀人网 | 在线免费观看国产精品 | 蜜芽资源高清在线观看 | 色噜噜视频影院 | 麻豆狠色伊人亚洲综合网站 | 99re8久久热在线视频 | 多男同时插一个女人8p | 边摸边吃奶边做激情叫床视 | 两个人的视频日本在线观看完整 | 国产成人精品永久免费视频 | 国产在线观看网址你懂得 | 2017最新伦理伦理片67 | 国产乱人伦AV麻豆网 | 羞羞一区二区三区四区片 | 纯肉高H啪短文合集 | 亚洲中文无码亚洲人在线观看- | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 亚洲免费一区 | 一二三四在线观看高清电视剧 | 国产精品乱码色情一区二区视频 | 99久久久久精品国产免费麻豆 | 夜色55夜色66亚洲精品网站 | 国产成人在线视频 | 中文无码热在线视频 | 女人操男人 | 国产色婷婷精品人妻蜜桃成熟 | 亚洲AV國產国产久青草 | 色综合伊人色综合网站下载 | 97在线视频网站 | 国产传媒18精品免费观看 | 国产人成无码视频在线观看 | 24小时日本在线观看片 | 99热久久久无码国产精品性麻豆 | 免费的黄直播 | xxnx18日本| 精品亚洲大全 | 野草观看免费高清视频 |