Je suis un grand fan de Vue depuis longtemps. Je me souviens que lorsque j'ai commencé à l'utiliser, sa simplicité était une bouffée d'air frais, surtout par rapport aux projets React avec lesquels j'avais lutté. Vue 2 avait l'impression d'avoir une philosophie claire : être accessible, être simple et laisser les développeurs se concentrer sur l'application, pas sur le framework lui-même.
Mais dernièrement, je passe plus de temps dans Vue 3, et honnêtement ? Je suis un peu confus. Je commence à voir des schémas qui me semblent terriblement familiers, et pas dans le bon sens. C'est comme si je commençais à voir Vue 3... se transformer lentement en quelque chose qui ressemble à React.
Maintenant, je n'essaie pas de dénigrer Vue 3. Il possède une tonne de fonctionnalités intéressantes et l'API de composition est puissante. Mais je ne peux pas me débarrasser de ce sentiment que nous perdons certains des principes fondamentaux qui ont rendu Vue si unique en premier lieu.
La « Vue Way : ce que nous avons aimé
Soyons réalistes. Une grande partie de l'attrait de Vue, en particulier de Vue 2, résidait dans sa facilité d'utilisation. Vous aviez l’API Options simple. Les modèles étaient un plaisir de travailler avec ; simple et intuitif. Vous pouvez lancer rapidement une application Vue sans avoir à parcourir des configurations complexes. L'écosystème semblait gérable; vous aviez un routeur solide (vue-router) et un modèle de gestion d'état (vuex), et c'était tout ! Vous pourriez être très efficace en utilisant Vue.
Voici un exemple simple de composant Vue 2 :
<template> <div> <p>{{ message }}</p> <button @click="reverseMessage">Reverse</button> </div> </template> <script> export default { data() { return { message: "Hello Vue 2!", }; }, methods: { reverseMessage() { this.message = this.message.split("").reverse().join(""); }, }, }; </script>
Simple. Direct. Facile à comprendre. C'était la promesse de Vue.
Le changement : quand les choses ont commencé à paraître... différentes
Mais avec Vue 3, les choses ont commencé à changer. L’introduction de l’API Composition, bien que puissante, apporte un modèle mental totalement différent. Cela semble... abstrait. Du coup, les tâches simples nécessitent désormais plus de code. Vous pouvez faire les mêmes choses dans les deux API, mais dans certaines situations, la complexité semble inutile.
Voici un exemple du même composant dans Vue 3, en utilisant l'API Composition :
<template> <div> <p>{{ message }}</p> <button @click="reverseMessage">Reverse</button> </div> </template> <script setup> import { ref } from 'vue'; const message = ref("Hello Vue 3!") function reverseMessage() { message.value = message.value.split("").reverse().join(""); } </script>
Ça fait la même chose, mais... ça ne donne pas l'impression d'avoir plus de travail ? Regardez comment même une simple variable de message nécessite désormais une référence et une valeur pour accéder à son contenu ! C'est un peu trop pour quelque chose qui était simple auparavant.
Et il ne s'agit pas seulement de l'API de composition. L’espace de gestion de l’État est également devenu plus complexe. Nous avons maintenant Pinia, ce qui est génial, mais nous avons maintenant un autre choix à faire. Cela commence à ressembler à une complexité de type « réaction », où il n'y a pas une seule façon de faire les choses et où le développeur doit prendre de nombreuses décisions avant de coder.
Je commence également à voir certains projets Vue 3 qui donnent l'impression d'être complètement sortis du cadre, avec des configurations complexes et des couches d'abstraction pour des projets qui n'ont peut-être besoin que des bases. C'est comme la méthode React où vous verrez un bonjour tout le monde réalisé avec 10 bibliothèques.
L'écosystème en croissance et les choix
Je ne peux m'empêcher de remarquer la croissance de l'écosystème Vue. De nouveaux outils et bibliothèques semblent apparaître constamment, ce qui est à la fois passionnant et écrasant.
Cela me fait penser à un sentiment que beaucoup d'entre nous, développeurs de React, ressentons : "la paralysie des options". Et je commence à le ressentir avec Vue 3 :
Dois-je utiliser Pinia ou Vuex ?
Quel ensemble d'utilitaires de test dois-je utiliser ?
Dois-je simplement tout créer à partir de zéro ou adopter une grande bibliothèque de composants ?
C'est quelque chose que je pensais avoir laissé derrière moi lorsque j'ai déménagé chez Vue...
Suis-je fou ?
Je sais, je sais. Peut-être qu'il me manque juste quelque chose. Peut-être que ces changements sont tous nécessaires pour que Vue grandisse et s'adapte. C'est peut-être juste moi et mes préférences.
Mais je ne peux pas me débarrasser de ce sentiment que l'attrait principal de Vue – sa simplicité, sa clarté, sa nature « fonctionne simplement » – s'érode un peu. Je crains que nous construisions lentement mais sûrement un écosystème Vue qui ressemble davantage à React. On commence à avoir l'impression que nous perdons l'identité unique de Vue.
Alors, qu'en pensez-vous ? Suis-je seul dans ça ? Observez-vous les mêmes tendances ? J'aimerais entendre votre point de vue. Peut-être que j'ai juste besoin de quelqu'un pour me convaincre que j'ai tort, ou peut-être que nous ressentons tous un peu la même chose.
Discutons-en dans les commentaires !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!