設(shè)計(jì)新人必備:5分鐘理解什么是API八酒!

如果作為新人的你有這樣的經(jīng)歷:在會(huì)議上聽到前后端的程序員們對(duì)著你給出的設(shè)計(jì)稿討論“這邊要加一個(gè)API”嫁怀、“那個(gè)頁面的API要改動(dòng)”奸绷,特別是他們說了一堆你不太懂的事情還反過來問你:你覺得要用什么方案梗夸?(WTF)又或者,那幫人最終討論的結(jié)果是某個(gè)“接口”沒法做号醉,導(dǎo)致你的設(shè)計(jì)稿得改改改反症,然而你一臉懵逼,并搞不清楚狀況扣癣。那么這篇文章有可能幫到你了解自己的處境(雖然說服那幫固執(zhí)的開發(fā)還得靠你自己)惰帽。

那么到底什么是程序員口中API ?父虑?该酗?

API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力士嚎,而又無需訪問源碼呜魄,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)奋蔚。

——度娘

你懂了么虫啥?如果你不是學(xué)程序的還說看懂了,我想你一定還沒有呂朋友……好像唯一能看出來的就是:API=接口

下面是我身邊那些老司機(jī)同事們的解釋:

“一個(gè)聯(lián)通前端和后端的通道疲恢,通常用字段來做暗語笨蚁,就叫API睹晒。”(by 某少女心的PM)

“API是括细,面向網(wǎng)頁伪很、手機(jī)APP等終端設(shè)備和應(yīng)用,提供和網(wǎng)站后臺(tái)進(jìn)行交互的入口奋单★笔裕”(by 某經(jīng)驗(yàn)豐富的后端大神)

“這是個(gè)哲學(xué)問題,API應(yīng)該是服務(wù)開發(fā)者和服務(wù)使用者之間制定的關(guān)于如何服務(wù)使用的約定览濒〈舾牵”(by 某段子手文藝前端男青年)

從老司機(jī)們的描述中,我們看到和API有關(guān)的總有兩個(gè)角色出現(xiàn):”前端-后端“贷笛、”網(wǎng)頁APP-網(wǎng)站后臺(tái)“应又、”開發(fā)者-服務(wù)使用者“;而API發(fā)揮的則是:”聯(lián)通xxx的通道“乏苦、”進(jìn)行交互的入口“株扛、”xxx的約定“等串聯(lián)那兩個(gè)角色的作用

似乎有一些眉目,但還是有點(diǎn)模糊席里。下面叔磷,我就從設(shè)(pu)計(jì)(tong)師(ren)的角度,用更形象的比喻來說明一下:

這是一個(gè)和物流有關(guān)的故事奖磁,首先我們?cè)O(shè)定兩個(gè)場所:一個(gè)叫倉庫改基,一個(gè)叫店鋪。倉庫是囤積所有貨物的地方咖为,庫中的貨物按照一定的規(guī)矩?cái)[放秕狰。而店鋪有很多,分散在各地躁染;店鋪總需要從倉庫調(diào)貨鸣哀,貨物運(yùn)達(dá)后會(huì)被按照能吸引顧客的方式陳列在貨架上。

那么問題來了:我們能想到吞彤,在店鋪陳列時(shí)幾乎不會(huì)與倉庫存貨的擺放一樣(不能理解的想想宜家)我衬。如果店員小哥貿(mào)然來到倉庫自己取貨必然會(huì)遇到很多困難(假設(shè)倉庫很龐大,小哥并不是倉庫管理員)饰恕。另外挠羔,若店鋪搞促銷要對(duì)幾種貨物組合打包(買洗發(fā)水送贈(zèng)品牙刷之類的),不管是在倉庫或店鋪進(jìn)行埋嵌,也必然會(huì)影響到它們的正常運(yùn)作破加。如何幫助店鋪更方便的從倉庫中調(diào)貨,又避免倉庫內(nèi)混亂不堪雹嗦?(請(qǐng)不要糾結(jié)”店鋪?zhàn)约翰皇菓?yīng)該有小倉庫嘛”這種事情范舀,請(qǐng)關(guān)注比喻本身…)

現(xiàn)在,我們?cè)谶@個(gè)調(diào)配貨物的過程中加入一個(gè)中轉(zhuǎn)環(huán)節(jié)了罪。店鋪告訴中轉(zhuǎn)站他們需要什么锭环,由中轉(zhuǎn)站專業(yè)調(diào)配分配打包,等待店鋪小哥前來取走捶惜。于是問題就這么愉快地解決了田藐。

在這個(gè)物流的故事中“貨物”就是數(shù)據(jù)荔烧,存放貨物的“總倉庫”可以看做數(shù)據(jù)庫吱七,而“店鋪”就可以看做我們的網(wǎng)站、App鹤竭。我們頁面上顯示的內(nèi)容踊餐、數(shù)字,以及用戶的操作請(qǐng)求和結(jié)果都可以看做是“貨物”——數(shù)據(jù)臀稚,會(huì)不停的經(jīng)歷這個(gè)運(yùn)輸過程吝岭。

