3 votes

Angular 4 vs React performance - théorie vs réalité

Il s'agit en fait de la même chose, de la même chose x vs y, what is faster? mais j'espère que ma version est applicable. De plus, React et Angular diffèrent comme GTK et Qt (ou même plus), et les comparer est stupide - l'un est un framework prêt à l'emploi qui peut tout faire, tandis que l'autre est un framework View conçu pour ne faire que cela. Si ma question reste sans réponse ou subjective et doit être fermée, merci de m'écrire un commentaire sur la façon de l'améliorer à l'avenir, si possible. Je vous remercie de votre attention.

Il s'agit d'une question sur Angular 2+ vs React en termes de performance. Mon équipe va construire une SPA pour une fonctionnalité identique avec chaque framework.

Supposons :

  • le temps de développement des deux versions devrait être égal ou similaire
  • les fonctionnalités non liées à la vue (où Angular diffère de React) ne sont pas importantes pour la mesure et le temps de développement, les mises à jour de la vue sont fréquentes et constituent le goulot d'étranglement.
  • la performance mesurée est celle de l'état stable après le chargement initial de la page (toutes les données de la page se trouvent donc dans la mémoire)
  • les deux applications sont construites de la manière recommandée par le manuel concerné
  • rendu côté client uniquement, avec des données essentiellement dynamiques (donc peu de rendu côté serveur ou de compilation à l'avance)

Il est difficile de raisonner sur les VM Javascript, mais mes deux questions portent exactement sur leur comportement :

  1. Y aurait-il un gagnant clair en termes de performances une fois que la JIT de la génération actuelle a fait son travail (en optimisant autant que possible) ou les performances finales seraient-elles égales ?
  2. En 2027, nous utiliserons encore des navigateurs web (probablement Chrome 256 ou Firefox 384). Supposons que les deux frameworks existent toujours et qu'ils conservent la même stratégie / mécanique de base qu'aujourd'hui. Les VM Javascript des navigateurs / JIT se sont améliorés de plus en plus, mais je garde mon ordinateur portable actuel pour mesurer les performances. Quel cadre gagnerait probablement en 2027 ? Ou pour reformuler la question : quelle stratégie est théoriquement la plus optimale / "plus proche du métal" (ou dans ce cas : plus proche des modèles d'exécution Javascript) ?

PS : Je suis presque certain qu'en 2027 nous n'utiliserons ni l'un ni l'autre, et cette question ne porte pas non plus sur le cadre que chacun devrait préférer, mais uniquement sur les performances théoriques. La question de savoir quel cadre serait "plus proche du métal" a été soulevée un soir entre amis et ne devrait pas être utilisée par qui que ce soit pour prendre une décision. Ne prenez jamais de décisions importantes en état d'ébriété ou tard dans la nuit.

0voto

Al Gebra Points 23

Mon expérience, mais pas la décision finale

J'ai commencé avec Angular et je voulais voir ce que React pouvait faire. React n'est certainement pas mauvais, mais ce que j'ai immédiatement remarqué, c'est le désordre qui peut régner. Cela dépend du développeur, bien sûr, mais avec Angular et TypeScript, tout semble plus ordonné et structuré. Le modèle et le code sont séparés et avec React, vous avez le JSX, c'est-à-dire du HTML en JavaScript qui est du JavaScript. Cela me rappelle un peu PHP et je n'ai jamais aimé cela, parce que lorsqu'un projet devient extrêmement grand, vous perdez vraiment le fil. Pour un composant, on peut facilement avoir 3 à 5 fichiers et c'est mauvais à mon avis. Avec Angular, vous pouvez également perdre la vue d'ensemble, mais vous avez une structure uniforme avec quelques écarts.

Si votre application devient vraiment très très grosse alors il est logique d'utiliser Redux mais pourquoi les gens se compliquent la vie. Si vous voulez juste vérifier si un utilisateur s'est connecté ou non pour un site de commerce électronique de taille moyenne, les services feront également l'affaire.

À mon avis, l'utilisateur doit se concentrer sur son travail. Redux c'est bien mais nous ne devrions pas ajouter tous les nouveaux outils qui arrivent chaque semaine à notre projet, ce qui réduirait les coûts et le temps de façon spectaculaire. Mais si vous ajoutez de nouveaux outils, vous devez aussi avoir des personnes qui peuvent les gérer plus tard. Cela ne signifie pas que si vous utilisez tous les outils, votre application est bonne ou que vous êtes automatiquement un bon développeur. À mon avis, gardez tout aussi simple que possible et utilisez les outils dont vous avez réellement besoin pour répondre à vos exigences.

Et d'ailleurs je ne comprends pas pourquoi les gens veulent encore utiliser Vaadin, Spring Boot avec Angular en combinaison. Peut-être que quelqu'un peut m'expliquer ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X