偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

構(gòu)建和運(yùn)行前端 API 的七個關(guān)鍵注意事項

開發(fā) 前端
前端開發(fā)人員希望構(gòu)建出色的體驗,然而,他們需要來自后端的數(shù)據(jù)并對后端執(zhí)行操作。他們的問題的答案是 API。誰構(gòu)建了這些 API? 它們是快速構(gòu)建還是前端開發(fā)人員等待? 誰運(yùn)行和管理 API? 畢竟,后端的行為方式并不統(tǒng)一——它們說不同的語言,發(fā)出不同形狀的數(shù)據(jù),有不同的身份驗證要求等等。因此,運(yùn)行和管理前端 API 并非易事。

以下是你通過作為前端和后端之間的齒輪箱的 API 思考時的一些注意事項。

1. API 的形狀很重要

是否有一種 API 語言比 REST API 的“你從 JSON 響應(yīng)中得到什么”更靈活,并且比“隨心所欲”更適合作為 SQL 構(gòu)造?原來有GraphQL。對于前端開發(fā)人員來說,這太棒了。對于構(gòu)建 API 的人來說,這同樣很棒。為什么?因為它允許連接點(diǎn)、自動文檔和“需要時抽象;不需要時詳細(xì)。”我強(qiáng)烈建議將 GraphQL 實現(xiàn)為這些變速箱 API 的形狀。

2. 抽象后端很重要

從根本上說,前端應(yīng)用程序并不關(guān)心數(shù)據(jù)來自哪里,他們只想要數(shù)據(jù)。這意味著無論數(shù)據(jù)來自 REST 端點(diǎn)、SQL 數(shù)據(jù)庫、NoSQL 數(shù)據(jù)庫、GraphQL 后端,甚至是 WSDL/XML 后端,前端都不應(yīng)該關(guān)心。如果有兩個不同的后端將數(shù)據(jù)輸入一個通用類型,那就這樣吧,前端不應(yīng)該關(guān)心。

3. 性能和可靠性問題

有兩種方法可以做 API。要么每個 API 都承擔(dān)著處理性能(“讓我引入緩存”)或錯誤(“這個后端有時會發(fā)出錯誤數(shù)據(jù),讓我編寫邏輯來繞過它”)的負(fù)擔(dān),或者每個 API 都聲明它的內(nèi)容這樣做,系統(tǒng)就會觀察并做正確的事情。第二種模式更可取——想想 SQL,你不編碼錯誤條件或性能。相反,數(shù)據(jù)庫試圖并且?guī)缀蹩偸亲稣_的事情。

4. 如何構(gòu)建 API 很重要

前端團(tuán)隊的需求隨著客戶和市場的需求而不斷發(fā)展。并且同時存在多個前端需求。跟上這一切并不容易。當(dāng)然,你可以啟動一個程序,對其進(jìn)行編碼,并隨著需求的發(fā)展來管理其生命周期。該程序承擔(dān)了性能、可靠性等方面的負(fù)擔(dān)?;蛘?,你可以使用聲明性構(gòu)造構(gòu)建 API — 使用來自后端 Y 的調(diào)用實現(xiàn)類型 X。類型 Z 使用此字段連接到類型 X。聲明式構(gòu)造允許快速構(gòu)建 API。聲明式結(jié)構(gòu)還有另外兩個真正有用的目的:(i)它們使業(yè)務(wù)邏輯遠(yuǎn)離前端 API 和(ii)它們導(dǎo)致更好的部署和運(yùn)行時特性,因為它更容易推理和采取行動,一個使用聲明性構(gòu)造構(gòu)建的 API。

5. 部署和運(yùn)行時特性很重要

啟動并運(yùn)行 API 很重要,但是到達(dá)那個點(diǎn)的路比前面的路要短得多。后端永遠(yuǎn)不穩(wěn)定,密鑰被撤銷,不良數(shù)據(jù)被發(fā)出,程序需要擴(kuò)展,需要監(jiān)控性能,誰在這樣做? API 團(tuán)隊越來越多地采用 API 即服務(wù)作為這些日常運(yùn)營問題的解決方案。

6. API 安全問題

API 為前端團(tuán)隊提供了很大的靈活性和對數(shù)據(jù)的訪問,他們允許他們建立很棒的體驗,但是現(xiàn)在,需要做些什么來確保不發(fā)生壞事呢?你有后端密鑰要管理,你可以管理前端訪問控制,如果你決定使用 GraphQL,你會更加頭疼“我的突變端點(diǎn)不應(yīng)該可訪問”或“瀏覽器是否更改了查詢參數(shù)并且現(xiàn)在正在詢問不應(yīng)該訪問的數(shù)據(jù)?” API 管理可以解決一些問題,但一般來說,GraphQL 和后端密鑰相關(guān)的問題無法通過圍繞你的 API 進(jìn)行分層 API 管理來解決。

7. 這是API管理嗎?

API 管理不應(yīng)與 API 混淆。雖然許多 API 管理產(chǎn)品允許你在其工具中構(gòu)建 API,但你越來越希望在適合該 API 的工具中構(gòu)建 API。例如,如果你的 API 是 GraphQL,你需要一個工具來幫助你構(gòu)建和運(yùn)行設(shè)計良好且性能良好的 GraphQL API。然后,你可能希望在開發(fā)門戶、分析和一些使用 API 管理的前端密鑰管理中分層。

結(jié)論

好的 GraphQL 端點(diǎn)必須平衡很多東西。我相信 GraphQL 真的很強(qiáng)大,對于前端和后端開發(fā)人員來說都是一個不錯的選擇,但是 GraphQL 是新的,構(gòu)建 GraphQL API 的開發(fā)人員必須認(rèn)識到最佳實踐和權(quán)衡,他們必須做出有意識的決定來做正確的事。最終,推動平衡的系統(tǒng)和工具將成為構(gòu)建開發(fā)人員和使用 GraphQL API 的開發(fā)人員的最佳工具。


責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2019-07-10 11:35:46

防火墻技術(shù)云計算

2021-11-16 10:35:59

云計算云計算環(huán)境云應(yīng)用

2020-01-17 19:33:11

人工智能AI深度學(xué)習(xí)

2018-05-17 13:59:28

IT顧問

2022-02-24 14:50:00

數(shù)據(jù)中心IT升級

2022-03-03 14:06:14

數(shù)據(jù)中心IT技術(shù)

2023-11-22 11:18:04

數(shù)據(jù)中心數(shù)字化

2020-08-26 19:06:43

物聯(lián)網(wǎng)IoT大規(guī)模部署

2012-04-16 10:16:07

云計算私有云IaaS

2025-01-07 13:30:33

2023-12-04 11:57:59

數(shù)據(jù)中心

2010-11-15 09:17:25

MySQL轉(zhuǎn)換Orac

2012-03-12 16:46:22

NoSQL數(shù)據(jù)庫

2023-01-30 17:37:18

Kubernete多租戶vcluster

2011-05-26 11:22:04

SEO

2010-09-01 09:39:07

CSS

2011-01-12 09:53:24

Linux運(yùn)行級別

2021-03-25 16:10:28

智慧城市大數(shù)據(jù)物聯(lián)網(wǎng)

2009-12-25 14:52:49

2023-04-17 10:47:53

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號