L'auteur du matériel, dont nous publions la traduction aujourd'hui, propose de réfléchir sur l'avenir du développement web. Alors que les tendances de popularité de la technologie commencent à évoluer vers la bibliothèque React, il est facile de sentir l'importance de la question de la pertinence, après un certain temps, du cadre angulaire. Il est clair qu'au final, une seule technologie obtiendra la première place, ce qui oblige les développeurs Web, en particulier ceux qui commencent à peine, à se demander quoi choisir.

Depuis que Facebook a changé la licence React de BSD en MIT, cette bibliothèque semble s'être épanouie dans tous les coins du marché mondial du développement Web. Cependant, les hommes d'affaires et les startups ne comprennent généralement pas immédiatement cela non plus, React n'est pas un système complet pour le développement frontal. Il s'agit simplement d'une bibliothèque, l'un des nombreux éléments constitutifs, parmi de nombreux autres qui aident à transformer rapidement une petite application en un projet plus vaste, en un système basé sur des composants isolés les uns des autres.
Confrontation React et Angular
Facebook est souvent utilisé comme un excellent exemple du succès de React. Mais cette bibliothèque n'est qu'une goutte dans l'océan de l'énorme quantité de technologie que ce géant technique utilise. Ce n'est, après tout, qu'une bibliothèque JavaScript pour développer des interfaces.
Angular, d'autre part, est une collection de bibliothèques qui, travaillant ensemble, forment un tout unique.
Il y a certaines tâches qui peuvent être résolues qualitativement au moyen d'Angular, qui sont complètement négligées dans React, tandis que quelque chose d'autre dans React est plus efficace. Les développeurs seront toujours enclins au fait qu'ils connaissent bien et, par conséquent, n'essaieront même pas de regarder d'autres paradigmes qui pourraient mieux convenir à leur situation. Ou peut-être que ce type de pensée est souvent caractéristique des développeurs débutants et intermédiaires.
Malgré la popularité croissante de React, il ne faut pas oublier qu'Angular bénéficie du soutien sérieux d'une entreprise qui n'est pas inférieure en taille à Facebook, ou même la surpasse. Il s'agit de Google. Dans le même temps, des écosystèmes tout aussi puissants se sont développés autour de méthodologies de développement frontales promues par Angular et React, dans lesquelles il y a des événements graves, ainsi que de grands spécialistes qui plaident pour telle ou telle technologie. Certes, il existe une autre technologie qui se développe en termes de popularité, située, à en juger par ce qu'elle offre au développeur, entre Angular et React. Ceci est le cadre Vue.
Vue
Données de Google Trends. Ligne Rouge - Angulaire, Bleu - Réagir, Jaune - VueLe framework Vue est un nouveau venu dans la «classe» des outils de développement front-end, sa popularité augmente progressivement, donc, en parlant de React et Angular, nous ne devons pas l'oublier. Bien que la communauté autour de Vue soit beaucoup plus petite que les communautés Angular et React, la popularité croissante de Vue peut s'expliquer par le fait qu'il s'agit d'un outil léger, pas aussi complexe qu'Angular, mais offrant au programmeur plus de fonctionnalités que celles fournies dans la fonctionnalité de base de React.
Le créateur de Vue est très familier avec le framework AngularJS. Les principes sur lesquels il est basé sont beaucoup plus forts que dans le cas d'Angular moderne, rappelant les principes sous-jacents de React.
Les défis de l'adoption de la technologie et les habitudes des programmeurs
Sans aucun doute, il est facile de comprendre React, il suffit de créer une application entièrement fonctionnelle basée sur cette bibliothèque, qui, sans aucun problème, peut être convertie en une application mobile native. Cette bibliothèque est populaire parmi les développeurs débutants.
Il est plus difficile de maîtriser Angular avant de pouvoir créer quelque chose sur la base de ce cadre, vous devrez faire face à des choses supplémentaires. Ce cadre emprunte les concepts et l'idéologie Java, une technologie qui est principalement utilisée pour le développement backend et joue un rôle essentiel dans l'infrastructure logicielle de Google. Sur Facebook, en revanche, PHP est largement utilisé, ce qui a conduit à une forte influence sur les principes adoptés dans ce langage par React.
Vous pouvez facilement passer toute la journée à comparer React et Angular, mais la chose la plus importante à tirer de cette comparaison est que ces deux systèmes se distinguent par des communautés puissantes et sont capables d'attirer des programmeurs expérimentés avec certaines technologies. Il convient de noter que les startups sont plus enclines à React, car elles s'efforcent de faire en sorte que les outils qu'ils utilisent fournissent le niveau de charge supplémentaire le plus faible possible pour les développeurs. Leur survie dépend de la rapidité avec laquelle ils sont capables d'entrer sur le marché, de leur capacité à satisfaire la demande et de la précision avec laquelle ils peuvent s'adapter aux tendances.
Mais de nombreuses startups manquent une chose importante: plus les barrières à l'entrée sont basses, plus la qualité est faible. Alors que de plus en plus de programmeurs autodidactes s'appuient sur les ressources de la communauté autour de React, certaines choses, telles que les paradigmes de programmation et la propreté du code, disparaissent en arrière-plan. Cela ne veut pas dire que tout est beaucoup mieux dans l'environnement Angular, mais dans le cas d'Angular, le programmeur doit travailler dans le cadre plutôt rigide prescrit par ce cadre. React n'a pas un tel cadre.
Vue a son propre petit espace de vie, ce cadre est destiné à être la réponse à la question qui est la meilleure, Angular ou React, pour ceux qui ne veulent pas commencer les barricades de l'une des parties belligérantes, en commençant le chemin d'un développeur Web.
Qu'est-ce qui utilise Netflix?
Il s'avère que Netflix, parmi de nombreuses autres technologies et outils d'infrastructure, utilise React. Si vous imaginez un dispositif d'application, pour ainsi dire, à vol d'oiseau, il s'avère que les technologies frontales ne représentent qu'une petite partie de ce qui est utilisé dans le projet.
PayPal, quant à lui, utilise Angular, il produit des séquences de
ng
caractères, çà et là trouvés dans le code HTML généré par les ressources de l'entreprise.
PayPal HTMLNetflix et PayPal sont d'énormes entreprises qui occupent certaines niches de marché. Les deux sont complètement indépendants d'Angular ou de React, dans le sens où Google et Facebook leur sont associés. Mais chacune de ces sociétés, choisissant respectivement React ou Angular, résout à l'aide de l'une ou l'autre technologie la tâche de développer les interfaces de ses applications.
Ici, nous pouvons dire que le code hérité, ou toute autre chose, a influencé le choix des technologies par ces entreprises. Mais les deux sociétés disposent de ressources suffisantes pour embaucher autant de programmeurs que nécessaire pour travailler sur leur code en utilisant les technologies sélectionnées.
À propos, il est intéressant de noter que GitLab, depuis 2016, utilise
Vue .
L'outil n'est pas l'essentiel. L'essentiel est de résoudre les problèmes
On a le sentiment que dans des débats houleux sur la meilleure technologie que l'autre, ils oublient une question très importante, qui est exactement ce qui est le mieux à même de résoudre un certain problème, pour aider à atteindre un certain objectif.
Si l'objectif est la vitesse de développement avec un petit budget, il est probablement préférable de regarder vers React. Si vous avez besoin de quelque chose de plus ambitieux, holistique et bien adapté pour le partage, un ensemble d'outils qui permet, en raison de la nécessité d'une étude assez sérieuse de cet ensemble d'outils par les développeurs, de créer des solutions plus fiables, alors vous devriez choisir Angular. Mais que se passe-t-il si vous devez tirer le meilleur parti des mondes de React et Angular? Les partisans de Vue verront certainement dans cette situation un bon exemple de leur framework préféré.
La popularité d'Angular ne diminue pas avec le temps. Nous pouvons plutôt parler de déplacer le centre d'attention. Alors que React mange un «morceau de gâteau» plus grand que l'écosystème de développement Angular, Angular, malgré la croissance de React, ne pense toujours pas à perdre du terrain.
Informations sur les résultats de recherche de Google Trends depuis 5 ans. Red Line - Angular, Blue - ReactDe plus, il convient de noter qu'Angular, vous pouvez dire, a pratiquement reconstruit sa communauté après que ce cadre est passé d'AngularJS à ce qui existe aujourd'hui. Bien que ce framework ait eu beaucoup de followers, tous, après la sortie d'Angular 2, ont dû réapprendre.
Si nous analysons la situation dans cet esprit, il s'avère que Angular, sous la forme dans laquelle il est connu aujourd'hui, a trois ans de moins que React. La version originale d'Angular, en raison de ses différences avec Angular 2+, peut en fait être ignorée.
Résumé
Si vous êtes un développeur novice qui essaie de trouver une réponse à une question sur ce qu'il doit apprendre, il est recommandé de ne pas trop y penser. Après tout, en fin de compte, cela revient au JavaScript ordinaire, il est donc préférable d'apprendre d'abord les technologies de base, puis de traiter toutes sortes de «choses intéressantes».
Quelle que soit la technologie que vous choisissez, vous aurez affaire à des idées qui s’appliquent à d’autres technologies qui facilitent le traitement. La chose la plus importante est d'étudier très bien votre premier framework et d'apprendre à en faire quelque chose qui va au-delà de la célèbre application ToDo.
Efforcez-vous de devenir un développeur qui connaît bien les paradigmes de programmation, n'essayez pas de vous attacher trop à une chose. Entre autres, étudier l'architecture des applications, la conception et le développement de composants, comprendre les caractéristiques du comportement des flux de données dans les applications et maîtriser les technologies de gestion de l'état des applications.
La possibilité d'utiliser librement, quelle que soit la plate-forme spécifique, des connaissances et des compétences de ce type - c'est ce qui distingue les programmeurs débutants et les programmeurs de niveau intermédiaire des spécialistes de haut niveau.
Chers lecteurs! Quelles considérations suivez-vous lorsque vous choisissez des outils de développement frontaux pour vos projets?
