React ou Vue.js ? les deux mon capitaine.

23 avril 2018

On croise régulièrement des billets ou des discussions en mode : Vue.js versus React; avec une ferveur digne de la bataille : The Beatles contre les The Rolling Stones. Un débat assez stérile en général, les deux technologies étant toutes deux un très bon choix pour le front-end. (les hasards des projets et les préférences personnelles ont fini par faire que j'utilise plutôt Vue.js au quotidien, notamment parce que j'adore le framework Nuxt.js )

React et Vue.js sont deux librairies pour créer des interfaces utilisateurs interactives complexes, deux des librairies les plus chouettes avec lesquelles j’ai travaillé jusqu’ici; qui m’ont toutes deux redonné le goût du front par leur élégance.

Deux librairies portées par une communauté enthousiaste et investie, avec un éco-système riche en expansion permanente.

Deux librairies avec toutefois chacune un caractère bien trempé et bien distinct, des techniques de développement différentes.

J’adore coder en Vue.js : cela va extrêmement vite et c’est ultra-limpide, on ne se pose jamais de question, on sait quoi utiliser et quand, la doc est fantastique. C’est comme une descente de snowboard sur la montagne JavaScript : le meilleur d’Angular 1, débarrassé de tout ce qu’il avait de pénible, le Sonic des librairies orientées composants. Nuxt.js est son formidable compagnon pour gérer facilement le Server Side Rendering, indispensable si vous avez besoin que votre application soit référencée par les moteurs de recherches ou vos pages partagées sur les réseaux sociaux correctement avec une petite "carte de prévisualisation" de la page.

J’adore coder en React : son approche très fonctionnelle, son côté très déclaratif et sans magie, sa maturité, le foisonnement et l'élégance de ses design-patterns. Incisif, précis, une grande puissance avec peu de concepts clefs, un ballet de composants et de fonctions qui se combinent et s’assemblent dans un kaléidoscope de motifs très puissants. Il possède également son framework de rendu côté serveur avec Next.js (même si, de mon humble opinion, Nuxt.js le devance en terme d'expérience développeur, et que je souhaiterais voir émerger côté React une alternative à Next.js)

Alors, plutôt Beatles ou Rolling Stones ?