Het vinden van top Vue.js ontwikkelaars is een lastige taak. Je moet weten waar je moet kijken, hoe je hun vaardigheden kunt onderscheiden, en tot slot moet je verzekeren dat ze goed passen bij jouw bedrijf.
Gelukkig weten wij bij Proxify precies hoe je dat kunt doen.
Lees verder en ontdek de antwoorden op deze vragen (en meer) in deze handige, korte en beknopte Vue.js gids.
Wat is Vue.js?
Terug in in 2013, liep een Google engineer genaamd Evan You tegen een probleem aan. Hij en zijn team moesten een redelijk ingewikkeld UI (gebruikerservaring) prototype ontwikkelen, maar het moest snel gebeuren. Het schrijven van een heleboel overbodig (of mag ik zeggen: saaie) HTML code zou niet gaan werken, dus ze gingen voor een andere benadering.
Hun oplossing: geen. Tot de verbazing van Evan en zijn teamgenoten was er toendertijd geen enkel tool, framework of library dat hun in staat zou stellen om het prototype snel in elkaar te zetten. Met andere woorden, ze zaten vast!
De bestaande tools omvatten Angular.js (a proto-React.js), en Backbone.js dat voornamelijk werd gebruikt voor grote op MVC gebaseerde applicaties en dat niet echt toereikend was voor het project dat ze in gedachten hadden.
En daarin vonden zij de oplossing, die de hele tijd recht voor hun neus lag: Angular.js. Evan pakte de delen die ze konden gebruiken paste ze aan, en creëerde Vue.js tot het genoegen van het hele Google Creative Lab team.
Al snel lanceerde ze hun eerste Vue.js iteratie in 2013, nauw gevolgd door de eerst stabiele Vue.js uitgave in 2014. Je kunt de hele Vue.js publicatie geschiedenis vinden op GitHub.
Hoe populair is Vue.js?
Vue.js is een framework dat afstamt van de programmeertaal JavaScript, en is vandaag de dag erg populair bij allerlei soorten ontwikkelaars, voornamelijk bij softwareontwikkeling dat een lichte aanpak vereist voor een complexe set van problemen.
In termen van major web applicaties en platformen die gebouw zijn met Vue.js, zijn er hier slechts een paar genoemd:
- Gitlab
- Trivago
- Statista
- Behance
- En de beruchte 9GAG, en meer
Wanneer het gaat om bewezen (oudere) technologieën, presteren ze meestal beter dan nieuwe of opkomende frameworks met betrekking tot veiligheid. Dit is vooral omdat oudere frameworks door de jaren heen zijn blootgesteld aan een toenemend aantal kwetsbaarheden, en het team dat achter deze frameworks zit heeft meer tijd gehad om na te denken over de algehele architectuur en om deze te verbeteren waarmee ze deze haperingen binnen een korte tijd konden oplossen.
Het gebruik van relatief “onvolwassen” tools brengt een tweevoudige risico met zich mee:
- Een heleboel bugs, kwetsbaarheden of omissies
- Kleinere gemeenschap met onvoldoende documentatie in het geval dat hulp nodig is
Vue.js is een ouder open-source framework (2014), wat betekent dat het met vlag en wimpel slaagt voor de volwassenheid test.
Volgens een 2020 JavaScript enquête, was Vue.js het derde populairste JS framework jaar, net achter React.js (2de) en Svelte (1ste). Daarnaast hebben ontwikkelaars ook een grotendeels positief gevoel over het werken met Vue.js. Ongeveer 42% van de respondenten stelde dat ze het framework opnieuw zouden gebruiken, terwijl 32% hun interesse uitsprak om in de toekomst meer te leren over Vue.js.
Over ruwe impressie gesproken, is Vue.js erg populair op GitHub. Het heeft momenteel 194K+ sterren en meer dan 400 contributeurs die ondersteund worden door een flink aantal sponsors en andere backers.
Waar vind je Vue.js ontwikkelaars
Zoals al eerder vermeld is het moeilijk om zeer vaardige ontwikkelaars vinden. Eigenlijk is het inhuren van een ontwikkelaar in het algemeen een erg lastig iets dat vele verschillende onderdelen heeft en waarbij een heleboel dingen fout kunnen gaan – op vele onverwachte manieren.
Gelukkig is het ons bij Proxify gelukt om het proces van het vinden en inhuren van Vue.js ontwikkelaars te perfectioneren.
De twee voornaamste benaderingen voor het vinden van expert Vue.js ontwikkelaars zijn:
- Handmatig (Intern)
- Geautomatiseerd (Inhuren)
De handmatige manier omvat of jijzelf of een wervingsmanager in jouw bedrijf (of zelfs iemand anders!) die handmatig de potentiële ontwikkelaar zoekt en het gesprek aangaat met de ontwikkelaar.
De inhurende manager (of jij) moet hun sociale vaardigheden, stack vaardigheid en andere vaardigheden, functievereisten of werkervaring waarvan je denkt dat het relevant zou zijn voor het opkomende project, beoordelen. Later zullen we meer vertellen over het interviewen van ontwikkelaars.
Hier zijn een aantal van de populairste platformen waar je top Vue.js talent kunt vinden:
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomads
- LinkedIn
En als een trotse Proxifier zou ik aanbevelen dat je jouw zoektocht begint bij Proxify en vanaf daar verder kijkt. Het is een soepele ervaring voor het inhuren van een ontwikkelaar zonder moeilijkheden, het is een driedubbele win (win-win-win?) voor de cliënt, de ontwikkelaar en ook voor ons platform.
De andere optie is om te werken met een uitzendbureau en de hele proces van het inhuren automatiseren/uitbesteden terwijl jij je focust op andere dingen in jouw bedrijf.
Deze benadering zal jou wat tijd besparen maar het nadeel is wel dat “je nooit weet wat je gaat krijgen”—zoals Forrest Gump zou zeggen. Uitzendbureaus zijn vaak onbetrouwbaar en niet geschikt voor het vinden van toegewijde teamleden die oprecht geïnteresseerd zouden zijn en gepassioneerd aan jouw projecten zouden werken.
Eigenlijk kan het vinden van de juiste Vue.js ontwikkelaar een ontwikkelingsteams maken of breken—ongeacht van het ontwikkelingsstadium of de applicatie.
Hoe Vue.js ontwikkelaars te interviewen
Of je nu op zoek bent naar fulltime of parttime ontwikkelaars, hier zijn een paar dingen waar je op moet letten tijden het interview proces:
- Aantal jaren ervaring;
- Sociale vaardigheden;
- Stack vaardigheid (front-end, backend, full-stack);
- Gebied van expertise (web ontwikkeling, mobiele ontwikkeling, hybride ontwikkelingsmodel).
Kort samengevat zou de kandidaat toegewijd moeten zijn aan hun beroep, altijd enthousiast moeten zijn om meer te leren en om te verbeteren, en een scherp oog moeten hebben voor detail en het identificeren van bugs in grote en complexe code.
Top technical vaardigheden die elke Vue.js ontwikkelaar zou moeten hebben
Als een van de snelst groeiende JavaScript frameworks van vandaag de dag, heeft Vue.js zichzelf gevestigd als een populair framework dat door ontwikkelaars gekozen wordt vanwege zijn toegankelijkheid, veelzijdigheid en prestatie.
Hier zijn de belangrijkste technische vaardigheden die een ontwikkelaar zou moeten hebben.
HTML + CSS: Zoals veel van jullie weten zijn HTML en CSS de ruggengraten van het hele internet. HTML vertelt de pagina wat het moet laten zien, en CSS vertelt het web hoe de pagina eruit zou moeten zien. Aangezien Vue.js applicaties gecreëerd worden met SFC (Single File Components), staat dat zelfde model ontwikkelaars toe om de Javascript logica, HTML code, en CSS stijlen te definiëren in de applicatie.
Modern JavaScript: Vue.js apps werken met dynamische in plaats van statische data. Ontwikkelaars zullen in staat zijn om modern JavaScript te gebruiken om te schrijven hoe hun Vue.js applicaties deze logica zouden moeten hanteren in de SFC. Dit zal de efficiëntie en snelheid van het hele ontwikkelingsproces verbeteren en ontwikkelaars toe staan om betere code te schrijven.
Git: Elke software ontwikkelaar zou bekend moeten zijn met Git. Git vertegenwoordigt een versie controle systeem (VSC) dat ontwikkelaars toe staat om veranderingen in hun bestanden te volgen die makkelijker maken om met meerdere mensen te werken aan hetzelfde project. Vue.js ontwikkelaars zouden bekend moeten zijn met GitHub of Gitlab en zouden in staat moeten zijn om ze met gemak te gebruiken.
Vue, Vue CLI en Vue Native: Het is overduidelijk dat succesvolle Vue.js ontwikkelaars intrinsiek bekend zouden moeten zijn met de Vue programmeertaal. Voor opkomende ontwikkelaars is de Vue documentatie een geweldige plek om te beginnen.
Daarnaast is Vue.js ook “uitgerust’” met een command line interface (CLI) om het ontwikkelingsproces sneller, makkelijk en betrouwbaarder te maken. De nieuwste CLI opereert op een gloednieuwe plug-in gebaseerde architectuur die ontwikkelaars toe staat om hun eigen unieke presets en plug-ins te creëren.
Momenteel is Vue Native verouderd. Toch zouden ontwikkelaars er altijd naar moeten streven om nieuwe frameworks te leren die hen zouden helpen om hun mobiele ontwikkelingsvaardigheden te verbeteren (native, over meerdere platformen, hybride) in de nabije toekomst.
Volgens een van onze Proxify ontwikkelaars, Akin Oztorun, zijn de drie belangrijkste technische concepten die elke Vue.js ontwikkelaar zou moeten kennen:
- Reactiviteit
- Compositie API
- Watchers & Berekende eigenschappen
Op mijn vraag over de toepasbaarheid van Vue.js antwoordde Akin:
“Dit is een lastige vraag, want ik denk dat we allerlei soorten enkele pagina applicaties kunnen bouwen met Vue. Maar ik denk dat het probleem begint bij complexiteit. Het beheren van complexiteit vereist meer ervaring met Vue, denk ik. De enige manier om complexe apps te schrijven met Vue.js is door te focussen op schone, modulaire en herbruikbare code.”
Akin Oztorun
“Als je gewoon een mvp of een app schrijft voor een kleine start-up dan maakt jouw senioriteit niveau niet uit; schrijf het gewoon via Vue want dat is de snelste manier”, zegt hij.
En hoe zit het met optimalisatie: hoe zou je jouw Vue.js applicaties optimaliseren voor prestatie en snelheid? Akin heeft een duidelijk antwoord:
“De beste manier om de code te optimaliseren is door herbruikbare, composable gemeenschappelijke bestanden te creëren via Composition API, denk ik. Het volgen van SOLID principes kan daarbij handig zijn. Maak alle functies zo klein mogelijk en elke functie zou een doel moeten hebben. En maak ze herbruikbaar indien mogelijk.”
Akin Oztorun
Mateus Ávila Isidoro, een andere ontwikkelaar van het Proxify netwerk, voegde toe:
“Ten eerste is Vue,js erg snel. Dit kan gezien worden in recente referentiepunten zoals deze. Deze snelheid komt met een heleboel ogen die kijken naar het project, een van de meest impactvolle bij GitHub”.
Voor toekomstige Vue.js ontwikkelaars is dit wat Mateus te zeggen had:
“Nou ik denk dat een goede Vue ontwikkelaar zonder veel moeite magie kan creëren. Ze kunnen het CDN bestand gewoon toevoegen en het Vue object instantiëren en voilá! Legacy projecten kunnen binnen enkele seconden ververst worden. Dus, als je een jonge ontwikkelaar bent die kennis heeft van HTML, CSS, en JS, dan zul je ook in staat zijn om een goede Vue ontwikkelaar te zijn. De leercurve is klein, het is leuk en de documentatie is uniek.”
Mateus Ávila Isidoro
Hij voegt ook toe dat nieuwe ontwikkelaars snel zullen ontdekken dat HTML leuk is om mee te werken. “Hun huidige leerweg is gemakkelijk en erg logisch. Voor backend ontwikkelaars betekent het dat ze gemakkelijk complexe logica kunnen implementeren”, voegt hij toe.
In termen van de complexiteit van de applicatie, zei Mateus:
“Vue 2 werkt met klassen, maar bij de nieuwe versie zit een compositie API die grote verbeteringen biedt in modulariteit, net als React heeft gedaan met hooks. Kleine projecten kunnen niet runnen met React. Zelfs grote corporaties met complexe logica gegevens kunnen Vue gemakkelijk toepassen in hun kern en het framework zal soepel runnen.”
Mateus Ávila Isidoro
Volgens hem is Vue.js erg goed bruikbaar voor elke soort applicatie. Hij voegt toe dat elke applicatie Vue kan runnen. “Mensen zeggen dat Vue.js geen goede ondersteuning heeft zoals React Native of Flutter. Dit is een misvatting want Vue wordt ondersteund door Ionic en Tauri (deze geweldige tool heb ik afgelopen Zondag ontdekt op het Fireship Kanaal – je kunt het hier kijken).”
“Geweldige frameworks zoals Nuxt en Quasar kunnen allerlei soorten applicatie smaken. Natuurlijk hebben grote corporaties zoals Facebook en Google veel geld en moeite gestopt in het bouwen van applicaties zoals React en Flutter, maar Vue komt dichterbij in elk scenario.”
Mateus Ávila Isidoro
Mateus sloot af met een woord over de maker van Vue.js.
“En tot slot, de creator van Vue.js, Evan You, creëerde nog een andere geweldige tool genaamd Vite. Deze tool gebruikt ES Modules. Die zijn veel sneller om te runnen in browsers, en de nieuwe browsers running Vite best wel goed”, zei hij.
“Met deze tool kun je kleine en ultra geoptimaliseerde pakketten creëren die ingezet worden op HTTP 2/0 en HTTP 3/0. Dit gaat niet om Vue maar het eindresultaat van Vue is vergelijkbaar met een React applicatie. Vue runt sneller in de browser, creëert kleine pakketten bij bouwtijd en is leuk om mee te werken, met Typescript ondersteuning en ook >ES6 in de grafieken.”
Mateus Ávila Isidoro
Uiteindelijk voegde Endrit Veseli, een Senior Software Engineer bij Proxify, ook nog iets toe. Hij is vaardig in Angular, Vue.js, Node.js, naast nog een paar andere frameworks.
Als antwoord op mijn vraag over de drie belangrijkste technische concepten met betrekking tot Vue.js is dit wat hij noemde:
- Reactiviteit en Verandering Detectie Cyclus
- Data Binding en Component Staat
- Virtual DOM
Volgens Endrit is Vue.js geschikt voor allerlei soorten applicaties. Hij voegt zelfs nog toe:
“Allerlei soorten applicaties vandaag de dag maar waar het uitblinkt is bij de legacy apps, zou ik zeggen. Kijk, Vue is een van de weinige libraries die geïntegreerd kan worden in een bestaande web applicatie door simpelweg het Vue source script toe te voegen aan een bestaande HTML door gebruik te maken van een gewone < script > tag en te beginnen werken met zijn API zonder veel overhead en zonder dat complexe nmp of node_modules installaties nodig zijn.”
Endrit Veseli
Hij vervolgt: “Alhoewel er een minimale overhead is aangezien alle compilatie meteen gebeurd wanneer je het op deze manier gebruikt, is er ook het voordeel van het gebruiken van Vue om sommige secties van de pagina te moderniseren zonder dat het nodig is om de bestaande web app te te herschrijven (vanuit het niets).”
In termen van optimalisatie voor prestatie en snelheid, was Endrit open en duidelijk.
“Gebruik staatloze componenten wanneer dat mogelijk is. Cache data (voornamelijk gedaan door gebruik te maken van berekende eigenschappen die Vue automatisch cachet en niet opnieuw berekend als er geen nieuwe veranderingen zijn geweest).
Endrit Veseli
Gebruik altijd belangrijk attributen wanneer je DOM data doorneemt. Op deze manier zal Vue de elementen bijhouden en enkel handelen op die veranderingen die en niet op het hele deel van de gerenderde HTML. Lazy loading van de componenten waar mogelijk.”
Vue.js interviewvragen + verwachte antwoorden
Hier zijn wat technische vragen om de technische vaardigheden van een potentiële Vue.js ontwikkelaar te beoordelen:
- Wat is het verschil tussen slots en scoped slots?
Verwachte antwoord: Een slot is een manier om informatie over te brengen naar een component. Het is een plaatsaanduiding die je kunt vullen met data van jouw ouder component, als een serie van objecten die behoren tot een object. Ze zijn handig als je informatie wilt communiceren tussen ouder en kind componenten.
Scoped slots zijn soortgelijk maar ze zijn specifieker en herbruikbaar. Je kunt ze definiëren als gewone HTML elementen en hun inhoud zal overdragen worden als props wanneer ze gebruikt worden in andere componenten.
- Wat zijn de voor- en nadelen van het werken met mixins?
Verwachte antwoord:
Voordelen: Mixins zijn geweldig voor het creëren van herbruikbare functionaliteit die je met meerdere componenten kunt delen zonder de code te dupliceren, en zonder dat je de code telkens weer opnieuw hoeft te schrijven. Ze maken het ook makkelijker voor ontwikkelaars die niet bekend zijn met Vue om snel van start te gaan met het bouwen van vooraf gebouwde functies in plaats van dat ze hun eigen code moeten schrijven telkens als iets nieuws geïmplementeerd moet worden (wat uiteindelijk moeilijker voor hen zou kunnen zijn dan wanneer ze vooraf geschreven functies zouden gebruiken).
Nadelen: Een nadeel is dat het soms moeilijk is voor ontwikkelaars die niet bekend zijn met Vue of JavaScript zelf om te begrijpen wat er binnenin mixins gebeurt als ze die nooit eerder gezien hebben.
- Wat vormt een single-file component?
Verwachte antwoord: Een single-file component is een HTML bestand dat alle noodzakelijke JavaScript code bevat die het nodig heeft om te kunnen functioneren.
- Definieer de virtuele DOM en het gebruik daarvan in relatie tot Vue.js;
Verwachte antwoord: De virtuele DOM is een vertegenwoordiging van het HTML document dat is opgeslagen in het geheugen. Het wordt gebruikt om het proces van het updaten van het daadwerkelijke document te versnellen.
Vue.js gebruikt de virtuele DOM standaard, wat betekent dat enige veranderingen aan zijn eigenschappen eerst gemaakt worden aan de cliëntzijde, en daarna gereflecteerd worden in de daadwerkelijke DOM wanneer ze klaar zijn. Dit verzekert dat er geen lag is tussen het doorvoeren van de verandering en de verandering zien op het scherm.
- Wat zijn volgens jou de voor- en nadelen van het gebruik van Vue.js?
Verwachte antwoord: Er zijn meerdere voordelen aan het gebruiken van Vue.js: het is gemakkelijk te leren, snel in zowel ontwikkeling als productie en het heeft geweldige documentatie. Er zijn echter ook wat nadelen – het ondersteunt enkel moderne browsers (IE9+), aangezien er nog geen native mobiele ondersteuning is (alhoewel er wel derde partij libraries zijn zoals NativeScript), en een gebrek aan plug-ins.
- Wat zijn de attribuut bindingen in Vue?
Verwachte antwoord: Attribuut bindingen in Vue zijn een manier om te communiceren tussen componenten en ze kunnen gebruikt worden voor dingen zoals het overdragen van data van het ene component naar het andere.
- Omschrijf hoe de data stroomt tussen componenten in een Vue.
Verwachte antwoord: De data stroomt tussen componenten in een Vue via props. Props zijn de equivalent van HTML attributen, en ze worden overgedragen van ouder naar kind. Bijvoorbeeld, als je een ouder component hebt dat een lijst van producten heeft, zal elk product zijn eigen kind component hebben dat verantwoordelijk is voor het weergeven van de informatie van dat product. De ouder zou de informatie van het product overdragen als props zodat het kind weet wat het moet weergeven.
- Wat zijn directives in Vue?
Verwachte antwoord: Directives zijn een van de kerncomponenten van Vue.js. Ze maken het mogelijk om de functionaliteiten van jouw componenten uit te breiden door aangepaste HTML attributen en gedragingen toe te voegen.
- Is het mogelijk om lokale en globale stijlen te combineren?
Verwachte antwoord: Het is mogelijk om lokale en globale stijlen te combineren door gebruikt te maken van stijl objecten, die gecreëerd kunnen worden met v-bind:style op elementen of met {} haakjes in jouw JavaScript code. Hierdoor kun je goede scheiding tussen stijlen onderhouden zonder dat jij je zorgen hoeft te maken dat ze elkaar zullen overschrijven.
- Waarom zou je Vue.js verkiezen boven andere front-end frameworks?
Verwachte antwoord: Je kunt Vue boven andere front-end frameworks kiezen omdat het gemakkelijk te leren en te implementeren is, en omdat het krachtig genoeg is voor grote applicaties met complexe vereisten.
Waarom zou je een Vue.js ontwikkelaar moeten inhuren?
Er zijn meerdere redenen om een Vue.js professional in te huren of om een team te bouwen van meerdere ontwikkelaars afhankelijk van de grootte en scope van jouw project.
Ten eerste is Vue.js er makkelijk om mee te bouwen, te gebruiken en om te debuggen. Zijn eenvoud leidt tot verbeterde foutopsporing in relatie tot andere web frameworks. Jouw web applicatie zal minder vatbaar zijn voor bugs en andere “haperingen” in de code.
Zoals een aantal van onze Proxify ontwikkelaars hierboven hebben genoemd, is Vue.js erg flexibel en aanpasbaar. Het kan werken met elke bestaande en populaire applicatie en framework, ongeacht het stadium van de ontwikkelingscyclus dat al bereikt is.
Tot slot biedt Vue.je een simpele benadering voor wat anders een complex ontwikkelingsproces zou zijn. Vaardige Vue.js ontwikkelaars zullen in staat zijn om deze notie in hun voordeel te gebruiken om betere apps te bouwen.