Passer au contenu principal

Quel cadre est le meilleur? 2021

Il existe trois cadres pour la construction de fins réseau dont chaque développeur frontend a entendu parler: Réagir, Vue.js, et Angulaire.

React est une bibliothèque d'interface utilisateur, Angular est un framework frontal à part entière, tandis que Vue.js est un framework progressif.

Ils peuvent être utilisés pratiquement de manière interchangeable pour créer des objectifs frontaux, mais ils ne sont pas identiques à 100%, il est donc judicieux de les vérifier et de percevoir leurs variations.

Chaque framework est basé sur des composants et permet la création rapide d'options d'interface utilisateur.

Cependant, ils ont tous une construction et une structure uniques - nous allons donc d'abord examiner leurs variations architecturales pour saisir la philosophie qui les sous-tend.

Architecture

Réagir

React n'implémente pas une construction de défi sélectionnée, et comme vous pouvez le voir exemple officiel «Hello World» sous, vous pouvez commencer à utiliser React avec seulement quelques traces de code.

ReactDOM.render ( Bonjour le monde! , doc.getElementById ('racine'));

React peut être utilisé comme bibliothèque d'interface utilisateur pour rendre des pièces, sans imposer une construction de défi sélectionnée, et c'est pourquoi ce n'est pas strictement un cadre.

Éléments de réaction sont les plus petits blocs de construction d'applications React. Ils sont plus efficaces que les parties DOM car le DOM React rend positif pour les remplacer efficacement à tout moment lorsqu'une chose change.

Composants sont des blocs de construction plus grands qui décrivent des éléments non biaisés et réutilisables à utiliser tout au long de l'application. Ils se contentent d'intrants appelés accessoires et produisent des pièces qui pourraient ensuite être exposées au consommateur.

React repose sur JavaScript, mais il est largement mélangé avec Jsx (JavaScript XML), une extension de syntaxe qui vous permet de créer des parties qui incluent HTML et JavaScript au même moment.

Tout ce que vous créez avec JSX peut être créé avec l'API JavaScript React, mais la plupart des constructeurs préfèrent JSX car il est très intuitif.

Vue

La bibliothèque principale Vue.js se concentre uniquement sur la couche View. Il est connu comme un cadre progressif car vous pouvez prolonger ses performances avec des packages officiels et tiers, équivalents à Routeur Vue or Vuex, pour le montrer dans un cadre précis.

Bien que Vue ne soit tout simplement pas strictement lié à l'exemple MVVM (Model-View-ViewModel), sa conception en a été en partie impressionnée. Avec Vue, vous travaillerez totalement sur la couche ViewModel, pour être sûr que les informations d'application sont traitées dans une méthode qui permet au framework de rendre une vue à jour.

Vue de syntaxe de modèle vous aide à créer des parties de vue et combine du HTML familier avec des directives et des options particulières. Cette syntaxe de modèle est la plus populaire, malgré le fait que JavaScript et JSX non cuits soient également pris en charge.

Composants dans Vue sont petits, autonomes et seront réutilisés tout au long de l'application. Composants de fichier unique (SFC) avec le .vue L'extension inclut HTML, CSS et JavaScript afin que chaque code associé réside dans un seul fichier.

Les SFC sont la méthode vraiment utile pour organiser le code dans les tâches Vue.js, en particulier les plus grandes. Des outils équivalents à Webpack ou Browserify sont nécessaires pour transpiler les SFC en code JavaScript fonctionnel.

Angulaire

Dans ce texte, je parle d'Angular 2, et jamais du modèle principal du framework qui est maintenant souvent appelé AngularJS.

AngularJS, le framework unique, est un framework MVC (Model-View-Controller)). Mais en 2 angulaire, il n'y a pas d'affiliation stricte avec les modèles MV * car il est généralement basé sur des composants.

Les projets en Angular sont structurés en Modules, Composants, et Services. Chaque utilitaire angulaire a au moins un élément racine et un module racine.

Chaque élément dans Angular incorpore un modèle, une classe qui définit la logique d'application et des métadonnées (décorateurs). Les métadonnées d'un élément indiquent à Angular l'endroit où rechercher les blocs de construction qu'il doit créer et actualiser sa vue.

Les modèles angulaires sont écrits en HTML mais peuvent comprendre Syntaxe du modèle angulaire avec des directives particulières pour produire des informations réactives et rendre un certain nombre de parties, parmi différentes questions.

