Nauka pisania API - od czego zacząć?

1

Jak Waszym zdaniem powinienem zacząć naukę pisania API pod webowe aplikacje, idąc w stronę backendu (php, symfony)? Od razu zacząć korzystać z FosRestBundle? A może API Platform? Jakaś inna propozycja? Bo wspomniane wcześniej opcje korzystają głównie z adnotacji, co w sumie nie wiem czy jest dobre i nie nauczy mnie to chyba pisać 'prawdziwego' / 'dobrego' API? Dodatkowo wydaje mi się, z tego co patrzyłem, że przy bardziej zaawansowanych projektach te adnotacje np. w API Platform mogą okazać się niewystarczające.
Swoją drogą do frontendu używałem teraz Twiga (projekt w Symfony) i coś tam jQuery. Co wy proponujecie jako front do początkowej nauki pod API? Z JSa znam tylko jQuery :)

2

zapoznaj się czym jest rest api i po prostu zacznij pisać prostego cruda. Nie wiem po co patrzysz na te inne rzeczy.

1

API znaczy "Application programming interface", więc wg definicji API będziesz miał nawet jak masz powiedzmy klasę i będziesz musiał wymyślić nazwy dla metod publicznych. To też będzie API.

Bo zakręciłeś się w jakichś dziwnych buzzwordach i niszowych rozwiązaniach, a API po prostu powinno spełniać swoją rolę będąc "programistycznym interfejsem aplikacji", czyli czymś, za pomocą czego nawiązujemy kontakt z jakąś częścią aplikacji albo z zewnętrzną aplikacją.

Czasem w webówce mianem API nazywa się skrótowo REST API, czyli sposób komunikacji za pomocą protokołu HTTP wykorzystując jego metody jak GET, POST czy inne (chociaż to nie jedyny sposób podejścia do API).

Od razu zacząć korzystać z FosRestBundle? A może API Platform?

Jeśli nie zrozumiesz samych założeń/idei API, to żadna magiczna platforma ci nie pomoże. Ogólnie najlepiej jakbyś sobie dał spokój z technologiami i pisał wszystko z palca samemu na tym etapie.

'dobrego' API?

Dobre API to np.

  • wygodne w użyciu (czyli np. dobrze dobrane nazwy)
  • posiadające obsługę błędów, żeby wiadomo było, co nie działa
  • optymalne od strony technicznej (czyli w przypadku webówki dobre API nie powinno choćby obciążać niepotrzebnie transferu, czyli nie powinno przesyłać zbyt wielu niepotrzebnych danych).
    itp.

A to jak sobie to rozwiążesz technicznie, to kwestia drugorzędna. Tak nawiasem mówiąc frameworki/platformy przychodzą i odchodzą, a same założenia będą takie same.

1 użytkowników online, w tym zalogowanych: 0, gości: 1