La plupart des applications modernes (applications Web à page unique, applications mobiles, etc.) se composent de deux parties :
Pour connecter le frontend et le backend, on utilise généralement une API web (REST, GraphQL, etc.), ce qui nécessite le développement d'un client API côté frontend et d'un serveur API côté backend.
Nous avons l'architecture suivante :
Avec une architecture sans API, le frontend peut communiquer avec le backend sans avoir besoin de créer une API Web. Le backend expose des fonctions (ou méthodes) que le frontend peut appeler directement, et le développeur n'a plus à se soucier des chemins d'URL, des méthodes HTTP ou des codes d'état.
Bien entendu, puisque le frontend et le backend fonctionnent dans des environnements distincts, il y a forcément un client API et un serveur API entre les deux, mais ils ne relèvent plus de la responsabilité du développeur. Les couches API sont gérées par une bibliothèque ou un framework.
Une architecture sans API ressemble donc à ceci :
La suppression des couches API réduit non seulement la quantité de code que le développeur doit écrire, mais améliore également la qualité en réduisant la dispersion du code et la duplication des connaissances.
Un nombre croissant de bibliothèques et de frameworks permettent d'implémenter une architecture sans API.
Produit | Type de produit | Type d'API | Temps réel | Assistance mobile | Depuis |
---|---|---|---|---|---|
Météore | Cadre | De procédure | Oui | Oui | 2012 |
Couche | Bibliothèque | Orienté objet | Sur la feuille de route | Oui | 2019 |
Blitz.js | Cadre | De procédure | Non | Sur la feuille de route | 2020 |
tRPC | Bibliothèque | De procédure | En version bêta | Oui | 2021 |
Téléfonction | Bibliothèque | De procédure | Sur la feuille de route | Oui | 2021 |
Les contributions sont les bienvenues.
Avant de contribuer, veuillez lire le code de conduite et effectuer une recherche dans le système de suivi des problèmes pour savoir si votre problème a déjà été discuté auparavant.
Pour contribuer, créez ce référentiel, validez vos modifications et envoyez une pull request.
MIT