貨物在倉庫“按規(guī)矩?cái)[放”可以看做數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu);在店鋪那頭,貨品的陳列”需要能夠吸引到客戶“窜管,就代表了我們?cè)?b>設(shè)計(jì)網(wǎng)站散劫、App的頁面信息時(shí)需要注重用戶體驗(yàn)一般。前端頁面的數(shù)據(jù)展示與后端數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)的不一幕帆,便是店鋪陳列與倉庫擺貨規(guī)則的不一获搏。我們的頁面需要的數(shù)據(jù),如果都直接去連搜索數(shù)據(jù)庫失乾,就會(huì)像故事中的店員去倉庫找貨物一樣沒效率常熙。此外,通常我們的產(chǎn)品是由很多流程組成的碱茁,其中充滿了判斷邏輯和計(jì)算裸卫,這就好比故事中店鋪的促銷活動(dòng)時(shí)需要”貨品再組合“。

如果把這些對(duì)數(shù)據(jù)的操作放在數(shù)據(jù)庫或者頁面上進(jìn)行則會(huì)降低他們的運(yùn)作效率(一般來說情愿放在前端也不放在數(shù)據(jù)庫纽竣,數(shù)據(jù)庫的運(yùn)作更加重要墓贿。而放在前端頁面來做這些事情,就是我們通常說的”寫死“)蜓氨。

我想大家都能猜到募壕,故事中的中轉(zhuǎn)站就是我們所說的API接口了。程序員們?cè)跔幊车挠镉鋵?shí)是如何定義這個(gè)API中的內(nèi)容舱馅。根據(jù)上面的故事,中轉(zhuǎn)站需要根據(jù)店鋪的要求預(yù)先調(diào)配好貨物刀荒,并且在必要的時(shí)候進(jìn)行分配打包代嗤。而這個(gè)調(diào)配分配打包的過程就是程序員爭論的——API中所要包含的字段、計(jì)算缠借、邏輯判斷干毅。作為設(shè)計(jì)師,你的設(shè)計(jì)的頁面泼返、流程都極大的影響甚至是決定了前后端這個(gè)”物流”的過程硝逢。而這個(gè)“物流”的過程就是前后端的交互邏輯(看到這里的“交互”二字,交互設(shè)計(jì)師們你們有什么感想~)绅喉。

另外渠鸽,我們稱網(wǎng)頁、APP為前端(APP稱為客戶端)柴罐,簡單來說他們都是運(yùn)行在用戶的終端上的(手機(jī)徽缚,或自己電腦的瀏覽器里)。而數(shù)據(jù)庫和API我們都稱他們?yōu)榉?wù)端革屠、后端凿试,簡單來說排宰,因?yàn)樗麄冞h(yuǎn)隔萬里運(yùn)行在世界另一邊的高級(jí)電腦里(即服務(wù)器)~

有沒有稍微理解了一些呢?

上面的故事只是為了幫助大家更具象的理解API的大致原理那婉,入個(gè)門板甘。而實(shí)際情況下,前后端的運(yùn)行邏輯會(huì)更加復(fù)雜(比如故事中倉庫到店鋪是單向流通详炬,而真實(shí)的程序中則是雙向的)虾啦,更詳細(xì)的就需要大家回到實(shí)戰(zhàn)環(huán)境自己體會(huì)啦。

好了痕寓,今天就到這里~~

本文作者朱彥劼(點(diǎn)融黑幫)傲醉,目前就職于點(diǎn)融網(wǎng)DDC。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呻率,一起剝皮案震驚了整個(gè)濱河市硬毕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌礼仗,老刑警劉巖吐咳,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異元践,居然都是意外死亡韭脊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門单旁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沪羔,“玉大人,你說我怎么就攤上這事象浑∧枋危” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵愉豺,是天一觀的道長篓吁。 經(jīng)常有香客問我,道長蚪拦,這世上最難降的妖魔是什么杖剪? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮驰贷,結(jié)果婚禮上盛嘿,老公的妹妹穿的比我還像新娘。我一直安慰自己饱苟,他們只是感情好孩擂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布狼渊。 她就那樣靜靜地躺著箱熬,像睡著了一般类垦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上城须,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天蚤认,我揣著相機(jī)與錄音,去河邊找鬼糕伐。 笑死砰琢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的良瞧。 我是一名探鬼主播陪汽,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼褥蚯!你這毒婦竟也來了挚冤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤赞庶,失蹤者是張志新(化名)和其女友劉穎训挡,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體歧强,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡澜薄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摊册。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肤京。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖茅特,靈堂內(nèi)的尸體忽然破棺而出蟆沫,到底是詐尸還是另有隱情,我是刑警寧澤温治,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布饭庞,位于F島的核電站,受9級(jí)特大地震影響熬荆,放射性物質(zhì)發(fā)生泄漏舟山。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一卤恳、第九天 我趴在偏房一處隱蔽的房頂上張望累盗。 院中可真熱鬧,春花似錦突琳、人聲如沸若债。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蠢琳。三九已至啊终,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間傲须,已是汗流浹背蓝牲。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泰讽,地道東北人例衍。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像已卸,于是被迫代替她去往敵國和親佛玄。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容