Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]co to jest API? każde źródło mówi co innego. "interfejs aplikacji" vs, "sposoby przesyłania danych z pominięciem stron internetowych."
koszykarze
post 22.06.2016, 09:34:29
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 10.10.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


- "API reprezentuje interfejs aplikacji. Z punktu widzenia klas, są to metody dostarczane klientowi, który będzie używał naszej klasy."

-"Akronim API oznacza Application Programming
Interface (interfejs programistyczny). Jest to punkt zaczepienia udostępniany przez usługę, apli-
kację lub moduł i wykorzystywany przez inne komponenty programowe. W tym rozdziale uży-
wamy też pojęcia usługi sieciowej, czyli mechanizmu udostępniania danych poprzez protokół
HTTP . Na nasze potrzeby możemy przyjąć, że oba te pojęcia są równoznaczne." (Shafik.D.Mitchell.L.Turland.M.-Mistrz.PHP.Pisz.Nowoczesny.Kod)

-"Usługi sieciowe: poczta elektroniczna, transmisja danych, usługi terminalowe, serwisy informacyjne"



czyli
API=interfejs aplikacji=usługa sieciowa=poczta elektroniczna

nic nie rozumiem


Go to the top of the page
+Quote Post
phpion
post 22.06.2016, 09:48:19
Post #2





Grupa: Moderatorzy
Postów: 6 070
Pomógł: 860
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zapoznaj się chociażby z Allegro API:
http://allegro.pl/webapi/documentation.php/show/id,1342
a zajarzysz czym jest API.
Go to the top of the page
+Quote Post
markonix
post 22.06.2016, 09:55:36
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Pierwsza definicja jest troszkę rozszerzona ale w końcu prawi to samo, że udostępniasz jakieś konkretne klasy/metody na zewnątrz za pomocą usług sieciowych (HTTP).
Zwykle rozumie się przez to API, które udostępnia usługi innym stronom czy aplikacjom ale to też może być wystawione API np. dla frontendu w ramach jednej aplikacji (jednej domeny). Mimo, że to ciągle ten sam serwer to zapytania do API też są realizowane przez HTTP.


--------------------
Go to the top of the page
+Quote Post
Lion
post 22.06.2016, 09:59:39
Post #4





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


Powiedziałbym że pierwsze dwie definicje są dobre. W pierwszej masz ograniczenie kontekstu do klasy, więc się wszystko zgadza z tymi metodami. Druga jest bardziej uniwersalna, ale też dobra. Trzeci artykuł opisuje najbardziej znane usługi sieciowe, niektóre z nich mogą być wykorzystane jako API. Twoje równanie w ogólności nie jest prawdziwe, chyba że miałbyś zamysł budowania API w oparciu o pocztę elektroniczną wtedy może to być prawda. Raczej należy patrzeć na pojęcie API jako na zbiór różnych technik udostępniania klientom swoich zasobów lub dostępu do swoich procesów/algorytmów.


--------------------
Go to the top of the page
+Quote Post
emstawicki
post 22.06.2016, 10:39:57
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 40
Dołączył: 2.06.2016
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


API można nawet podciągnąć pod wykorzystywanie w celu połączenia rzeczy backendowych z frontem (z pominięciem komunikacji www-baza).
Po różnych zastosowaniach, które istnieją w Internecie można śmiało przyjąć, że API jest po prostu narzędziem, które zwraca, albo przetwarza z serializowane dane co ma zarówno odciążyć działanie metod/klas przerzucając renderowanie wyników na coś innego, ale i stwarza, że klasy są uniwersalne i można szybko poszerzyć całą aplikację o narzędzie na zupełnie inną platformę bez ingerencji w obecne klasy.


--------------------
Jak w Olsztynie, to tylko w Revolver Rock Cafe .
Sprawdź postęp propagacji DNS
Go to the top of the page
+Quote Post
Lion
post 22.06.2016, 17:25:18
Post #6





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


API może być także interfejsem jednokierunkowym, czyli że nic nie zwraca natomiast przyjmuje od Ciebie jakieś dane którymi chcesz je nakarmić, a leżące pod API mechanizmy już wiedzą co z tymi danymi zrobić.