Les services dans Angular sont utilisés par les composants pour déléguer des tâches de logique métier équivalentes à la récupération d'informations ou à la validation d'entrée. Ils font partie intégrante des objectifs angulaires. Bien qu'Angular n'implémente pas leur utilisation, il est extrêmement recommandé de construire des applications comme un ensemble d'entreprises distinctes pouvant être réutilisées.

Angular est TypeScript intégré, donc son utilisation est vraiment utile pour obtenir l'expertise la plus transparente, mais JavaScript simple peut également être pris en charge.

Popularité

Réagir

React est sans aucun doute l'une des tâches JavaScript les plus chaudes avec 160 XNUMX étoiles sur GitHub. Il est développé et maintenu par Facebook, et il est utilisé en interne dans de nombreuses tâches. En outre, il alimente plus de 2 millions de sites Web, conformément à BuiltWithstatistiques d'utilisation de.

Vue

Sur les trois frameworks, Vue a essentiellement le plus d'étoiles sur GitHub, avec 176k étoiles. Le défi est développé et dirigé par l'ex-Googler Evan You. C'est un défi vraiment solide et impartial au sein du groupe open-source et est utilisé par plus d'un million de sites Web, conformément à BuiltWith.

Angulaire

Angular est développé par Google, mais étonnamment, il n'est pas utilisé dans certains de leurs produits phares équivalents à la recherche ou à Youtube. Il est généralement utilisé dans les tâches d'entreprise et alimente plus de 97,000 sites Web principalement basés sur BuiltWithles informations.

C'est le moins étoilé parmi les trois nombreux cadres, avec 68k étoiles sur GitHub. Cependant, lors du passage de Angular 1 à Angular 2, ils ont créé un tout nouveau référentiel comme alternative à la AngularJS défi, qui compte en outre 59 XNUMX étoiles.

Écosystème

Les packages open-source évitent le temps précieux lors de la création des objectifs. Non seulement cela, mais ils sont généralement plus élevés que les pièces et les ensembles sur mesure car ils ont été testés au combat.

Il est essentiel de jeter un œil à la fourniture de pièces, de thèmes et de différents instruments prêts à l'emploi qui peuvent vous montrer comment créer de nouvelles options plus simplement.

Réagir

De nombreux objectifs frontaux dépendent de l'administration publique mondiale des données des détaillants, ce qui équivaut à qui est connecté et aux différents paramètres du consommateur.

Le défi le plus important pour l'administration d'état JavaScript est Redux. La plupart des constructeurs utilisent le fixations officielles React pour Redux, qui sont maintenus par le groupe Redux.

En raison de la réputation de React, découvrir des pièces d'entrée et des pièces prêtes à l'emploi est extrêmement simple. Ils ne sont tous qu'à une recherche Google ou GitHub.

L'écosystème React contient en outre Réagir Native qui vous permet de créer des objectifs natifs iOS et Android à partir d'une seule base de code écrite en React. Donc, React est généralement une bonne alternative pour construire des objectifs cellulaires en utilisant également les sciences appliquées au net.

