Próbuję napisać „standardową” biznesową stronę internetową. Pod pojęciem „standard” rozumiem, że ta strona obsługuje zwykły HTML5, CSS i JavaScript dla frontonu, back-endu (do przetwarzania rzeczy) i uruchamia MySQL dla bazy danych. Jest to podstawowa strona CRUD: front-up robi po prostu wszystko, co ma baza danych; backend zapisuje w bazie danych cokolwiek użytkownik wejdzie i wykonuje pewne przetwarzanie. Podobnie jak większość witryn tam.
Tworząc moje repozytoria Github, aby rozpocząć kodowanie, zdałem sobie sprawę, że nie rozumiem różnicy między zapleczem a interfejsem API . Innym sposobem sformułowania mojego pytania jest: gdzie API pojawia się na tym obrazie?
Wymienię więcej szczegółów, a następnie pytania, które mam - mam nadzieję, że dzięki temu lepiej rozumiecie moje pytanie, ponieważ jestem tak zdezorientowany, że nie znam konkretnego pytania.
Kilka dodatkowych szczegółów:
- Chciałbym wypróbować wzór Model-Widok-Kontroler. Nie wiem, czy to zmieni pytanie / odpowiedź.
- Interfejs API będzie RESTful
- Chciałbym, aby mój back-end używał własnego API zamiast pozwalać back-endowi na oszukiwanie i wywoływanie specjalnych zapytań. Myślę, że ten styl jest bardziej spójny.
Moje pytania:
- Czy front-end wywołuje back-end, który wywołuje API? A może front-end po prostu wywołuje API zamiast wywoływać back-end?
- Czy zaplecze po prostu wykonuje interfejs API, a interfejs API zwraca kontrolę do zaplecza (gdzie zaplecze działa jako ostateczny kontroler, delegując zadania)?
Zachęcamy do długich i szczegółowych odpowiedzi wyjaśniających rolę interfejsu API wraz z interfejsem użytkownika. Jeśli odpowiedź zależy od modelu programowania (modele inne niż wzorzec Model-View-Controller), opisz te inne sposoby myślenia o interfejsie API. Dzięki. Jestem bardzo zmieszany.