--------------------
Go to the top of the page
+Quote Post
kpt_lucek
post 22.06.2016, 18:27:05
Post #7





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(Lion @ 22.06.2016, 18:25:18 ) *
API może być także interfejsem jednokierunkowym, czyli że nic nie zwraca natomiast przyjmuje od Ciebie jakieś dane którymi chcesz je nakarmić, a leżące pod API mechanizmy już wiedzą co z tymi danymi zrobić.

Zawsze zwraca smile.gif

Response code 200 mówi dość dużo, nawet jeżeli body jest puste tongue.gif

Ten post edytował kpt_lucek 22.06.2016, 18:27:25


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
com
post 22.06.2016, 20:43:18
Post #8





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


kpt_lucek tylko nie zawsze musi być to 200, ale to prawda odp musi jakaś być.

Ten post edytował com 22.06.2016, 20:43:57
Go to the top of the page
+Quote Post
Lion
post 22.06.2016, 20:52:06
Post #9





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


Pisałem o API ogólnie, nie o protokole HTTP lub nawet TCP/IP jako warstwie transportowej dla API.


--------------------
Go to the top of the page
+Quote Post
koszykarze
post 22.06.2016, 21:04:07
Post #10





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 10.10.2015
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


skoro temat ciągle żyje to zapytam bo nie daje mi spokoju.

już bym zrozumiał o co chodzi z API: webApi Allegro, api.stackoverflow, ma to sens. SOAP, REST. Rozumiem.

Ale jak do powyższego ma się ten http://api.symfony.com/3.0/index.html, przecież to jakby lista metod frameworka. Co to ma wspólnego z SOAP czy REST, wysyłaniem żądań HTTP?




(ps a znany jest Wam jakiś polski portal udostępniający w REST, bo allegro ma SOAP chyba)

Ten post edytował koszykarze 22.06.2016, 21:08:05
Go to the top of the page
+Quote Post
Lion
post 22.06.2016, 21:17:07
Post #11





Grupa: Zarejestrowani
Postów: 148
Pomógł: 14
Dołączył: 23.02.2013

Ostrzeżenie: (0%)
-----


No więc to też jest API jakie framework Symfony daje klientowi (programiście). Możesz wywołać sobie metodę z interfejsu dostarczonych klas a one zwrócą Ci jakieś dane lub wykonają jakiś proces. Czyli delegujesz wykonanie jakiejś pracy do zewnętrznych zasobów poprzez ich interfejs - API, nie musisz sam się tym przejmować.


--------------------
Go to the top of the page
+Quote Post
Comandeer
post 22.06.2016, 21:39:40
Post #12





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Ktoś kiedyś mi powiedział takie bardzo obrazowe porównanie.

Wyobraźmy sobie, że tworzenie oprogramowania to zabawa na placu zabaw. My jesteśmy rodzicem, a nasza aplikacja – dzieckiem, które przyprowadzamy na plac zabaw, by się pobawiło. Na tym placu są też inne dzieci-aplikacje. Te, które nie udostępniają API, siedzą samotnie, z dala od innych i nawet nie patrzą w ich stronę. Są niesamowicie samolubne. Natomiast te, które mają API, wyciągają rączki (czyli API wink.gif) w kierunku innych aplikacji. I z takimi aplikacjami, za rączki, nasza aplikacja będzie się bawić.

Może i do bólu uproszczone spojrzenie, ale powinno choć ciut przybliżyć, czym jest API wink.gif


--------------------
Go to the top of the page
+Quote Post
com
post 22.06.2016, 23:24:00
Post #13





Grupa: Zarejestrowani
Postów: 3 032
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


Nawiązując do pierwszego tematu, to api dlatego ma ta rożne definicje, bo można je zastosować do realizacji rożnych celów, ale to nadal jest ten sam interfejs, który umożliwia integrację Ciebie jako klienta, z daną usługą, czy to będzie REST,SOAP, czy cokolwiek innego.
Go to the top of the page
+Quote Post
LowiczakPL
post 23.06.2016, 22:33:56
Post #14





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Cytat(Comandeer @ 22.06.2016, 22:39:40 ) *
Ktoś kiedyś mi powiedział takie bardzo obrazowe porównanie.

