J'essaie d'écrire un site Web d'entreprise "standard". Par "standard", je veux dire que ce site exécute le HTML5, CSS et Javascript habituel pour le front-end, un back-end (pour traiter les trucs), et exécute MySQL pour la base de données. C'est un site CRUD de base: le front-end fait juste ce que la base de données a en magasin; le backend écrit dans la base de données tout ce que l'utilisateur entre et effectue un traitement. Tout comme la plupart des sites.
En créant mes référentiels Github pour commencer le codage, j'ai réalisé que je ne comprenais pas la distinction entre le back-end frontal et l' API . Une autre façon de formuler ma question est: où l'API entre-t-elle dans cette image?
Je vais énumérer quelques détails supplémentaires, puis les questions que j'ai - j'espère que cela vous donnera une meilleure idée de ma véritable question, car je suis tellement confus que je ne connais pas la question précise à poser.
Quelques détails supplémentaires:
- Je voudrais essayer le modèle Model-View-Controller. Je ne sais pas si cela change la question / réponse.
- L'API sera RESTful
- J'aimerais que mon serveur principal utilise ma propre API au lieu de permettre au serveur principal de tricher et d'appeler des requêtes spéciales. Je pense que ce style est plus cohérent.
Mes questions:
- Le front-end appelle-t-il le back-end qui appelle l'API? Ou le front-end appelle-t-il simplement l'API au lieu d'appeler le back-end?
- Le back-end exécute-t-il simplement une API et l'API renvoie le contrôle au back-end (où le back-end agit comme le contrôleur ultime, déléguant des tâches)?
Des réponses longues et détaillées expliquant le rôle de l'API aux côtés du serveur principal sont encouragées. Si la réponse dépend du modèle de programmation (modèles autres que le modèle Model-View-Controller), veuillez décrire ces autres façons de penser l'API. Merci. Je suis très confus.