Bonjour,

Ma question ne porte pas réellement sur un problème d'utilisation mais je cherche à savoir qu'elle pratique est la plus recommandée sur le développement d'une application, quelle qu'elle soit, peu importe ici, en utilisant le couple Laravel / React.js

Est-il mieux d'intégrer React.js dans Laravel ou d'avoir un Laravel qui sert les API et un React qui utilise ces mêmes API?

Dans l'attente de vos retours (et poruquoi pas de vos retours d'expériences de mise en place)

6 réponses


El_Matella
Réponse acceptée

Salut, je me suis souvent posé la question avec le couple VueJS/Laravel, mais j'ai finit par séparer tous mes projets.. Pour moi ça a les avantages suivants:

Ca te permet de séparer tes préférences de projet dans ton IDE en fonction du langage. Tu n'utilises pas les mêmes outils pour faire du react que pour faire du PHP (eslint etc...), tu as des préférences différentes, tu peux même avoir des fichiers de configuration différents. Bref, finalement ce sont deux projets qui sont pour moi complètement différents.

En plus de cela, si un jour tu souhaites "scaler" ton application, tu vas devoir utiliser plusieurs serveurs pour supporter la charge, mais le besoin du serveur qui sera censé délivrer l'application React n'aura peut-être pas les mêmes besoins que tes serveurs qui feront tourner ton PHP.

La seule fois où j'ai éventuellement vu un intérêt de faire un seul dossier en front et en back c'était en utilisant nodeJS pour le back. Je me suis dit que je pouvais partager des fichiers utilitaires (par exemple des fonctions qui sont capables de calculer des marges sur un objet commande, que je retrouvais sur le front comme sur le back), bref pour partager du code. Et encore une fois ici, le seul argument est que ça peut faire gagner en temps pour un petit projet.

Le plus dur en séparant les deux projets, c'est de ne pas tout coder en même temps. Et ça j'avoue que j'ai encore du mal. Mais je pense que si on veut vraiment être efficace, il faut faire un cahier des charges hyper précis de son projet, construire son API, et ensuite créer l'application front (react dans ton cas) en s'adaptant à l'API.

C'est mon avis et j'ai peut-être tort... Finalement le mieux c'est de faire ce qui te rend le plus à l'aise

Je te conseil d'utiliser laravel ou lumen en tant qu'API et s'utiliser juste React en appli standard que tu pourras par la suite déporté en react native si besoins pour faire une appli mobile

Salut Lanfear,

Qu'elle genre d'application et dans qu'elle but ? Tu veux faire de l'optimisation de rendue, optimiser le temps de réponse, faire une app mobile (react native), etc. ?

En fonction les possibilités peuvent être différentes. Tu peux imaginer avoir un laravel sur un serveur pour faire un api et un autre serveur qui fait que le rendu react et avoir un troisième serveur de cache pour les données. Tu as beaucoup de possibilités en fonction de tes besoins (Temps, argent, etc.).

Pour le moment je n'ai pas d'app en tete, c'est vraiment pour le coté conceptuel de la mise en application. J'ai pas l'impression que ce soit super évident de mettre du react à coté de blade, de passer les trad laravel sur les composents react ... et ainsi de suite.

Je me dit que si je sépare les 2 ca peut etre plus simple.

Le blade tu peut ne pas t'en servir si tu fais tout en api. Ce qui parait plus logique pour laisser react gérer vraiment le dom.

Merci pour ce retour, c'est ce genre d'expérience qui m'intéresse pour définir mon utilisation futur des 2 technos