Główna » jak » Co to jest API?

    Co to jest API?

    Najprawdopodobniej pojawiło się określenie "API". Aktualizacje systemu operacyjnego, przeglądarki internetowej i aplikacji często ogłaszają nowe interfejsy API dla programistów. Ale czym jest API?

    Interfejs aplikacji do programowania

    Termin API jest akronimem i oznacza "Application Programming Interface".

    Pomyśl o interfejsie API, takim jak menu w restauracji. Menu zawiera listę dań, które można zamówić, wraz z opisem każdego dania. Po określeniu, które elementy menu chcesz, kuchnia w restauracji wykonuje pracę i dostarcza gotowych potraw. Nie wiesz dokładnie, jak restauracja przygotowuje to jedzenie i naprawdę nie musisz tego robić.

    Podobnie interfejs API zawiera listę operacji, z których mogą korzystać deweloperzy wraz z opisem ich działania. Deweloper niekoniecznie musi wiedzieć, jak na przykład buduje system operacyjny i wyświetla okno dialogowe "Zapisz jako". Po prostu muszą wiedzieć, że są dostępne do użytku w swojej aplikacji.

    Nie jest to idealna metafora, ponieważ programiści mogą dostarczać własne dane do interfejsu API, aby uzyskać wyniki, więc może jest to bardziej jak elegancka restauracja, w której można podać niektóre z własnych składników, z którymi kuchnia będzie współpracować.

    Ale jest to zasadniczo dokładne. Interfejsy API pozwalają programistom zaoszczędzić czas, wykorzystując implementację platformy, aby wykonać pracę w zgrabny sposób. Pomaga to zmniejszyć ilość kodu, który programiści muszą utworzyć, a także pomaga uzyskać większą spójność między aplikacjami na tej samej platformie. Interfejsy API mogą kontrolować dostęp do zasobów sprzętowych i oprogramowania.

    Interfejsy API ułatwiają życie programistom

    Załóżmy, że chcesz stworzyć aplikację na iPhone'a. System operacyjny Apple iOS zapewnia dużą liczbę interfejsów API - tak jak robi to każdy inny system operacyjny - aby ułatwić to użytkownikowi.

    Jeśli chcesz np. Osadzić przeglądarkę internetową, aby wyświetlać jedną lub więcej stron internetowych, nie musisz programować swojej przeglądarki od podstaw tylko dla swojej aplikacji. Korzystasz z interfejsu API WKWebView, aby osadzić obiekt przeglądarki WebKit (Safari) w swojej aplikacji.

    Jeśli chcesz robić zdjęcia lub nagrywać wideo z aparatu iPhone'a, nie musisz pisać własnego interfejsu aparatu. Korzystasz z API kamery, aby osadzić wbudowaną kamerę iPhone'a w swojej aplikacji. Jeśli API nie istniało, aby było to łatwe, programiści aplikacji musieliby tworzyć własne oprogramowanie kamery i interpretować dane wejściowe sprzętu kamery. Jednak programiści systemów operacyjnych Apple wykonali całą tę ciężką pracę, aby programiści mogli po prostu użyć interfejsu API kamery do osadzenia kamery, a następnie przystąpić do budowania aplikacji. A kiedy Apple ulepszy interfejs API kamery, wszystkie aplikacje, które na nim polegają, automatycznie wykorzystają to ulepszenie.

    Dotyczy to każdej platformy. Na przykład, czy chcesz utworzyć okno dialogowe w systemie Windows? Jest na to API. Chcesz wspierać uwierzytelnianie odcisków palców w systemie Android? Jest w tym również API, więc nie musisz testować każdego czytnika odcisków palców innego producenta Androida. Deweloperzy nie muszą ciągle wymyślać koła.

    Interfejsy API kontrolują dostęp do zasobów

    Interfejsy API są również używane do kontrolowania dostępu do urządzeń sprzętowych i funkcji oprogramowania, których aplikacja może nie mieć uprawnień do korzystania. Właśnie dlatego API często odgrywają dużą rolę w bezpieczeństwie.

    Na przykład, jeśli kiedykolwiek odwiedzałeś stronę internetową i widziałaś w przeglądarce wiadomość, że strona prosi o dokładną lokalizację, ta strona próbuje użyć interfejsu API geolokalizacji w twojej przeglądarce. Przeglądarki internetowe udostępniają takie interfejsy API, aby ułatwić programistom dostęp do Twojej lokalizacji - mogą po prostu zapytać "gdzie jesteś?", A przeglądarka wykonuje ciężką pracę z dostępem do GPS lub pobliskich sieci Wi-Fi, aby znaleźć swoją fizyczną lokalizację.

    Jednak przeglądarki udostępniają te informacje za pośrednictwem interfejsu API, ponieważ można kontrolować do niego dostęp. Kiedy witryna chce uzyskać dostęp do Twojej fizycznej lokalizacji, jedynym sposobem, w jaki mogą ją uzyskać, jest interfejs API lokalizacji. Kiedy strona internetowa próbuje z niego korzystać, Ty - użytkownik - możesz zezwolić lub odrzucić tę prośbę. Jedynym sposobem uzyskania dostępu do zasobów sprzętowych, takich jak czujnik GPS, jest interfejs API, dzięki czemu przeglądarka może kontrolować dostęp do sprzętu i ograniczać możliwości aplikacji..

    Ta sama zasada jest stosowana w nowoczesnych mobilnych systemach operacyjnych, takich jak iOS i Android, gdzie aplikacje mobilne mają uprawnienia, które można egzekwować, kontrolując dostęp do interfejsów API. Na przykład, jeśli programista próbuje uzyskać dostęp do kamery za pośrednictwem interfejsu API aparatu fotograficznego, możesz odrzucić prośbę o uprawnienia, a aplikacja nie ma możliwości uzyskania dostępu do kamery urządzenia.

    Systemy plików, które używają uprawnień - tak jak w systemach Windows, Mac i Linux - mają te uprawnienia wymuszane przez interfejs API systemu plików. Typowa aplikacja nie ma bezpośredniego dostępu do surowego fizycznego dysku twardego. Zamiast tego aplikacja musi uzyskiwać dostęp do plików za pośrednictwem interfejsu API.

    Interfejsy API służą do komunikacji między usługami

    Interfejsy API są używane również z innych powodów. Na przykład, jeśli kiedykolwiek widziałeś obiekt Google Maps osadzony na stronie internetowej, ta strona używa interfejsu Google Maps API do osadzenia tej mapy. Google udostępnia takie interfejsy API programistom internetowym, którzy mogą następnie używać interfejsów API do umieszczania złożonych obiektów bezpośrednio na swojej stronie internetowej. Jeśli takie interfejsy API nie istniały, programiści mogliby tworzyć własne mapy i udostępniać własne dane mapowe, aby umieścić trochę interaktywnej mapy na stronie internetowej.

    A ponieważ jest to interfejs API, Google może kontrolować dostęp do Map Google w witrynach stron trzecich, zapewniając, że używają go w spójny sposób, zamiast próbować nieładnie osadzić ramkę, która pokazuje witrynę Google Maps, na przykład.

    Dotyczy to wielu różnych usług online. Istnieją interfejsy API do żądania tłumaczenia tekstu z Tłumacza Google lub umieszczania komentarzy na Facebooku lub tweetów z Twittera na stronie internetowej.

    Standard OAuth definiuje również wiele interfejsów API, które umożliwiają logowanie się do witryny za pomocą innej usługi - na przykład do korzystania z kont Facebook, Google lub Twitter w celu zalogowania się do nowej witryny bez tworzenia nowego konta użytkownika dla tej witryny . Interfejsy API to standardowe umowy definiujące sposób komunikacji programistów z usługą oraz rodzaj danych wyjściowych, które twórcy oprogramowania powinni oczekiwać.


    Jeśli przejdziesz przez to, będziesz miał lepsze pojęcie o tym, czym jest API. Ostatecznie nie musisz wiedzieć, czym jest API, chyba że jesteś programistą. Jeśli jednak platforma lub usługa oprogramowania dodała nowe interfejsy API dla różnych urządzeń lub usług, programiści powinni mieć łatwiejszą możliwość korzystania z takich funkcji.

    Image Credit: patpitchaya / Shutterstock.com.