Wyobraźmy sobie, że tworzenie oprogramowania to zabawa na placu zabaw. My jesteśmy rodzicem, a nasza aplikacja ? dzieckiem, które przyprowadzamy na plac zabaw, by się pobawiło. Na tym placu są też inne dzieci-aplikacje. Te, które nie udostępniają API, siedzą samotnie, z dala od innych i nawet nie patrzą w ich stronę. Są niesamowicie samolubne. Natomiast te, które mają API, wyciągają rączki (czyli API wink.gif) w kierunku innych aplikacji. I z takimi aplikacjami, za rączki, nasza aplikacja będzie się bawić.

Może i do bólu uproszczone spojrzenie, ale powinno choć ciut przybliżyć, czym jest API wink.gif



Tu się nie zgodzę, ktoś wprowadził Cię w błąd wink.gif

To rodzic posiada API i je udostępnia swoim dzieciom (nie odwrotnie) i tylko dzieci, które znają jego API potrafią się z danym rodzicem porozumieć.

Czyli za pomocą komend API dziecko może:
1. wyciągnąć od rodzica prośbę o pobujanie na bujawce,
2. poprosić o pohuśtanie na huśtawce,
3. poprosić o wsadzenie na czubek zjeżdżalni,
4. wytrzeć noska bo katarek leci,
5. picie bo jest spragnione.

PS. Nieraz Matka daje Ojcu zdjęcie aby ten nie reagował na inne dzieci znające jego język,

czyli

1. dziecko prosi o cukierka, buziaka, podtarcie noska
2. ojciec wyciąga fotkę z kieszenie i porównuje
3. jak dziecko na zdjęciu nie jest to samo, które prosi to wysyła je w kosmos
4. jak jest identyczne z jego zdjęciem dzidzia dostaje to o co prosi


Cytat(koszykarze @ 22.06.2016, 10:34:29 ) *
... czyli
API=interfejs aplikacji=usługa sieciowa=poczta elektroniczna

nic nie rozumiem


API pozwala osobom z zewnątrz wykorzystać bogactwo aplikacji, dlatego aplikacje, które mają coś więcej do zaoferowania, chcą zautomatyzować pewne procesy, udostępniają API.

Standardowe zachowanie VS API

Robisz imprezę i zapraszasz ludzi do klubu.

1. Bramkarz przed pubem posiada listę gości
goście się schodzą i identyfikują na podstawie dowodu, po poprawnej identyfikacji bramkarz otwiera drzwi, (to jedynie skrót tego co dzieje się przed pubem).

2. Dajesz gościom APKĘ, i stojąc przed drzwiami pubu APKA otwiera Ci drzwi, jednak wcześniej poinformowała ludzi w pubie że już jesteś.

Wersja 2 jest na MAXA prosta od strony użytkownika, po prostu dzieje się wszystko z automaty to jest przykład Aplikacji z API Klucz, potrafi umilić życie.
Ale w tle APKI jest dym na maxa, tam działa dopiero API aż się gotuje, w skrócie w tle aplikacja łączyła się z serwerem i sprawdzała czy Ty to Ty.
Po poprawnej autoryzacji serwer wysłał informację zwrotną do APKI klucz żeby drzwi się otworzyły, wysłał również informacje do wszystkich w pubie że jesteś przed drzwiami.

Działała tu usługa sieciowa połączenia z serwerem, transmisja danych czyli 2 kierunkowa komunikacja prośba o identyfikację i zwrotna informacja z kluczem, oraz łączenie się telefonu z terminalem zamka drzwi za pomocą API zamka, które jest udostępniane przez jego producenta.
Usługi terminalowe czyli nasze bezprzewodowe otwieranie drzwi telefonem na podstawie kodu.
Serwisy informacyjne czyli informacja gości w Pubie że jesteś przed drzwiami. (tu na maxa spłyciłem temat)

Jedna aplikacja może wykorzystywać nieograniczoną ilość API.

Ten post edytował LowiczakPL 24.06.2016, 07:16:32


--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
Comandeer
post 24.06.2016, 14:30:32
Post #15





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Cytat
Tu się nie zgodzę, ktoś wprowadził Cię w błąd

Raczej nie smile.gif
Cytat
To rodzic posiada API i je udostępnia swoim dzieciom (nie odwrotnie) i tylko dzieci, które znają jego API potrafią się z danym rodzicem porozumieć.

Oczywiście, że to programista (rodzic) uczy aplikacje, jak posługiwać się API. Ale API nie jest w programiście, tylko jest w aplikacji.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.03.2024 - 00:25