Je dois démarrer un nouveau projet (web + natif) (application de taille moyenne) à partir de zéro. En raison de la pléthore de frameworks JS et de leur mise en œuvre, en particulier au cours des deux dernières années, j'ai eu un deuxième doute sur ma pile habituelle.
J'ai utilisé react + redux sur le front-end avec Node et MongoDB sur le backend communiquant via REST API).
Pour ce nouveau projet, j'ai décidé d'aller avec React-Native + React Native for Web + Node + PostgreSQL. Cependant, je me demande quel framework je devrait utiliser pour la récupération des données et la gestion des états/magasins.
Jusqu'à présent, redux a bien fonctionné pour moi. Cependant, en raison de la nature de l'évolution de JS. Je suis un peu sceptique quant à l'utilisation de la même pile que j'utilisais dans le passé.
Quels sont les avantages et les inconvénients si je choisis la pile suivante
React-Native + React-Native-For-Web + Redux + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Relay + GraphQL + Node + PostgreSQL
React-Native + React-Native-For-Web + Apollo + GraphQL + Node + PostgreSQL
J'ai lu de nombreux articles indiquant les avantages de l'utilisation de chaque framework, mais la quantité de contenu et d'articles est un peu effrayante. Je comprends qu'il n'y a pas de bonne ou de mauvaise réponse. Cependant, il serait agréable de savoir quelle pile susmentionnée va bien ensemble en gardant à l'esprit - moins de courbe d'apprentissage, une bonne documentation, une maintenabilité, moins de solutions de contournement.
Je pense que si vous venez d'un React + fond Redux, alors Apollo devrait être le chemin à parcourir pour vous!
Remarque: Si vous êtes un nouveau venu dans GraphQL, je vous recommande de consulter Comment GraphQL où vous trouverez des tutoriels à la fois sur Relay et Apollo.
Quelques informations:
updateQueries
.Jetez un oeil à ce article détaillé comparant Relay et Apollo pour plus d'informations de fond.
Si vous souhaitez en savoir plus sur Relay et Apollo, consultez le site Web du didacticiel How to GraphQL .
Par ailleurs, une autre option pour le backend si vous ne voulez pas le construire vous-même serait Graphcool (avertissement: je travaille pour eux :)).