Я намагаюся написати «стандартний» веб-сайт для бізнесу. Під "стандартним" я маю на увазі, що цей сайт запускає звичайні HTML5, CSS та Javascript для переднього, бек-енду (для обробки матеріалів) та запускає MySQL для бази даних. Це основний сайт CRUD: передній край просто робить майже все, що має база даних; бекенд записує в базу даних все, що вводить користувач, і виконує деяку обробку. Як і більшість сайтів там.
Створюючи мої сховища Github для початку кодування, я зрозумів, що не розумію різниці між переднім бек-ендом і API . Ще один спосіб формулювання мого запитання: де API входить у цю картину?
Я перерахую ще деякі деталі, а потім питання, які у мене є - сподіваюся, це дає вам кращі уявлення про те, що таке моє справжнє питання, тому що я настільки розгублений, що не знаю конкретного запитання.
Ще кілька деталей:
- Я хотів би спробувати модель Model-View-Controller. Я не знаю, чи це змінить питання / відповідь.
- API буде RESTful
- Мені б хотілося, щоб мій бек-енд використовував власний API, а не дозволяв бэк-джету обманювати та викликати спеціальні запити. Я думаю, що цей стиль є більш послідовним.
Мої запитання:
- Чи зателефонує фронт-енд, який викликає API? Або фронтальний виклик просто викликає API, а не зворотний?
- Чи бек-енд просто виконує API і API повертає керування до бек-енду (де бек-енд виступає в якості кінцевого контролера, делегуючи завдання)?
Заохочуються довгі та докладні відповіді, що пояснюють роль API поряд із переднім тилом. Якщо відповідь залежить від моделі програмування (інших моделей, ніж модель Model-View-Controller), будь ласка, опишіть ці інші способи мислення API. Спасибі. Я дуже розгублений.