React fait partie de la pile MERN, qui intègre MongoDB, ExpressJS, React et NodeJS. La chose merveilleuse à propos de ce mélange est {qu'un} langage unique - JavaScript - alimente l'ensemble de l'utilitaire.

Vue

Même si Redux peut être utilisé dans Vue, il n'y a pas de liaisons officielles. Mais cela ne devrait pas vous craindre à cause de Vuex est la bibliothèque officielle d'administration de l'État spécialement conçue pour les besoins de Vue. En plus de s'intégrer très efficacement à Vue, il est simple de déboguer à l'aide des instruments de développement de Vue.

Au début de Vue, il était plus difficile de rechercher des pièces prêtes à l'emploi. Depuis que le groupe s'est développé, il existe une variété de pièces d'entrée et de pièces de qualité supérieure que vous devriez utiliser pour accélérer votre amélioration.

Pour l'amélioration des applications mobiles, il existe un défi à venir appelé Weex. Weex est développé et utilisé par Alibaba, mais il n'est pas aussi mature et très efficace que React Native. De plus, parce que le défi est développé et utilisé plus en Chine, il est plus difficile de rechercher de la documentation et des options de points en anglais.

Vue s'intègre efficacement à Laravel, et c'est pourquoi ils sont généralement utilisés collectivement. Laravel présente plein Échafaudage JavaScript et CSS pour permettre l'utilisation de Vue dans de nouvelles tâches.

Angulaire

Pour l'administration de l'état dans Angular, vous devez utiliser le NgRx défi. Il a été impressionné par Redux, mais il a été spécialement créé pour Angular.

Comme dans le cas de Vue et React, il existe de nombreuses parties prêtes à l'emploi que vous pouvez importer dans vos tâches. Ce qui est à peine totalement différent à propos d'Angular, c'est qu'il existe de nombreuses parties officielles dans le Matériau angulaire défi. Il s'agit d'un défi officiel de Google qui donne des pièces de conception matérielle à des fins angulaires.

Vous pouvez créer des objectifs cellulaires multiplateformes dans Angular en utilisant NativeScript. Cela aide Vue aussi efficacement, mais l'aide angulaire est très mature.

Angular fait partie de la célèbre pile MEAN qui mélange Angular avec MongoDB, ExpressJS et NodeJS. Semblable à la pile MERN, il dépend totalement de JavaScript pour chaque front-end et back-end.

Technologies communes

Angular, React et Vue peuvent tous être utilisés pour développer des applications Web progressives, également appelées PWA.

Les PWA ne doivent pas être utilisés à des fins cellulaires, mais à des fins nettes que les clients de smartphones peuvent ajouter comme raccourcis à l'écran de leur maison et fournir une apparence et une sensation comme les applications cellulaires natives.

Vous pouvez découvrir des modèles premium et des objectifs prédéfinis pour chaque framework, mais Angular et React ont des choix premium supplémentaires accessibles que Vue.

performance

Lors de la sélection d'un framework ou d'une bibliothèque, vous voulez prendre en compte l'efficacité aussi efficacement.

Dans de nombreuses circonstances, vous n'avez pas à vous soucier de l'efficacité, en particulier si vous créez un petit défi. Cependant, plus un défi prend de l'ampleur et de la complexité, l'efficacité peut (et peut) devenir une priorité.

Il est essentiel de noter que la norme d'amélioration et le respect des meilleures pratiques en matière d'efficacité nette sont plus vitaux que le choix du cadre.

Mais comme il existe des mesures et des variations d'efficacité, je vais les examiner et clarifier comment chacune peut avoir un effet sur vos efforts d'amélioration.

JS Framework Benchmark: Angular vs React vs Vue

Les résultats de la Benchmark de JS Framework présenter que tous exécutent assez efficacement la plupart des benchmarks, ce qui équivaut à créer ou ajouter des lignes dans un bureau.

JS Benchmark

Comme vous pouvez le voir ci-dessus, Vue est nettement plus lent que Angular et React pour choisir les lignes. En revanche, Angular et React ne devraient pas être très respectueux de l'environnement lors de l'échange de lignes.

Ce sont les seules variations importantes dans le rendu des repères - et normalement, ne produisent pas de résultats visibles. Puisque le choix des lignes est une performance plus répandue que l'échange de lignes, je dirais que ce benchmark place Vue à la troisième place derrière Angular et React qui partagent la place la plus élevée.

Lorsqu'il s'agit de réminiscence et de temps de démarrage, React et Vue notent très efficacement, cependant Angular est un peu plus lent. Angular peut prendre 150 ms en plus d'un script fondamental et nécessite une réminiscence supplémentaire pour s'exécuter.

Perf Track: Angular vs React vs Vue

Piste Perf by Google Chrome Labs présente des informations de fabrication provenant de milliers de sites Internet. Ces statistiques sont affectées par de nombreux problèmes différents et jamais uniquement par le cadre de l'alternative, mais jetons un œil aux chiffres.

Piste Perf

Première peinture contentieuse

Les sites Web Vue et React se classent mieux pour cette métrique par rapport à Angular, ce qui peut prendre plus de temps en plus et le contenu actuel du consommateur.

La plus grande peinture riche en contenu

Angular peut également être le plus lent parmi les trois nombreux frameworks à rendre une page Web entière, avec seulement 27 pc de sites Web Angular notés dans la fourchette acceptable.

Premier délai d'entrée

Pour les trois cadres, plus de 80 pc de sites Internet se situent dans la plage acceptable pour le délai d'entrée principal, ce qui montre combien il faut pour que le consommateur puisse travailler avec la page Web.

Octets JavaScript

Les objectifs les plus légers sont de loin ceux développés avec Vue, avec 68 pc d'applications Vue chargeant moins de 1 Mo de JavaScript. En revanche, les objectifs Angular et React sont enclins à avoir une plus grande mesure de code.

Comment utiliser ces métriques

Vous pouvez voir un modèle à partir de ces chiffres, mais vous ne devriez pas être trop rapide pour tirer des conclusions. Pour la décision finale, par exemple, une preuve peut très bien être que Vue est utilisée pour développer des objectifs plus légers alors que Angular est utilisé pour des tâches plus importantes.

Les statistiques peuvent vous aider à faire un excellent choix, mais vous ne pouvez pas les utiliser pour montrer qu'un cadre est plus rapide ou plus élevé que le contraire.

Fonctionnalités avancées

À des fins supérieures supplémentaires, le cadre frontal utilisé doit avoir la capacité d'effectuer certaines tâches qui améliorent l'efficacité et peuvent évoluer plus haut.

Deux sciences appliquées qui pourraient être essentielles sont le rendu côté serveur (SSR) et la virtualisation.

Réagir

React aide le rendu côté serveur avec le ReactDOMServer paquet. Pour la virtualisation, vous devez utiliser un périphérique tiers préféré appelé React virtualisé.

Vue

Le rendu côté serveur est pris en charge dans Vue aussi efficacement avec le Forfait SSR. De plus, vous pouvez également utiliser le Nuxt.js framework qui est construit à partir de Vue et aide SSR.

Les choix de virtualisation dans Vue ne devraient malheureusement pas être aussi robustes. À mon avis, Liste de défilement virtuelle Vue C'est la meilleure résolution pour le défilement numérique, néanmoins c'est un peu bogué et jamais aussi stable que les choix pour React et Angular.

Angulaire

Angular a le fonctionnaire Universel angulaire bundle pour SSR et un composant officiel pour le défilement numérique et le rendu respectueux de l'environnement d'énormes listes.

Courbe d'apprentissage

Est-il simple d'étudier chacun de ces cadres?

Pour répondre à cette question, nous devons examiner la complexité de chaque framework et les idées qu'ils introduisent.

Réagir

Dans son cas d'utilisation le plus simple, React est le moins compliqué des trois frameworks. En effet, vous devez uniquement importer la bibliothèque, vous pouvez alors commencer à écrire votre utilitaire React avec quelques traces de code.

Mais à part l'instance Hello World, la plupart des objectifs de React sont basés sur des composants et ne rendent pas simplement quelques parties sur la page Web.

Un facteur que certains constructeurs trouvent étrange ou gênant à propos de React est le fait que l'étude de JSX est une route à sens unique. Vous pouvez utiliser du JavaScript non cuit aussi efficacement, mais comme la plupart des constructeurs de React utilisent JSX, il est à peu près inévitable.

C'est le principal facteur qui peut rendre la courbe d'étude de React un peu plus raide, mais à part cela, c'est une bibliothèque simple à étudier pour les constructeurs qui connaissent JavaScript et perçoivent des idées d'amélioration nette.

Vue

Vue est un peu plus compliqué à organiser que React. Vous pouvez l'utiliser comme bibliothèque pour décrire les parties que vous devez utiliser tout au long de votre HTML - mais tout comme React, ce n'est pas ainsi que la plupart des tâches sont construites.

La plupart des tâches Vue peuvent avoir un élément racine nommé App.vue et beaucoup de pièces pour jeunes pour afficher des problèmes variés.

Lorsqu'il s'agit de syntaxe, le seul nouveau facteur que vous devez étudier est la syntaxe du modèle de Vue, qui peut être très simple à comprendre si vous réalisez du HTML. Directives de base, équivalentes à v-if et la v-for pour le rendu conditionnel et le rendu de liste, sont simples à comprendre même pour les débutants.

De plus, les parties à fichier unique de Vue conservent tout le code frontal en un seul endroit, ce qui simplifie la préparation de nouvelles tâches.

Vue est le plus simple à étudier, à mon avis, en raison de sa simplicité et de sa syntaxe intuitive.

Angulaire

Angular a essentiellement la construction de défi la plus compliquée parmi les trois, et comme il s'agit d'un cadre frontal complet, cela dépend d'idées supplémentaires.

Outre les pièces, Angular aide les modules et les entreprises. Il attend de vous que vous mettiez par écrit et que vous conceviez votre base de code dans une méthode sélectionnée qui rendra votre défi plus maintenable lorsqu'il évolue.

En ce qui concerne la syntaxe, étant donné qu'Angular fonctionne mieux avec TypeScript, il est vital que vous réalisiez TypeScript lors de la construction d'un défi Angular.

Comme avec Vue, vous devez en outre vous familiariser avec la syntaxe de type HTML avec l'intention de commencer à coder de nouvelles options d'interface utilisateur avec Angular.

À mon avis, Angular est le plus difficile à étudier pour le développeur typique car il est très compliqué et dépend de TypeScript.

Prédictions à venir

De nombreuses tâches et frameworks open source tombent dans l'oubli et deviennent non maintenus. Devriez-vous avoir peur de l'un des cadres dont nous discutons ici?

Bien que nous ne prédisions pas totalement ce qui se passe, le travail d'amélioration continue est un indicateur efficace du bien-être de ces tâches. La popularité et la progression sont également des mesures vitales pour prédire la longévité d'un défi, alors examinons chaque cadre.

Réagir

Réagir v17.0 a été lancé, mais étonnamment, il n'incarne aucune nouvelle option pour les constructeurs.

Le principal changement est que ce nouveau modèle simplifie l'amélioration de React lui-même. Vous pouvez améliorer seulement quelques éléments de React de l'ancien modèle au plus récent, sans avoir à améliorer l'ensemble du défi.

Si votre utilitaire dépend d'options qui changent ou deviennent obsolètes avec le tout nouveau modèle, vous pouvez conserver le modèle précédent pour maintenir ces performances en vie. Ce remplacement fait de React une alternative étonnante à long terme car il est plus simple de rester à jour avec de nouvelles variations.

React a augmenté de 44 pc depuis les 12 derniers mois téléchargements hebdomadaires npm. En chiffres absolus, c'est néanmoins essentiellement la plus téléchargée des trois tâches.

Vue

Vue 3 est sorti en septembre 2020, et il aborde de nombreux points critiques de Vue 2 dans des tâches géantes. Il présente le API de composition qui est impressionné par Crochets de réaction et simplifie la réutilisation de la logique dans toutes les pièces.

L'ensemble du défi a été réécrit dans TypeScript, ce qui améliore l'aide de TypeScript dans les nouvelles tâches Vue tout en rendant le défi encore plus facile à gérer.

Vue 3 est une amélioration indispensable et fait de Vue une meilleure adéquation pour les tâches à grande échelle.

Vue de téléchargements hebdomadaires ont augmenté de 87 pc depuis les 12 derniers mois, faisant de Vue le cadre de croissance le plus rapide en termes relatifs. Si Vue peut maintenir ce prix de progression, alors il peut en fait surpasser Angular rapidement.

Angulaire

Angular a récemment lancé le Compilateur Ivy. Il réduit les instances de construction, optimise les propriétés, permet des tests plus rapides et améliore généralement l'expertise des développeurs.

Le groupe Angular publie des mises à jour principales deux fois par an, ce qui pourrait incarner de nouvelles options ou simplement transmettre le cadre au contrôle avec de nouvelles variantes de navigateur.

Angular a augmenté d'environ 50 pc en téléchargements hebdomadaires depuis les 12 derniers mois, c'est donc toujours un défi préféré.

Conclusion

Angular, React et Vue sont tous sous une amélioration très vive. Ils lancent à plusieurs reprises de nouvelles variantes et préservent les plus courantes. Comme le degré actuel d'aide est excessif dans tous les cas, vous pouvez utiliser en toute sécurité l'un de ces cadres.

Il est essentiel de noter que Angular n'augmente tout simplement pas aussi vite qu'auparavant, alors que Vue - malgré le fait qu'il ait commencé plus récemment - semble augmenter plutôt beaucoup.

Comme précédemment reconnu, nous ne prédirons pas quels frameworks resteront liés à long terme, mais chaque défi a un groupe incroyable derrière lui et évolue continuellement.

Mon objectif avec ce texte était de clarifier les variations architecturales, de décomposer les forces et les faiblesses de chaque framework, et de les évaluer là où c'est pertinent.

Avant de sauter dans un tout nouveau cadre, il y a quelques points à considérer.

Premièrement, l'expertise de votre groupe est généralement un enjeu décisif lors du choix d'un tout nouveau savoir-faire.

De même, vous devez prendre en compte l'expertise accessible dans votre espace avec l'intention de louer des constructeurs dans votre défi.

Enfin, en relation avec le défi lui-même, la complexité et la portée peuvent avoir un effet sur votre alternative de cadre.

En tenant compte de toutes les variations importantes, j'espère que vous pourrez déterminer quel est le meilleur cadre frontal dans vos objectifs et vos souhaits.



Ce poste 0 Publier les commentaires

Laissez un commentaire

Votre adresse email n'apparaitra pas. Les champs obligatoires sont marqués *

Retour au sommet