Pourquoi partir dès le départ avec une API REST pour mon projet ?

REST API
framework
symfony
rails
play framework

Les pour et les contre qui permettent de prendre une décision quant à commencer avec une API REST ou non.

image

Du bon usage des frameworks Web

Lorsqu’on démarre son projet de site internet on utilise souvent un framework.

WARNING : Si votre agence ou votre freelance vous dit qu’il va utiliser son “framework maison car il est plus adapté” : FUYYYYYYEEEEEEEEZ !

Parmi les frameworks les plus connus on peut citer :

Ces frameworks sont dits MVC car ils permettent de gérer les 3 principales couches qui composent une application : le Modèle, la Vue et le Contrôleur.

Pour rappel, le modèle correspond à votre domaine métier et il est lié plus ou moins à votre base de données, souvent via un ORM. La vue correspond à l’affichage. Enfin, le contrôleur reçoit les requêtes et effectue le lien entre le modèle et la vue.

Les applications plus complexes peuvent contenir une couche dite de service qui implémente les règles métier.

Le but de ce billet n’est pas de dire quel framework est mieux qu’un autre. Ils permettent tous d’arriver aux mêmes résultats. Toutefois, certains permettent de mieux scaler que d’autres de par leur nature.

Attention aux pièges

La facilité d’usage de ces frameworks et la rapidité avec laquelle ils permettent d’implémenter une fonctionnalité dans toutes les couches fait que l’on va facilement tomber dans le travers de coupler notre contrôleur à la vue.

En effet, chaque framework lie le contrôleur à la vue à sa façon mais très souvent cela est explicité dans le contrôleur.

Résultat : Si on veut utiliser la même pile technique pour créer une application mobile, il faut repasser sur pas mal de code.

Un conseil donc : si vous prévoyez de développer plusieurs “interfaces graphiques” pour votre projet :

  • Un site internet
  • Une application mobile hybride
  • Une application native iOS
  • Une application Apple Watch
  • Un objet connecté

N’utilisez pas la couche vue proposée par le framework ! Partez dès le départ avec une architecture qui vous permettra de grandir facilement.

Alors oui, pour un MVPil faut aller vite, sortir le produit rapidement pour avoir du feedback bla bla bla” etc…

Mais partir sur des bases propres ne vous prendra pas plus de temps. Au contraire cela vous fera gagner de précieux jours de développement et réduira votre dette technique.

De plus, les frameworks cités plus hauts sont tout à fait désignés pour fonctionner en mode API REST alors n’hésitez pas.

Dans vos contrôleurs n’envoyez donc pas de HTML préformaté, mais du JSON qui pourra être interprété par n’importe quel client. Idem pour les données en entrée. N’attendez pas des données de formulaire encodées mais également du JSON.

Comment aller encore plus vite ?

Si l’idée de repartir de zéro pour créer votre API REST avec l’un de ces frameworks ne vous enchante pas, des solutions comme Apiloop vous permettent de construire cette API REST de façon dynamique en fonction de votre modèle de données sans écrire une ligne de code.

Et en prime vous obtenez la génération du frontend associé :

que vous pouvez modifier et publier dans le cloud à votre guise en quelques clics.

En en plus tout le versionning de code, le déploiement continu, la recherche, la qualité, la collaboration sont gérés automatiquement.

Apiloopement,
Chafik