web-dev-qa-db-fra.com

AngularJS vs ReactJS

Je décide quel framework JavaScript utiliser pour ma nouvelle application web. Je voulais utiliser Angular, mais j'ai récemment entendu parler de React. Le problème est - je n'ai pas trouvé une très bonne comparaison entre les deux. La plupart des articles qui font une comparaison sont "pro-réactifs", et ne sont pas d'une grande aide pour comparer, mais montrent seulement pourquoi réagir est meilleur. par exemple.

https://www.codementor.io/reactjs/tutorial/react-vs-angularjshttp://www.quora.com/Pete-Hunt/Posts/Facebooks-React- vs-AngularJS-A-Closer-Look

Une expérience réelle ou une comparaison qui énonce les avantages et les inconvénients des deux? Merci pour votre contribution

[~ # ~] update [~ # ~] - Peut-être qu'un petit exemple aiderait, comment faire de même dans les deux frameworks et comparer les avantages/les inconvénients

Exemple: J'ai une liste d'entreprises dans un tableau. Chaque ligne correspond à 1 entreprise, chaque colonne contient des informations sur l'entreprise (nom, adresse, nombre d'employés ..) Il y a beaucoup d'entrées, et j'ai besoin de paginer et de trier (côté serveur)

41
Asped

J'ai une expérience raisonnable avec React, et fondamentalement aucune avec Angular. Donc, ce que je vais dire à propos de Angular vient de ce que j'ai lu et entendu d'autres personnes.

React

Avantages

  1. Facile à apprendre
  2. Les composants isolés sont plus faciles à entretenir
  3. La méthode "Always Re-render" de React est sympa pour le rendre plus facile à comprendre quand les choses deviennent complexes
  4. Flux est une très bonne alternative au modèle MVC. Le flux de données unidirectionnel contribue à la maintenabilité et à la cohérence des données et des éléments DOM. Combiné avec les structures de données Immutable.JS, c'est la cerise sur le gâteau :)

Contre

  1. Ne joue pas Nice avec les bibliothèques de manipulation DOM (par exemple: jQuery)
  2. Cela change vraiment la façon dont vous faites les choses, en particulier si vous utilisez Flux, ce qui est bien, mais il faut un peu de temps pour s'y habituer.
  3. J'ai trouvé des cas où le nouveau rendu ralentit à chaque fois l'application lorsque les composants gèrent un grand ensemble de données sur la méthode de rendu. L'optimisation des performances dans ces cas peut devenir un peu délicate.

Angular

Avantages

  1. Bonne documentation
  2. Les membres de la communauté sont utiles (il est facile de trouver de bonnes réponses ici sur SO).
  3. La liaison de données bidirectionnelle rend certaines choses très faciles à mettre en œuvre

Contre

  1. Problèmes de performances: pour effectuer une liaison de données bidirectionnelle, il doit vérifier les modifications apportées à votre modèle de données. Il doit également analyser votre code HTML pour que sa magie fonctionne. Cela ralentit les choses et, si l'application fonctionne sur un appareil mobile, elle décharge la batterie plus rapidement
  2. Logique répartie entre HTML et JS: code plus difficile à comprendre, à maintenir et à déboguer.
  3. v2 venant résoudre certains problèmes, mais rendant tout le code v1 obsolète
42
Breno Ferreira