APIweb
應用程序接口(API)是以編程語言提供的結構,容許開發人員更容易地建立複雜的功能。它們抽象出更復雜的代碼,並提供一些簡單的語法來使用。編程
來看一個現實世界中的例子:想一想您的房子、公寓或其餘住宅的電力供應,若是您想在您的房子裏使用一個設備,您只需把它插入到一個插座中;您並不會直接把它鏈接到電源上 - 這樣作效率會很是低,並且若是您不是電工,這麼作將是困難和危險的。canvas
一樣,好比說,編程來顯示一些3D圖形,使用以更高級語言編寫的API(例如JavaScript或Python)將會比直接編寫直接控制計算機的GPU或其餘圖形功能的低級代碼(好比C或C++)來執行操做要容易得多。api
客戶端JavaScript中有不少可用的API — 他們自己並非JavaScript語言的一部分,卻創建在JavaScript語言核心的頂部,爲使用JavaScript代碼提供額外的超強能力。他們一般分爲兩類:瀏覽器
XMLHttpRequest
和Fetch API。您也可能會遇到描述這種技術的術語Ajax。您能夠在Fetching data from the server找到關於相似的API的更多信息。<canvas>
元素中的像素數據以建立2D和3D場景的Canvas和WebGL。例如,您能夠繪製矩形或圓形等形狀,將圖像導入到畫布上,而後使用Canvas API對其應用濾鏡(如棕褐色濾鏡或灰度濾鏡),或使用WebGL建立具備光照和紋理的複雜3D場景。這些API常常與用於建立動畫循環的API(例如window.requestAnimationFrame()
)和其餘API一塊兒不斷更新諸如動畫和遊戲之類的場景。HTMLMediaElement
,Web Audio API和WebRTC容許您使用多媒體來作一些很是有趣的事情,好比建立用於播放音頻和視頻的自定義UI控件,顯示字幕字幕和您的視頻,從網絡攝像機抓取視頻,經過畫布操縱(見上),或在網絡會議中顯示在別人的電腦上,或者添加效果到音軌(如增益,失真,平移等) 。第三方API種類繁多; 下列是一些比較流行的你可能早晚會用到的第三方API:服務器
WEB API網絡
什麼是Web APIapp
官方解釋:
ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. 框架
在圖上能夠看出來,Web API 與SignalR一塊兒同爲構建Service的框架。Web API負責構建http常規服務,而SingalR主要負責的是構建實時服務,例如股票,聊天室,在線遊戲等實時性要求比較高的服務。編程語言
爲何要用Web API
Web API最重要的是能夠構建面向各類客戶端的服務。另外與WCF REST Service不一樣在於,Web API利用Http協議的各個方面來表達服務(例如 URI/request response header/caching/versioning/content format),所以就省掉不少配置。
功能簡介
1.支持基於Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操做,經過不一樣的http動做表達不一樣的含義,這樣就不須要暴露多個API來支持這些基本操做。
2.請求的回覆經過Http Status Code表達不一樣含義,而且客戶端能夠經過Accept header來與服務器協商格式,例如你但願服務器返回JSON格式仍是XML格式。
3.請求的回覆格式支持 JSON,XML,而且能夠擴展添加其餘格式。
4.原生支持OData。
5.支持Self-host或者IIS host。
6.支持大多數MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。
什麼地方須要用Web API
當你遇到如下這些狀況的時候,就能夠考慮使用Web API了。
1.須要Web Service可是不須要SOAP
2.須要在已有的WCF服務基礎上創建non-soap-based http服務
3.只想發佈一些簡單的Http服務,不想使用相對複雜的WCF配置
4.發佈的服務可能會被帶寬受限的設備訪問
5.但願使用開源框架,關鍵時候能夠本身調試或者自定義一下框架
Web API 與MVC的區別1.MVC主要用來構建網站,既關心數據也關心頁面展現,而Web API只關注數據2.Web API支持格式協商,客戶端能夠經過Accept header通知服務器指望的格式3.Web API支持Self Host,MVC目前不支持4.Web API經過不一樣的http verb表達不一樣的動做(CRUD),MVC則經過Action名字表達動做5.Web API內建於ASP.NET System.Web.Http命名空間下,MVC位於System.Web.Mvc命名空間下,所以model binding/filter/routing等功能有所不一樣 最後,6.Web API很是適合構建移動客戶端服務參考:https://blog.csdn.net/weixin_38174062/article/details/80829912 https://blog.csdn.net/aiming66/article/details/79952670