25-07-2019, 10:22 PM
(Modification du message : 25-07-2019, 10:23 PM par Sephi-Chan.)
Depuis que je fais des single page apps (dans mon cas en React plutôt qu'avec Vue), je n'utilise plus trop d'API REST. A la place, j'utilise WebSocket pour des communications bilatérales en temps-réel, avec une couche d'abstraction qui permet l'utilisation de channels.
J'utilise bien sûr toujours JSON pour la sérialisation des données échangées entre le client et le serveur.
Une API qui passe par HTTP (RESTful ou non) peut tout à fait être utilisé par d'autres services (on utilise généralement un protocole comme OAuth pour la gestion des permissions), mais dans ton cas, le site de ton jeu sera le seul consommateur de l'API (au moins au début) : tu lui enverras des requêtes asynchrones (via XMLHttpRequest, Ajax quoi), elle te retournera du JSON, tu t'en servira pour faire muter l'état de ton app Vue, etc.
Tu peux aussi mélanger les deux : faire des requêtes Ajax et recevoir des push du serveur par WebSocket, quand une tâche de fond du serveur signalera la fin de la construction d'un bâtiment ou une unité.
J'utilise bien sûr toujours JSON pour la sérialisation des données échangées entre le client et le serveur.
Une API qui passe par HTTP (RESTful ou non) peut tout à fait être utilisé par d'autres services (on utilise généralement un protocole comme OAuth pour la gestion des permissions), mais dans ton cas, le site de ton jeu sera le seul consommateur de l'API (au moins au début) : tu lui enverras des requêtes asynchrones (via XMLHttpRequest, Ajax quoi), elle te retournera du JSON, tu t'en servira pour faire muter l'état de ton app Vue, etc.
Tu peux aussi mélanger les deux : faire des requêtes Ajax et recevoir des push du serveur par WebSocket, quand une tâche de fond du serveur signalera la fin de la construction d'un bâtiment ou une unité.