HDG wyjaśnia: co to jest API?

W Internecie wypełnionym mylącymi i nieznanymi akronimami(confusing and unfamiliar acronyms) łatwo się pogubić. Jednym z akronimów internetowych, który mogłeś słyszeć, ale nigdy nie miałeś inspiracji, jest „API”.

Co to jest API ? API jest akronimem od Application Programming Interface (interfejs programowania aplikacji( application programming interface) ) i jest nazwą zestawu procedur i protokołów, które znacznie ułatwiają proces tworzenia aplikacji.

Prostym sposobem spojrzenia na API jest mapa drogowa, która mówi składnikom oprogramowania, jak współdziałać. Bez użycia API kod źródłowy mógłby wyglądać jak pomieszany, mylący bałagan.

Jednak interfejsy API(APIs) są złożone i wymagają czegoś więcej niż tylko krótkiego podsumowania. W tym artykule przyjrzyjmy się, jak działają interfejsy API(APIs) oraz jakie witryny i usługi z nich korzystają.

Co to jest API i jak działa?(What Is An API and How Does It Work?)

Teraz, kiedy ustaliliśmy, że API to zestaw procedur, które wskazują oprogramowanie we właściwym kierunku, jak dokładnie to wszystko działa?

Najlepszym sposobem na wyjaśnienie podstawowej funkcjonalności interfejsu API(API) jest przedstawienie przykładu ze świata rzeczywistego. Usługi(Food) dostarczania jedzenia, takie jak GrubHub , są obecnie niezwykle popularne, więc porozmawiajmy o tym, jak może działać kod stojący za takimi aplikacjami mobilnymi.

Gdy szukasz restauracji lub produktu spożywczego w jednej z tych aplikacji, otrzymujesz trafne wyniki na podstawie słów kluczowych i lokalizacji. Po wybraniu wyniku wyświetlane są opcje produktów spożywczych, czas dostawy i inne opcje charakterystyczne dla restauracji.

Aby zaplanować dostawę, musi nastąpić połączenie między stroną dostarczającą a bazą danych — strona internetowa jest frontendem, a baza danych backendem. Baza danych przechowuje dane dla wszystkich tych restauracji, ich dostępność według lokalizacji, harmonogram operacji, menu i inne.

API to połączenie między tą bazą danych a witryną lub aplikacją, która prezentuje jej dane. Ważne jest, aby do tworzenia tego połączenia był obecny interfejs API(API) , a nie za pomocą danych zakodowanych na stałe, głównie ze względu na popularność integracji innych firm. 

Na przykład dla witryny byłoby korzystne, gdyby zewnętrzne agregatory były w stanie wyświetlić i uporządkować wszystkie dostępne restauracje i produkty, prawda? Bez API nie byłoby to możliwe bez użycia nieefektywnych technik web-scrapingu.

API to interfejs odpowiedzialny za dostarczanie danych z bazy danych do aplikacji, czy to na stronę internetową, aplikację mobilną, czy cokolwiek innego. Interfejsy API(APIs) stały się standardowym sposobem uzyskiwania dostępu do danych aplikacji i przesyłania ich w sieci, a każda większa witryna lub usługa, która jest zależna od łączności z innymi firmami, znacznie zyskuje dzięki ich udostępnieniu.

Jakie rodzaje interfejsów API są dostępne?(What Types Of APIs Are There?)

Istnieje wiele różnych typów protokołów API , ale trzy najpopularniejsze to SOAP ( Simple Object Access Protocol ), REST ( Representational State Transfer ) i RPC ( Remote Procedure Call ).

API SOAP(SOAP APIs)

SOAP został po raz pierwszy wprowadzony pod koniec lat 90. i umożliwiał aplikacjom współdzielenie zasobów w prosty sposób za pomocą połączeń sieciowych. SOAP opiera się na standardowych protokołach, takich jak HTTP i SMTP , które ze względu na popularność takich protokołów umożliwiają stosowanie go praktycznie w każdym środowisku.

Jego główną siłą jest to, że jest szeroko stosowany i ugruntowany. Jeśli nie jest zepsuty, nie naprawiaj tego.

REST API(REST APIs)

