Trouver les meilleurs développeurs Vue.js est une entreprise délicate. Vous devez savoir où chercher, comment discerner leurs compétences, et enfin, vous devez vous assurer qu'ils conviennent à votre entreprise.
Heureusement, chez Proxify, nous savons comment faire.
Suivez-nous pour découvrir les réponses à ces questions (et bien d'autres) dans ce guide pratique, court et concis de Vue.js.
Qu'est-ce que Vue.js?
En 2013, un ingénieur de Google du nom d'Evan You a rencontré un problème. Son équipe et lui devaient développer un prototype d'interface utilisateur (IU) plutôt complexe, mais ils en avaient besoin rapidement. L'écriture d'un grand nombre de codes HTML redondants (et, j'ajouterais, ennuyeux) se serait avéré insuffisante, alors ils ont opté pour une approche différente.
Leur solution : aucune. À la grande surprise d'Evan et de ses pairs, à l'époque, il n'existait aucun outil, framework, application ou bibliothèque susceptible de leur permettre de réaliser rapidement un prototype. En d'autres termes, ils étaient coincés !
Les outils existants comprenaient Angular.js (un proto-React.js) et Backbone.js, qui était principalement utilisé pour les grandes applications MVC et n'était pas vraiment adapté aux projets qu'ils avaient en tête.
Et c'est là que se trouvait la solution, sous leurs yeux pendant tout ce temps : Angular.js. Evan a pris les parties qu'il aimait, les a réutilisées et a créé Vue.js pour le plus grand plaisir de l'équipe du Google Creative Lab.
Ils ont rapidement publié leur première itération de Vue.js en 2013, suivie de près par la première version stable de Vue.js en 2014. Vous pouvez trouver l'historique complet des versions de Vue.js sur GitHub.
Quelle est la popularité de Vue.js ?
Vue.js, un framework issu du langage de programmation JavaScript, est aujourd'hui très populaire auprès de toutes sortes de développeurs, notamment pour le développement de logiciels nécessitant une approche légère d'un ensemble complexe de problèmes.
Voici quelques-unes des principales applications et plates-formes web construites avec Vue.js :
- Gitlab
- Trivago
- Statista
- Behance
- Et le célèbre 9GAG, entre autres.
Lorsqu'il s'agit de technologies éprouvées (plus anciennes), elles sont généralement plus performantes que les nouveaux frameworks ou les frameworks émergents en matière de sécurité. Cela s'explique principalement par le fait que les anciens frameworks ont été exposés à un nombre croissant de vulnérabilités au fil des ans et que l'équipe qui les a conçus a eu plus de temps pour examiner et améliorer l'architecture globale et, par conséquent, pour corriger ces problèmes en temps voulu.
L'utilisation d'outils relativement "immatures" comporte un double risque :
- Beaucoup de bugs, de vulnérabilités ou d'omissions
- Communauté plus petite avec une documentation insuffisante en cas de besoin d'aide
Vue.js est un framework open-source plus ancien (2014), ce qui signifie qu'il passe haut la main le test de maturité.
Selon une enquête JavaScript de 2020, Vue.js était le troisième framework JS le plus populaire cette année-là, juste derrière React.js (2e) et Svelte (1er). En outre, les développeurs ont un sentiment plutôt positif à l'égard du travail avec Vue.js. Environ 42 % des répondants ont déclaré qu'ils utiliseraient à nouveau le framework, tandis que 32 % ont exprimé leur intérêt à en apprendre davantage sur Vue.js à l'avenir.
En ce qui concerne les impressions brutes, Vue.js est très populaire sur GitHub. Il compte actuellement plus de 194 000 étoiles et plus de 400 contributeurs, soutenus par un nombre important de sponsors et autres supports.
Où trouver des développeurs Vue.js
Comme je l'ai dit plus haut, il est difficile de trouver des développeurs Vue.js hautement qualifiés. En fait, l'embauche d'un développeur, en général, est une tâche très délicate qui implique plusieurs aspects à prendre en compte et beaucoup de choses qui pourraient mal tourner-de nombreuses façons imprévisibles.
Heureusement, chez Proxify, le processus de recherche et de recrutement de développeurs Vue.js est devenu une véritable science.
Il existe deux approches principales pour trouver des développeurs experts de Vue.js, notamment :
- Manuel (interne)
- Automatisé (source)
La méthode manuelle implique que vous-même ou un responsable du recrutement au sein de votre entreprise (ou même quelqu'un d'externe !) recherchiez, localisiez et discutiez avec le développeur potentiel.
Le responsable du recrutement (ou vous-même) doit évaluer leurs compétences générales, leur maîtrise de la pile de données et toute autre compétence, exigence professionnelle ou expérience de travail que vous jugez pertinente pour le projet à venir, mais nous reviendrons plus tard sur les entretiens avec les développeurs.
Voici quelques-unes des plateformes les plus populaires où vous pouvez trouver les meilleurs talents de Vue.js :
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomads
- LinkedIn
En tant que fier Proxifier, je vous recommande de commencer votre recherche avec Proxify et de poursuivre ensuite. Il s'agit d'une expérience d'embauche transparente et fluide, et d'un triple avantage (gagnant-gagnant-gagnant ?) pour le client, le développeur et notre plateforme également.
D'autre part, vous pouvez également travailler avec une agence de recrutement et automatiser/externaliser l'ensemble de l'expérience de recrutement tout en vous concentrant sur d'autres aspects de votre activité.
Cette approche vous permettra de libérer une partie de votre temps, mais il faut savoir que "vous ne savez jamais ce que vous allez obtenir", comme le disait Forrest Gump. Les agences de recrutement sont souvent peu fiables et inadaptées pour trouver des membres d'équipe dévoués qui seraient réellement intéressés et passionnés par vos projets.
En fait, trouver le bon développeur indépendant Vue.js peut faire ou défaire les équipes de développement, quel que soit le stade de développement de l'application.
Que vous recherchiez des développeurs à temps plein ou à temps partiel, il y a quelques éléments à garder à l'esprit pendant le processus d'entretien :
- Années d'expérience ;
- Compétences générales ;
- Compétence en matière de piles (frontend, backend, full-stack) ;
- Domaine d'expertise (développement web, développement mobile, modèle de développement hybride).
En résumé, le candidat doit être dévoué à son métier, toujours désireux d'apprendre davantage et de s'améliorer, et avoir un sens aigu du détail et de l'identification des bugs dans un code vaste et complexe.
Principales compétences techniques que doit posséder un développeur Vue.js
Vue.js, l'un des frameworks JavaScript qui connaît la croissance la plus rapide à l'heure actuelle, s'est également imposé comme un framework de choix pour les développeurs en raison de son accessibilité, de sa polyvalence et de ses performances.
À la lumière de ce qui précède, voici les compétences techniques les plus importantes qu'un développeur Vue.js prometteur devrait posséder.
HTML + CSS : Comme la plupart d'entre vous le savent, HTML et CSS sont les piliers de tout l'Internet. Le HTML indique à la page ce qu'elle doit afficher, et le CSS indique au Web comment la page qui doit être présentée. Comme les applications Vue.js sont créées avec SFC (Single File Components), ce même modèle permet aux développeurs de définir la logique Javascript, le code HTML et les styles CSS au sein de l'application.
JavaScript moderne : Les applications Vue.js fonctionnent avec des données dynamiques plutôt que statiques. Les développeurs pourront utiliser le JavaScript moderne pour écrire comment leurs applications Vue.js doivent gérer cette logique dans le SFC. Cela améliorera l'efficacité et la vitesse de l'ensemble du processus de développement et permettra aux développeurs d'écrire un meilleur code.
Git : Tout développeur de logiciels devrait être familier avec Git. Git représente un système de contrôle de version (VSC) qui permet aux développeurs de suivre les modifications de leurs fichiers et facilite le travail de plusieurs personnes sur un même projet. Les développeurs Vue.js devraient connaître GitHub ou Gitlab et être en mesure de les utiliser facilement.
Vue, Vue CLI et Vue Native : Il va sans dire que les bons développeurs Vue.js doivent être intimement familiarisés avec le langage de programmation Vue. Pour les développeurs débutants, la documentation de Vue est un excellent point de départ.
En outre, Vue.js est également "équipé" d'une interface en ligne de commande (CLI) pour rendre le processus de développement plus rapide, plus facile et plus fiable également. La dernière CLI fonctionne sur une toute nouvelle architecture basée sur des plugins, qui permet aux développeurs de créer leurs propres préréglages et plugins uniques.
Actuellement, Vue Native a été déprécié. Cependant, les développeurs Vue.js devraient toujours s'efforcer d'apprendre de nouveaux frameworks qui les aideraient à améliorer leurs compétences en matière de développement mobile (natif, multiplateforme, hybride) dans un avenir proche.
Selon l'un de nos développeurs Proxify, Akin Oztorun, les trois concepts techniques les plus importants que tout développeur Vue.js doit connaître sont les suivants :
- Réactivité
- Composition API
- Observateurs et propriétés calculées
À ma question sur l'applicabilité de Vue.js, Akin est resté pensif.
"C'est une question délicate, en fait, parce que je pense que je peux écrire toutes sortes d'applications à page unique avec Vue. Mais je pense que le problème commence avec la complexité. Gérer la complexité nécessite plus d'expérience avec Vue, je suppose. La seule façon d'écrire des applications complexes avec Vue.js est de se concentrer sur un code propre, modulaire et réutilisable."
Akin Oztorun
"Si vous n'écrivez qu'un mvp ou une application pour une petite startup, votre niveau d'ancienneté n'a pas d'importance ; écrivez simplement via Vue parce que c'est plus rapide comme ça", dit-il.
Et qu'en est-il de l'optimisation : comment optimiser les performances et la vitesse de vos applications Vue.js ? Akin est formel :
"La meilleure façon d'optimiser le code est de créer des fichiers communs réutilisables et composables via l'API de composition, je suppose. Pour ce faire, il peut être utile de suivre les principes SOLID. Faites en sorte que toutes les fonctions soient aussi petites que possible et que chaque fonction ait un seul objectif. Et rendez-les également réutilisables si possible."
Akin Oztorun
Mateus Ávila Isidoro, un autre développeur du réseau Proxify, apporte plus de détails.
"Tout d'abord, Vue.js est rapide, vraiment rapide. Cela peut être vu dans des benchmarks récents comme ceux-ci. Cette rapidité s'explique par le fait que de nombreux regards sont portés sur le projet, l'un des plus influents étant celui de GitHub".
Pour les développeurs potentiels de Vue.js, voici ce que Mateus recommande:
"Eh bien, je pense qu'un bon développeur Vue peut créer de la magie sans faire beaucoup d'efforts. Il peut simplement ajouter le fichier CDN et instancier l'objet Vue, et voilà ! Les anciens projets peuvent être rafraîchis en quelques secondes. Donc, si vous êtes un jeune développeur qui connaît HTML, CSS et JS, vous êtes tout à fait capable d'être un bon développeur Vue. La courbe d'apprentissage est faible, c'est un plaisir, et la documentation est unique en son genre."
Mateus Ávila Isidoro
Il ajoute également que les nouveaux développeurs découvriront rapidement que le HTML est un plaisir à travailler. "Leur courbe d'apprentissage actuelle est simple et très logique. Pour les développeurs backend, cela signifie qu'ils peuvent mettre en œuvre une logique complexe avec facilité", ajoute-t-il.
En ce qui concerne la complexité des applications, Mateus est clair.
"Vue 2 fonctionne avec des classes, mais la nouvelle version arrive avec une API de composition qui offre une grande amélioration de la modularité, comme React l'a fait avec les hooks. Les petits projets ne peuvent pas fonctionner avec React. Même les grandes entreprises avec des données logiques complexes peuvent facilement appliquer Vue dans leur noyau et le framework fonctionne sans problème."
Mateus Ávila Isidoro
Selon lui, Vue.js est très convivial pour les applications de tout type. Il ajoute que toute application peut exécuter Vue. "Les gens disent que Vue.js n'a pas un bon support comme React Native ou Flutter. C'est une idée fausse car Vue est supporté par Ionic et Tauri (cet outil incroyable que j'ai découvert dimanche dernier sur la chaîne Fireship-vous pouvez le regarder ici)."
"Des frameworks étonnants comme Nuxt et Quasar peuvent réaliser n'importe quel type d'application. Bien sûr, les grandes entreprises comme Facebook et Google mettent beaucoup d'argent et d'efforts dans la construction d'applications comme React et Flutter, mais Vue s'en rapproche dans tous les scénarios."
Mateus Ávila Isidoro
Mateus conclut par un mot sur le créateur de Vue.js.
"Et enfin, le créateur de Vue.js, Evan You, a créé un autre outil étonnant appelé Vite. Cet outil utilise les modules ES. Ils sont beaucoup plus rapides à exécuter dans les navigateurs, et tous les nouveaux navigateurs exécutent Vite assez bien", a-t-il déclaré.
"Avec cet outil, vous pouvez créer des petits paquets ultra optimisés déployés sur HTTP 2/0 et HTTP 3/0. Ce n'est pas une question sur Vue, mais le résultat final d'une application Vue est comparable à une application React. Vue s'exécute plus rapidement dans le navigateur, crée de petits paquets au moment de la construction, et c'est un plaisir de travailler avec, avec un support Typescript et >ES6 hors normes également."
Mateus Ávila Isidoro
Enfin, Endrit Veseli, ingénieur logiciel senior chez Proxify, intervient également sur la question. Il maîtrise Angular, Vue.js, Node.js et quelques autres frameworks.
À ma question sur les trois concepts techniques les plus importants concernant Vue.js, voici ses choix :
- Réactivité et cycle de détection des changements
- Liaison de données et état des composants
- DOM virtuel
Selon Endrit, Vue.js convient à toutes sortes d'applications. Il s'est même étendu sur le sujet.
"Toutes sortes d'applications de nos jours, mais là où il se distingue, je dirais que c'est avec les applications héritées. Vous voyez, Vue est l'une des rares bibliothèques qui peut être intégrée dans une application web existante en incluant simplement le script source de Vue dans un HTML existant en utilisant une balise < script > ordinaire et commencer à travailler avec son API sans beaucoup de frais généraux et sans avoir besoin d'une installation complexe de npm ou node_modules."
Endrit Veseli
Il poursuit : "Bien qu'il y ait une surcharge minimale puisque toute la compilation se fait à la volée quand on l'utilise comme ça, il y a aussi l'avantage d'utiliser Vue pour moderniser certaines sections de la page sans avoir à réécrire (à partir de zéro) l'application web existante."
En ce qui concerne l'optimisation des performances et de la vitesse, Endrit s'est montré ouvert et direct.
"Utilisez des composants sans état lorsque cela est possible. Cachez les données (principalement en utilisant des propriétés calculées que Vue met automatiquement en cache et ne recalcule pas si aucun nouveau changement n'a eu lieu).
Endrit Veseli
Utilisez toujours des attributs clés lorsque vous parcourez les données du DOM. De cette façon Vue gardera la trace des éléments et agira seulement sur ces changements et non sur la portion entière du HTML rendu. Chargement paresseux des composants lorsque cela est possible."
Questions d’entretien portant sur Vue.js + réponses attendues
Voici quelques questions techniques permettant d'évaluer les compétences techniques d'un potentiel développeur Vue.js :
- Quelle est la différence entre les termes slots et scoped slots ?
Réponse attendue : Un slot est un moyen de transmettre des informations à un composant. Il s'agit d'un espace de stockage que vous pouvez remplir avec des données provenant de votre composant parent, comme une matrice d'objets appartenant à un objet. Les slots sont plutôt pratiques lorsque vous souhaitez communiquer des informations entre les composants parent et enfant.
Les “scoped slots” sont similaires mais ils sont plus spécifiques et réutilisables. Vous pouvez les définir comme des éléments HTML ordinaires, et leur contenu sera transmis en tant que props lorsqu'ils seront utilisés dans d'autres composants.
- Quels sont les avantages et les inconvénients de l'utilisation des mixins ?
Réponse attendue :
Pour : Les “mixins” sont parfaits pour créer des fonctionnalités réutilisables que vous pouvez partager entre plusieurs composants sans dupliquer le code ou devoir tout écrire à zéro à chaque fois. Ils permettent également aux développeurs qui ne sont pas familiers avec Vue, de se lancer rapidement en utilisant des fonctions préétablies au lieu d'écrire leur propre code à chaque fois qu'une nouvelle fonctionnalité doit être implémentée (ce qui pourrait s'avérer plus difficile pour eux que s'ils utilisaient des fonctions préétablies).
Inconvénients : il est parfois difficile pour les développeurs qui ne connaissent pas Vue ou JavaScript, de comprendre le fonctionnement des mixins s'ils n'ont jamais expérimenté ces deux langages auparavant.
- Qu'est-ce qui constitue un composant à fichier unique ?
Réponse attendue : Un composant à fichier unique est un fichier HTML qui comprend tout le code JavaScript nécessaire à son fonctionnement.
- Définissez le DOM virtuel et son utilité avec Vue.js ;
Réponse attendue : Le DOM virtuel est une représentation du document HTML qui est stocké en mémoire. On l’utilise pour accélérer la mise à jour du document réel.
Vue.js utilise le DOM virtuel par défaut, ce qui signifie que toute modification de ses propriétés est d'abord effectuée du côté client, puis reflétée dans le DOM réel lorsqu'elle est prête. Cela garantit qu'il n'y a pas de décalage entre le moment où une modification est effectuée et celui où elle est visible à l'écran.
- Selon vous, quels sont les avantages et les inconvénients de l'utilisation de Vue.js ?
Réponse attendue : Vue.js présente plusieurs avantages : il est facile à apprendre, il est rapide tant en développement qu'en production et il dispose d'une excellente documentation à exploiter. Cependant, il a également quelques inconvénients : il ne prend en charge que les navigateurs modernes (IE9+), car il n'existe pas encore de support mobile natif (bien qu'il existe des bibliothèques tierces comme NativeScript), et il manque de plugins.
- Que représentent les liaisons d'attributs dans un système Vue ?
Réponse attendue : Les liaisons d'attributs dans Vue sont un moyen de communiquer entre les composants, et elles peuvent servir à faire passer des données d'un composant à un autre.
- Décrivez comment les données circulent entre les composants dans un système Vue.
Réponse attendue : Les données circulent entre les composants d'un système Vue par le biais des props. Les props sont l'équivalent des attributs HTML. Ils sont transmis du composant parent au composant enfant. Par exemple, si vous avez un composant parent qui contient une liste de produits, chaque produit aura son propre composant enfant qui sera chargé d'afficher les informations relatives à ce produit. Le parent transmet les informations sur le produit sous forme de props, afin que l'enfant sache ce qu'il doit afficher.
- Que représentent les directives en langage Vue ?
Réponse attendue : Les directives sont l'un des composants essentiels de Vue.js. Elles vous permettent d'étendre la fonctionnalité de vos composants en ajoutant des attributs HTML et des comportements personnalisés.
- Peut-on combiner les styles local et global ?
Réponse attendue : C’est possible de combiner les styles locaux et globaux en se servant d’objets de style, qui peuvent être créés en utilisant v-bind:style sur les éléments considérés ou avec des crochets {} dans votre code JavaScript. Cela vous permet de maintenir une séparation adéquate entre les styles sans avoir à vous soucier qu’ils s’écrasent mutuellement.
- Pourquoi choisir Vue.js plutôt que d'autres frameworks frontend ?
Réponse attendue : Vous pourriez préférer Vue à d'autres frameworks frontend parce qu'il est facile à apprendre et à mettre en œuvre, et qu'il est suffisamment puissant pour de grandes applications aux exigences complexes.
Pourquoi devriez-vous recruter un développeur Vue.js ?
Il existe de multiples raisons d'engager un professionnel de Vue.js ou de constituer une équipe de plusieurs développeurs en fonction de la taille et de la portée de votre projet.
Tout d'abord, Vue.js est simple à construire, à utiliser et à déboguer. Sa simplicité permet un meilleur suivi des erreurs par rapport aux autres frameworks web. Votre application Web sera moins sujette aux bogues et autres "contretemps" dans le code.
Comme certains de nos développeurs Proxify l'ont indiqué ci-dessus, Vue.js est également très flexible et adaptable. Il peut fonctionner avec toute application et tout cadre populaire existant, quel que soit l'état du cycle de développement déjà mis en place.
Enfin, Vue.js offre une approche simple de ce qui serait autrement un processus de développement complexe. Les développeurs Vue.js compétents seront en mesure d'exploiter cette notion à leur avantage pour créer de meilleures applications.