React vs Angular in 2024

Kodaps Academy
15 Apr 202408:59

Summary

TLDRLe script compare React et Angular, deux frameworks JavaScript solides et pertinents malgré l'annonce régulière de nouveaux frameworks. React, créé par Facebook, offre une grande liberté et flexibilité, tandis qu'Angular, développé par Google, est structuré et fournit des outils intégrés. Les deux utilisent des composants et gèrent l'état et le flux de données de l'application, mais avec des différences notables dans leur structure et leur philosophie. React est plus adapté aux environnements agiles et aux start-ups, tandis qu'Angular est préférable pour les organisations à risque réduit et les projets nécessitant une structure solide. Les statistiques montrent que React est le plus souhaité, tandis qu'Angular a une part de marché plus petite. L'avenir pourrait voir React s'approchant du modèle complet d'Angular, et Angular intégrant des aspects de performance de Wiz, un autre framework de Google. Le choix entre les deux dépend des besoins en matière d'agilité ou de stabilité.

Takeaways

  • 🚀 React et Angular sont tous les deux des choix solides et pertinents malgré l'annonce régulière de nouveaux frameworks JavaScript.
  • 🧭 React, créé par Facebook, valorise la flexibilité et la créativité, tandis qu'Angular, développé par Google, est structuré et orienté vers les meilleures pratiques.
  • 🤖 Les deux frameworks utilisent des composants et gèrent le flux de données et l'état de l'application, mais ils le font de manières différentes.
  • 📈 React a une portée plus restreinte, se concentrant uniquement sur la couche de présentation, contrairement à Angular qui a une portée plus large avec un framework normalisé.
  • 🍔 La qualité du code en React dépend davantage du développeur, offrant ainsi plus de possibilités pour les[codeurs exceptionnels, tandis qu'Angular assure une qualité plus uniforme.
  • 📊 Selon les statistiques de StackOverflow, React est plus désiré et domine le marché, tandis qu'Angular a une part de marché plus petite avec principalement des flux sortants.
  • 🔄 Angular s'adresse davantage au monde des entreprises et évolue lentement, mais Google travaille à l'amélioration de ses performances avec l'intégration de Wiz.
  • 🌟 Avec la version 18, React n'est plus une bibliothèque côté client uniquement, et la version 19 introduit des optimisations basées sur le compilateur.
  • 🛠️ React est mieux adapté aux situations où l'agilité est primordiale, tandis qu'Angular est préférable lorsque la stabilité et la sécurité sont requises.
  • 🏢 Angular est un bon choix pour les outils d'administration internes nécessitant de nombreux développeurs, tandis que React convient mieux aux petites équipes et aux applications web axées sur l'expérience utilisateur.
  • ⚖️ Choisir entre React et Angular dépend des besoins spécifiques du projet et de la préférence pour la structure ou l'agilité.

Q & A

  • Comment React et Angular se positionn-ils dans le paysage des frameworks JavaScript en 2024 ?

    -React et Angular sont des choix solides et toujours pertinents malgré l'annonce régulière de nouveaux frameworks. Les changements récents dans ces technologies les rendent pertinents pour une réévaluation de leur rivalité.

  • Quelle est la philosophie derrière le développement de React ?

    -React a été créé par Facebook en 2011 avec la philosophie de 'se déplacer vite et casser les choses', offrant ainsi une grande liberté et flexibilité au développeur.

  • Comment se différencient les structures internes des composants React et Angular ?

    -Un composant React est une fonction qui transforme les données en interface utilisateur, tandis qu'un composant Angular est plus complexe avec des directives, une logique métier et un modèle séparé contenant la logique de rendu.

  • Quels sont les avantages de la structure MVVM d'Angular ?

    -La structure MVVM (Modèles-Vue-VueModèle) d'Angular permet une gestion efficace du flux de données et de l'état de l'application grâce à la séparation claire entre les modèles de données, les vues et le pont entre les deux.

  • Comment la portée de React est-elle plus restreinte par rapport à Angular ?

    -React se concentre uniquement sur la couche de présentation (View layer), offrant ainsi moins de fonctionnalités intégrées par rapport à Angular, qui a une portée plus large avec un framework normalisé d'outils et d'utilitaires.

  • Que signifie le terme 'batteries included' en référence à Angular ?

    -Le terme 'batteries included' fait référence à la philosophie d'Angular qui fournit un ensemble complet d'outils et de fonctionnalités intégrées, offrant ainsi une structure et des meilleures pratiques imposées.

  • Quels sont les avantages et inconvénients de la structure opiniâtre d'Angular ?

    -L'opiniâtreté d'Angular assure une qualité de code prévisible et une expérience de développement uniforme, mais peut limiter les possibilités et la flexibilité pour les développeurs qui cherchent à innover ou à personnaliser davantage leur application.

  • Comment les enquêtes StackOverflow et State of JavaScript évaluent-elles React et Angular en termes de popularité et de satisfaction ?

    -Selon les enquêtes, React montre un désir plus élevé et une part de marché dominante par rapport à Angular. Angular a une part de marché plus petite avec principalement des flux sortants, ce qui indique que les développeurs cherchent à explorer d'autres technologies.

  • Quels changements sont prévus pour Angular qui pourraient l'amener à se rapprocher de React ?

    -Angular est en train d'adopter des signaux, une fonctionnalité provenant du framework interne de Google appelé Wiz, qui est axé sur les performances. Cela pourrait aider à rendre Angular plus populaire et agile.

  • Depuis la version 18, en quoi React a-t-il évolué pour ne plus être 'uniquement un client-side library' ?

    -Avec la version 18, React a ajouté des fonctionnalités qui le rendent capable de gérer des aspects au-delà du client-side, et la version 19 introduit des optimisations basées sur le compilateur, ce qui permet à React d'être utilisé pour alimenter une application complète avec un meta-framework comme Next.

  • Quels sont les cas d'utilisation idéaux pour React et Angular ?

    -React est mieux adapté aux situations où l'agilité est primordiale, tandis qu'Angular est plus approprié lorsque la stabilité et la sécurité sont requises, comme dans le cas des outils d'administration internes nécessitant de nombreux développeurs.

  • Comment la simplicité du modèle mental de React influence-t-elle la qualité et la performance du code produit ?

    -La simplicité du modèle mental de React permet aux développeurs talentueux de produire du code de haute qualité et de meilleures performances, mais cela peut aussi conduire à du code de mauvaise qualité si les développeurs ne sont pas compétents.

Outlines

00:00

🤔 React vs Angular : Le débat en 2024

Le script commence par une introduction au débat entre React et Angular, deux frameworks populaires pour le développement web. L'auteur a plus de cinq ans d'expérience avec ces technologies et questionne leur pertinence face à l'innovation rapide du secteur. Il propose d'examiner leurs philosophies, structures, les statistiques, et les types de projets et de personnes qu'ils conviennent le mieux. React, créé par Facebook en 2011, est décrit comme étant non opinié et offrant la liberté et la flexibilité, tandis qu'Angular, lancé par Google en 2016, est perçu comme structuré et opinié, offrant un cadre normalisé avec des outils et des utilités. Les deux utilisent des composants et gèrent l'état et le flux de données de l'application, mais avec des différences dans leur implémentation. React se concentre uniquement sur la couche de présentation, offrant une portée plus étroite, tandis qu'Angular a une portée plus large avec un modèle MVVM et un ensemble complet d'outils.

05:00

📊 Les statistiques de React et Angular

Le script analyse ensuite les statistiques concernant React et Angular, en se basant sur les dernières données de la survey StackOverflow. React apparaît comme étant la technologie la plus désirée avec une part du marché dominante et une tendance à attirer de nouveaux utilisateurs. Angular, en revanche, a une part du marché plus petite avec une tendance à perdre des utilisateurs. Les deux frameworks évoluent : Angular, qui cible le monde des entreprises, est en train de s'approcher de Wiz, un autre framework interne de Google axé sur les performances, notamment en adoptant des signaux. React, qui était auparavant une bibliothèque côté client, avec sa version 18, ne l'est plus uniquement et avec la version 19, introduit des optimisations basées sur le compilateur, s'approchant ainsi de la philosophie d'Angular. L'auteur conclut en disant que React est mieux adapté aux situations où l'agilité est primordiale, tandis qu'Angular est préférable lorsque la stabilité et la sécurité sont requises.

Mindmap

Keywords

💡React

React est une bibliothèque de développement d'interfaces utilisateurs créée par Facebook en 2011. Elle est décrite comme étant non opiniâtre, offrant ainsi une grande liberté et flexibilité au développeur. Dans le contexte de la vidéo, React est présenté comme étant plus adapté aux environnements dynamiques et aux équipes qui privilégient l'agilité et la rapidité de développement.

💡Angular

Angular est un framework de développement web open source maintenu par Google, initialement publié en 2016. Il est décrit comme étant structuré et opiniatre, fournissant ainsi un ensemble normalisé d'outils et d'utilitaires. Dans le script, Angular est présenté comme le meilleur choix pour les organisations à risque avéré comme les banques ou les entreprises qui recherchent la stabilité et la sécurité.

💡Components

Les composants sont des éléments fondamentaux utilisés par les deux frameworks React et Angular pour construire des interfaces utilisateurs. Ils permettent de gérer le flux de données entre les composants et l'état de l'application. Dans le script, il est souligné que bien que les deux frameworks utilisent des composants, leur fonctionnement est différent, avec Angular ayant une structure M-V-VM et React se concentrant uniquement sur la couche de présentation.

💡State Management

La gestion de l'état fait référence à la manière dont les applications maintiennent, modifient et organisent les données qui influencent l'interface utilisateur. React et Angular gèrent l'état de l'application, mais ils le font de manières distinctes, ce qui affecte la philosophie et la structure de chaque framework.

💡Mental Model

Le modèle mental est la façon dont les développeurs perçoivent et comprennent le fonctionnement d'un framework. React encourage la création de composants plus petits et plus simples, tandis qu'Angular propose une structure plus complexe avec des directives, une logique métier et un modèle de template. Dans le script, le modèle mental de React est décrit comme étant plus simple et plus agile.

💡Code Quality

La qualité du code est une mesure de l'efficacité, de la lisibilité et de la maintenabilité du code écrit. Le script compare la qualité du code produit par React et Angular à celle des fast-foods et des restaurants, suggérant que React permet une amplitude plus grande de qualité, allant de codes exceptionnels à des codes de mauvaise qualité, tandis qu'Angular assure une qualité plus uniforme et prévisible.

💡Market Share

Le marché partagé fait référence à la part d'un produit ou d'un service dans le marché total. Dans le script, les statistiques de StackOverflow montrent que React a une part de marché dominante par rapport à Angular, avec une forte désirabilité et une orientation vers l'adoption.

💡Agility

L'agilité fait référence à la capacité d'une équipe ou d'une organisation à réagir rapidement aux changements. Dans le contexte du script, React est considéré comme plus adapté aux environnements où l'agilité est primordiale, comme dans le cas des start-ups qui doivent lancer rapidement leurs produits.

💡Stability and Security

La stabilité et la sécurité sont des facteurs clés pour les organisations qui cherchent à minimiser les risques et à maintenir un environnement de développement sûr. Angular, avec sa structure opiniâtre et son ensemble complet d'outils, est présenté comme le meilleur choix pour les projets nécessitant ces attributs.

💡Wiz

Wiz est un autre framework interne utilisé par Google, axé sur les performances. Dans le script, il est mentionné que les équipes d'Angular ont annoncé que Angular et Wiz s'approfondiraient, ce qui pourrait conduire à des améliorations de performance et de structure pour Angular.

💡NextJS

NextJS est un framework de développement d'applications web basé sur React, créé par Vercel. Il est mentionné dans le script comme un exemple de 'meta-framework' qui utilise React pour offrir des fonctionnalités supplémentaires, comme la gestion des routes et le rendu côté serveur.

Highlights

React and Angular are both solid choices for JavaScript frameworks, but their relevance is being questioned amidst the rapid pace of innovation.

React was created at Facebook in : Facebook’s unofficial motto is “Move fast and break things.”

React is not opinionated and provides freedom and flexibility, making it a good fit for creative, fast-moving environments.

Angular was released by Google in 2016 and is more structured and opinionated, enforcing best practices.

Both React and Angular use components, manage data flows, and application state, but they have different approaches.

Angular has an MVVM structure with models, views, and view models, while React focuses solely on the view layer.

React components are simpler functions that transform inputs into interfaces, while Angular components are more complex with separate directives, logic, and templates.

React encourages creating smaller, dumber components, while Angular's structure can limit possibilities.

The quality of React code has a wider range - you can write better or worse code depending on the developer, while Angular produces more consistently solid code.

React is more suitable for startups needing to ship products quickly, while Angular is better for risk-averse organizations like banks and enterprises.

React is currently the most desired technology and has a dominant market share, according to the latest StackOverflow survey.

Angular has a smaller market share with more developers leaving for other frameworks like NextJS.

Angular is moving towards adopting signals like React, potentially making it more agile and versatile.

React has evolved from a client-side library to a more comprehensive solution with the release of version 18 and 19.

React is better suited for situations requiring agility, while Angular is more appropriate when stability and security are paramount.

Angular is a good choice for building internal admin tools with many developers, due to its structure and MVVM model.

React is ideal for small teams building web apps with a focus on user experience, like many SaaS companies.

Ultimately, the choice between Angular and React depends on whether you prioritize structure and working with large teams (Angular) or agility and freedom (React).

Transcripts

play00:00

# React vs Angular in 2024?

play00:01

Let’s talk about React vs Angular.

play00:02

I’ve worked with both for over five years.

play00:04

They are both solid choices.

play00:06

But are they still relevant?

play00:07

After all, it feels like new JavaScript frameworks are being announced every week.

play00:12

The pace of innovation has prompted big changes in React and Angular.

play00:16

That means it’s time to revisit the rivalry.

play00:19

React or Angular: Which is worth investing time in?

play00:22

Which is worth learning?

play00:23

Which is the best fit for you: your project, career, personality?

play00:26

Have the recent changes altered the landscape in any significant way?

play00:31

It’s time to think like a CTO.

play00:33

Let’s examine the different aspects of React and Angular.

play00:35

We’ll look at : - their philosophy,

play00:37

- how they are structured, - what the statistics say

play00:39

- what kind of person and what kind of project they are most suited to

play00:43

We’ll also explore the changes brewing in these two frameworks.

play00:48

But first, who are our contenders?

play00:50

What do they bring to the table?

play00:51

What is their mindset and philosophy?

play00:53

## The philosophies of React and Angular

play00:54

In the blue corner, we have React.

play00:56

React was created at Facebook in 2011.

play00:58

Facebook’s unofficial motto is “Move fast and break things.”

play01:01

That same disruptive, chaotic side is also in React’s logo, an atom that brings to

play01:06

mind an atomic reaction—an explosion.

play01:09

React is not opinionated.

play01:10

It doesn’t enforce any rules; it lets you invent your own.

play01:13

React gives you freedom and flexibility.

play01:16

If we were to give React a role-playing alignment, it would be chaotic neutral.

play01:21

If you value your creativity and prefer working in disruptive, fast-moving environments, React

play01:26

might be a good fit for you.

play01:28

In the red corner, we have Angular.

play01:30

Angular was released by Google in 2016.

play01:33

Google’s motto used to be “Do no evil”.

play01:36

Angular’s logo is safe.

play01:37

Its previous logo used to look like a shield.

play01:39

Or you could see a cube.

play01:42

Angular is square - in all the senses of the term.

play01:45

Il plays by the rules.

play01:47

Angular itself provides **structure**.

play01:49

It is opinionated.

play01:51

If you were to give it a role-playing alignment, it would be “lawful-good”.

play01:55

If you need structure and like best practices to be enforced, Angular might be a good fit

play02:01

for you.

play02:02

## Commonalities and differences in structure At least, that’s how things started out.

play02:04

Before we explore how things have changed, let’s look at what they have in common.

play02:09

Both React and Angular use components, for example.

play02:12

They both manage data flows between components.

play02:14

They both manage an application’s state.

play02:17

However, these commonalities hold their own differences.

play02:21

Components, state, and data flow don’t work the same in Angular and React.

play02:27

For example, Angular has a M-V-VM structure, with:

play02:31

* Models, which hold data structures, * Views, which manage what is displayed

play02:35

* And ViewModel bridge the gap between models and views.

play02:40

React only does _one_ part of that.

play02:41

It only concerns itself with the _View layer_.

play02:44

React has a narrower scope.

play02:46

React components are functions that translate inputs into interfaces.

play02:51

The data flow is simple: information flows down from the top of the component tree (via

play02:55

props).

play02:56

This means there is a simple mental model.

play02:59

React doesn’t concern itself with routing, translations, or authentication (for example).

play03:04

It gives you the freedom to choose how you best want to do those.

play03:07

That freedom comes with a price: choosing the wrong library can be costly.

play03:11

Angular has a wider scope.

play03:13

It aims to be “batteries included.”

play03:15

It provides a normalised framework of tools and utilities.

play03:18

It provides structure.

play03:20

It is opinionated.

play03:21

It provides routing and translations out of the box.

play03:25

Angular contains more than React.

play03:27

It does more for you, including making choices.

play03:31

But that structure comes with a cost: it can limit your possibilities.

play03:35

The internal structure of components is also different.

play03:38

A React component is one function.

play03:39

It starts with the hooks, transforms the data, and returns the UI.

play03:40

An Angular component, on the other hand, is more complex.

play03:41

It is separated into the directives, the business logic, and the template.

play03:42

The template itself contains rendering logic.

play03:43

In my experience, React components tend to have less code on average.

play03:44

React’s mental model encourages you to create smaller (and dumber) components.

play03:45

## Differences in code quality between React and Angular

play03:46

But what about the quality of the code produced?

play03:47

The opposition between the two reminds me of the difference between eating at a fast-food

play03:50

franchise (like, say, McDonald’s) and eating at a restaurant.

play03:53

In a fast-food franchise, you know the quality of what you are getting and the price you

play03:58

will pay.

play03:59

The choices are limited.

play04:00

Angular is like that: it might not be the best, but it’s solid and reliable.

play04:06

You can’t write _exceptional_ applications with it, but you can’t write very poor code

play04:11

with it, either.

play04:12

The quality is in a narrower band.

play04:14

You know what you are getting.

play04:16

This makes it a perfect fit for risk-averse organisations like banks, enterprises and

play04:21

public institutions that plan for the long term.

play04:26

Conversely, when you eat at a restaurant, the quality depends much more on the chef.

play04:31

In fact, it can even depend on the chef’s mood.

play04:33

The other day, I went to a small Korean restaurant near my workplace in the Latin Quarter in

play04:37

Paris, and one dish was much less spicy than usual.

play04:40

When I asked why, the owner told me the chef adds more spice when he’s in a bad mood.

play04:45

React is similar.

play04:47

The quality of the code has a greater amplitude.

play04:50

You can write better-performing code, but you can also write awful spaghetti code.

play04:54

The quality of the code depends a lot more on who is cooking and sometimes even their

play05:00

mood.

play05:01

But that means that exceptional coders can do more with React.

play05:04

Because React has a simpler mental model, it is more agile.

play05:08

Compared to Angular, this makes React a perfect fit for startups that need (first and foremost)

play05:12

to ship their product as fast as possible and are threatened by external factors.

play05:16

If a company is fighting for survival, React provides a better turnaround time.

play05:21

That’s the theory, but what about in practice?

play05:23

What do the real-world statistics say about React and Angular?

play05:25

## What do the statistics say about React vs Angular?

play05:26

Let’s take a look at the latest StackOverflow survey.

play05:29

React shows higher desirability and positive options than Angular.

play05:32

In fact, React is the most desired technology in the space.

play05:36

In the “Worked with vs Want to Work With” chart, React’s market share is dominant.

play05:41

React mainly has incoming flows, that is, people wanting to adopt it, with a few wanting

play05:45

to try out Svelte and VueJS.

play05:47

The largest outgoing flow is towards NextJS, which, let’s be honest, isn’t jumping

play05:52

ship: Next is a React meta-framework.

play05:55

Angular has a much smaller market share and mainly outgoing flows.

play06:00

The State of JavaScript survey shows a similar picture.

play06:03

React is in the “high market share, high opinion” quadrant.

play06:06

Angular is in the “average usage, low opinion” quadrant.

play06:10

The Positive/Negative split and Usage over time graphs tell the same story.

play06:14

All this shows us the current state of play between Angular and React, but how are things

play06:19

_changing_?

play06:20

## What does the future hold?

play06:21

Angular is targeted at the enterprise world, which means it moves more slowly and has extra

play06:25

overhead.

play06:26

However, internally, Google also uses another framework called Wiz.

play06:30

As the name implies, it is focused on performance.

play06:33

Ask Google, “What is 3 x 92?”

play06:35

You’ll be presented with a calculator that loads in a fraction of a second.

play06:39

That, my friends, is Wiz.

play06:41

In the latest Angular Conference, the team announced that Angular and Wiz will be moving

play06:45

closer together.

play06:46

In particular, Angular is adopting signals, which I’ve talked about elsewhere.

play06:51

It’s impossible to say for now _how_ this changes Angular’s structure and philosophy.

play06:56

In a sense, it is a step towards React's more focused mindset.

play07:01

Will it help make Angular more popular and mre agile, and therefore more versatile?

play07:06

We shall see.

play07:07

React, on the other hand, has been working closely with Meta Framework teams such as

play07:12

Vercel, the creators of NextJS.

play07:13

React used to be a client-side library.

play07:16

With the release of version 18, it is no longer “only client-side”.

play07:20

With version 19, React stops being “just a library” since it introduces compiler-based

play07:25

optimisations.

play07:26

All this means that React can power a complete application with a meta framework like Next.

play07:33

In a sense React is drawing closer to Angular’s “batteries included” mindset.

play07:38

But that raises the question: When should you use Angular or React?

play07:42

## Angular and React use case

play07:44

React is more suited to situations where agility is the primary need, and Angular is more suited

play07:48

when stability and security are required.

play07:50

What does this mean in practice?

play07:52

Imagine you need (for example) to build an **internal administration tool** that displays

play07:57

different types of entities stored in a database.

play07:59

A tool that requires a lot of developers.

play08:01

Angular’s structure, MVVC model and “batteries included” philosophy make it a good choice.

play08:07

On the other hand, if you have a small team and want to produce a web app with some server-side

play08:11

logic where the user experience is key, React would be a good fit.

play08:16

This use case fits many SaaS companies.

play08:19

I use React on my blog, coupled with NextJS.

play08:23

## So where now?

play08:24

Now, obviously, those use cases are stereotypes.

play08:26

You can build a simple app in Angular, and a complex one with React.

play08:29

Facebook would be a prime example of that.

play08:32

But if we boil the opposition down to its essence, if you need structure, or want to

play08:36

work with large teams, you’re better off learning Angular.

play08:39

And if you prefer agility and freedom, you’re better off with React.

Rate This

5.0 / 5 (0 votes)

Related Tags
ReactAngularFrameworksDébatJavaScriptInnovationDéveloppementWebCTOConnaissancesProjetsCarrièresStatistiquesPerformanceAgilitéSécuritéEntrepriseStartupMentalitéSélectionTechnologie
Do you need a summary in English?