2 Associés est une agence web de Montréal spécialisée en développement web et mobile, stratégie de contenu SEO, SEM et les technologies langagières.

Vous voulez discuter?

AngularJS et React

2 Associés développement web et mobile à Montréal

Les technologies côté client (« Front-end ») ont vu une évolution fulgurante grâce aux librairies et cadres applicatifs JavaScript de type temps-réel, dit « Real-time » : AngularJS et React pour ne nommer que ceux-ci. Ces technologies ne font pas tous les mêmes choses et ne sont pas faites pour tous les types de projets. Même s’il existe plusieurs autres technologies, ce que je remarque actuellement c’est qu’il y a 2 équipes : Les AngularJS, qui font confiance à Google, et les React, qui admirent le géant Facebook.

AngularJS et React

AngularJS

AngularJS est un « Framework » Web « Front-end » très populaire en ce moment avec son « two-way data binding », où les changements aux propriétés des modèles (« Models ») se réflètent aux vues (« Views »), et inversement, ce qui constitue une différence majeure en comparaison à React. AngularJS est le « A » dans l’acronyme « MEAN », faisant référence au «Full-Stack » JavaScript avec MongoDB, Express, Angular et Node. « MEAN » est entièrement JavaScript côté client et serveur. Cependant, « MEAN » peut avoir plusieurs implantations possibles.

James Shore, animateur de Let’s Code: Test-Driven JavaScript explique en détails pourquoi il ne recommande pas la version 1 de AngularJS car tout porte à croire que l’évolution de la version 2 forcera probablement les développeurs à réécrire leurs applications.

React

React est une librairie « Front-end » représentant la couche « présentation ». Autrement dit, le « V » dans la plupart des cadres applicatifs « MVC ». Contrairement à Angular, React est un « One-way data binding », où les actions de l’utilisateur se reflètent aux vues mais jamais aux modèles. Étant une librairie, React peut s’accommoder de n’importe quel environnement et dans un « MEAN », React pourrait être utilisé au lieu de Angular pour la partie « Front-end ». React est donc essentiellement un langage de « Templating » qui retourne du HTML, et que du HTML, celui-ci pouvant enregistrer un état en mémoire, par exemple un onglet sélectionné dans une composante à multiples onglets. Certains voient en React une évolution de jQuery.

Toujours selon James Shore, React serait préférable, même s’il n’est pas parfait. Les forces de React résident dans sa forme « librairie », qui peut s’ajouter à n’importe quelle architecture et surtout à sa compatibilité, par défaut, avec les moteurs de recherches.

Ressources utiles

TodoMVC
Pour tester vous-mêmes les différents « Framework » et librairies, TodoMVC est un excellent point de départ. Vous pourrez comparer en réalisant le même projet d’une technologie à l’autre.
Scotch.io
Pour tester le « Full-Stack » avec « MEAN », Scotch.io a quelques bons tutoriels.

Les « Meetups » sont également un excellent moyen d’explorer les nouvelles technologies. À Montréal, il y a le groupe ReactMontreal qui compte plusieurs personnes. Si quelqu’un connait celui de Angular, vous pouvez m’en faire part car je n’ai rien trouvé.

« Full-Stack » JavaScript

Je crois qu’avant 2020, React deviendra aussi populaire, sinon plus, que jQuery dans les différentes communautés « Front-End » et certainement chez la plupart des développeurs « Back-End ». AngularJS est déjà très populaire et l’annonce de la version 2 a suscité plusieurs commentaires dans la communauté quant à la migration des applications existantes vers celui-ci.

Les employeurs demandent souvent un ou plusieurs experts AngularJS et ça me fait toujours rire car c’est impossible pour le moment. Je n’ai jamais rencontré d’experts AngularJS (encore moins React) à ce jour parce que c’est impossible. La technologie est très jeune et les projets mis en production, et maintenus, sont rares, très rares. Le côté positif est qu’il il y a un intérêt du milieu alors l’expérience viendra.

Personnellement, AngularJS et React m’intéressent mais pas au point de m’y consacrer entièrement. Avec l’aide de mes amis « Back-End », j’ai découvert et opté pour le « Full-Stack » JavaScript avec Meteor. Pour être franc, Meteor est vraiment « sexy » avec ses conventions qui me rappellent « Ruby on Rails ». Je vais donc me concentrer sur Meteor. Plus tard, je pourrai toujours intégrer (facilement) AngularJS ou React à Meteor.

Sources :

Commentez cet article

Votre adresse de courriel ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles reliés