REST został wprowadzony w 2000 roku przez Roya Fieldinga(Roy Fielding) . Jego bezpośrednim celem było działanie w odpowiedzi na wiele problemów, które powstały w wyniku powszechnego przyjęcia SOAP .

Podobnie jak SOAP , REST wykorzystuje protokół HTTP(HTTP) do przesyłania informacji między aplikacjami. Jednak jedną główną różnicą, która odróżnia go od SOAP , który wymaga przesyłania danych w formacie danych XML , jest to, że obsługuje JSON . JSON to format danych, który zdaniem wielu jest łatwiejszy do odczytania i zapisania. Dodatkowo interfejsy API REST(REST APIs) mogą buforować dane, co pozwala na znacznie lepszą wydajność.

REST stanowi obecnie ponad 80% wszystkich interfejsów API(APIs) , zgodnie z raportem Cloud Elements z 2017 roku .

API RPC(RPC APIs)

Interfejsy API RPC(RPC APIs) występują w wielu odmianach, ale jak dowiedzieliśmy się z interfejsów API REST(REST APIs) , JSON jest bardzo popularnym formatem danych, więc JSON-RPC jest jego najpopularniejszym.

JSON-RPC to protokół najlepiej dostosowany dla minimalistów i użytkowników, którzy polegają na prostocie swojego API . Jego zakres jest znacznie węższy w porównaniu z SOAP i REST , a jego elastyczność i zestaw poleceń są bardzo ograniczone — ale dla niektórych programistów mniej oznacza więcej.

Istnieją inne typy interfejsów API(API) oparte na RPC , takie jak gRPC, ale JSON-RPC jest najlepszym wyborem, jeśli priorytetem jest prostota implementacji.

Kto korzysta z interfejsów API?(Who Uses APIs?)

Deweloperzy wszelkiego rodzaju, czy to frontend, czy backend, powinni mieć doświadczenie w pracy z API(APIs) . Jeśli chodzi o strony internetowe lub usługi sieciowe, praktycznie wszyscy główni gracze mają dostępny jakiś rodzaj API — najbardziej oczywistym jest Windows .

Ponieważ Microsoft Windows jest najpopularniejszym systemem operacyjnym na świecie, naturalne jest, że twórcy aplikacji będą potrzebować zestawu wytycznych dotyczących interakcji z jego interfejsem użytkownika. Bez dostępu do Windows API programowanie aplikacji, która w dużym stopniu opiera się na interakcji z systemem operacyjnym, byłoby poważnym problemem.

Istnieją tysiące interfejsów API(APIs) , niektóre bezpłatne, a niektóre płatne. Oto tylko kilka przykładów, którym warto się przyjrzeć:

  • Google Play Developer API : zadania związane z publikowaniem i zarządzaniem aplikacjami w Google Play
  • Interfejsy API Skyscanner(Skyscanner APIs)(Skyscanner APIs) : Podróżne interfejsy API(APIs) dotyczące lotów, wynajmu samochodów i nie tylko
  • Twilio API : umożliwia(Allows) programowe wysyłanie i odbieranie połączeń telefonicznych
  • Discord API : pozwala użytkownikom tworzyć boty, dzięki którym Discord jest obecnie usługą przesyłania wiadomości
  • IPinfo API : adres (: )IP w locie(On-the-fly IP) i dane geolokalizacyjne Twojej witryny lub aplikacji

Interfejsy API(APIs) są jednym z kluczowych łączników niektórych największych i najważniejszych witryn i aplikacji internetowych. Chociaż przeciętny użytkownik może nie być w stanie dostrzec korzyści, jakie zapewniają interfejsy API(APIs) , są one darem niebios dla programistów i usług internetowych.



About the author

Jestem inżynierem sprzętu i programistą z ponad 10-letnim doświadczeniem na platformach Apple i Google. Moje umiejętności polegają na tworzeniu wydajnych, przyjaznych dla użytkownika rozwiązań trudnych problemów inżynierskich. Miałem doświadczenie z urządzeniami MacOS i iOS, a także sterowaniem klawiaturą i myszą. W wolnym czasie lubię pływać, oglądać tenisa i słuchać muzyki.



Related posts