Att hitta riktigt bra Vue.js-utvecklare är en knepig strävan. Du måste veta var du ska titta, hur du ska urskilja deras färdigheter, och slutligen se till att de passar in rätt för ditt företag.
Tack och lov vet vi på Proxify hur man gör just det.
Häng med för att ta reda på svaren på dessa frågor (och mer) i den här praktiska, korta och koncisa Vue.js guiden.
Vad är Vue.js?
Redan 2013 stötte en Google-ingenjör vid namn Evan You på ett problem. Han och hans team behövde utveckla en ganska komplex UI (användarupplevelse) prototype, men de behövde det snabbt. Att skriva massor av överflödig (och jag kan tillägga; tråkig) HTML-kod skulle inte räcka till, så de valde ett annat tillvägagångssätt.
Deras lösning: det fanns ingen. Till Evan och hans kamrats förvåning fanns det då inget verktyg, ramverk, applikation eller bibliotek som kunde göra det möjligt för dem att göra en prototyp snabbt. Med andra ord var de fast!
De befintliga verktygen inkluderade Angular.js (en proto-React.js) och Backbone.js som främst användes för stora MVC-baserade applikationer och som inte riktigt var tillräckligt för de projekt de hade i åtanke.
Och däri fanns lösningen, som låg precis framför deras ansikten hela tiden: Angular.js. Evan tog de delar som han gillade från det, återanvände dem och skapade Vue.js till alla på Google Creative Lab-teamets glädje.
Snart släppte de sin första Vue.js-iteration 2013, tätt följt av den första stabila Vue.js-utgåvan 2014. Du hittar hela Vue.js-utgivningshistoriken på GitHub.
Hur populärt är Vue.js?
Vue.js, ett ramverk som härrör från programmeringsspråket JavaScript, är mycket populärt idag bland alla typer av utvecklare, särskilt för mjukvaruutveckling som kräver ett lätt tillvägagångssätt för en komplex uppsättning problem.
När det gäller stora webbapplikationer och plattformar byggda med Vue.js, så kommer här några:
- Gitlab
- Trivago
- Statista
- Behance
- Och den ökända 9GAG, bland andra
När det gäller beprövad (äldre) teknik presterar de vanligtvis bättre än nya eller kommande ramverk i förhållande till säkerhet. Detta beror främst på att äldre ramverk har utsatts för ett ökande antal sårbarheter genom åren, och teamet bakom dem har haft mer tid att överväga och förbättra den övergripande arkitekturen och därför korrigera dessa brister i god tid.
Att använda relativt "omogna" verktyg medför en dubbel risk:
- Massor av buggar,sårbarheter eller utelämnanden
- Mindre community med otillräcklig dokumentation om hjälp krävs
Vue.js är ett äldre ramverk med öppen källkod (2014), vilket innebär att det klarar mognadstestet med glans.
Enligt en JavaScript-undersökning från 2020 var Vue.js det tredje mest populära JS-ramverket det året, precis bakom React.js (2:a) och Svelte (1:a). Dessutom har utvecklare en mestadels positiv känsla gentemot att arbeta med Vue.js. Cirka 42% av de svarande uppgav att de skulle använda ramverket igen, medan 32% uttryckte sitt intresse för att lära sig mer om Vue.js i framtiden.
På tal om råa intryck är Vue.js mycket populärt på GitHub. Det har för närvarande 194K + -stjärnor och mer än 400 bidragsgivare som stöds av ett stort antal sponsorer och andra stödjare.
Var hittar du Vue.js utvecklare
Som jag nämnde ovan är högkvalificerade Vue.js-utvecklare svåra att få tag på. Att anlita en utvecklare i allmänhet är faktiskt en mycket finurlig sak som involverar flera rörliga delar och massor av saker som kan vara fel-på många oförutsägbara sätt.
Tack och lov har vi på Proxify gjort processen av att hitta och anställa Vue.js-utvecklare till en vetenskap.
Det finns två huvudsakliga metoder för att hitta expert Vue.js-utvecklare, inklusive:
- Manuellt (internt)
- Automatiserad (källa)
Det manuella sättet att göra det innebär att antingen du själv eller en anställningschef inifrån ditt företag (eller till och med någon annan!) manuellt söker, lokaliserar och pratar med den potentiella utvecklaren.
Anställningschefen (eller du) måste bedöma hens soft skills, stackkunskaper och andra färdigheter, samt de arbetskrav eller arbetslivserfarenheter som du tror skulle vara relevanta för det kommande projektet, men mer om att intervjua utvecklare kommer senare.
Här är några av de mest populära plattformarna där du kan hitta topp Vue.js talang:
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomades
- LinkedIn
Som en stolt Proxifier rekommenderar jag att du börjar din sökning med Proxify och sedan går därifrån. Det är en smidig och friktionsfri anställningsupplevelse och en trippel-win (win-win-win?) för kunden, utvecklaren samt för vår plattform.
Å andra sidan kan du också arbeta med ett bemanningsföretag och automatisera/outsourca hela anställningsprocessen samtidigt som du fokuserar på andra saker i ditt företag.
Detta tillvägagångssätt kommer att frigöra en del av din tid, men förbehållet är att "du aldrig vet vad du kommer att få"—som sades av Forrest Gump. Bemanningsföretag är ofta opålitliga och olämpliga för att hitta dedikerade teammedlemmar som skulle vara genuint intresserade och passionerade av att arbeta med dina projekt.
Faktum är att hitta rätt frilansande Vue.js-utvecklare kan skapa eller förstöra utvecklingsteam – oavsett applikationens utvecklingsstadium.
Hur man intervjuar Vue.js-utvecklare
Oavsett om du letar efter heltids- eller deltidsutvecklare finns det ett par saker att tänka på under intervjuprocessen:
- Antal års erfarenhet;
- Soft skills;
- Stack-kompetens (frontend, backend, fullstack);
- Kompetensområde (webbutveckling t, mobilutveckling, hybridutvecklingsmodell).
Sammanfattningsvis bör kandidaten vara dedikerad till sitt hantverk, alltid angelägen om att lära sig mer och förbättras, och ha ett skarpt öga för detaljer och som identifiera buggar i stor och komplex kod.
Eftersträvade tekniska färdigheter som alla Vue.js-utvecklare borde ha
Som ett av de snabbast växande JavaScript-ramverken idag har Vue.js också etablerat sig som ett populärt ramverk bland utvecklare på grund av dess tillgänglighet, mångsidighet och prestanda.
Mot bakgrund av det, här är de viktigaste tekniska färdigheterna en lovande Vue.js utvecklare borde ha.
HTML + CSS: Som de flesta av er vet är HTML och CSS ryggraden i hela Internet. HTML berättar för sidan vad den ska visa, och CSS berättar för webben hur sidan ska se ut. Eftersom Vue.js-program skapas med SFC (Single File Components), tillåter samma modell utvecklare att definiera JavaScript-logik, HTML-kod och CSS-stilar i programmet.
Modern JavaScript: Vue.js appar fungerar med dynamiska i stället för statiska data. Utvecklare kommer att kunna använda modern JavaScript för att skriva hur deras Vue.js-applikationer ska hantera denna logik i SFC. Detta kommer att förbättra effektiviteten och hastigheten i hela utvecklingsprocessen och göra det möjligt för utvecklare att skriva bättre kod.
Git: Alla programutvecklare bör känna till Git. Git representerar ett versionskontrollsystem (VSC) som gör det möjligt för utvecklare att spåra ändringar i sina filer och gör det enklare att arbeta med flera personer i samma projekt. Vue.js-utvecklare bör vara bekanta med GitHub eller Gitlab och bör kunna använda dem med lätthet.
Vue, Vue CLI och Vue Native: Det säger sig självt, men framgångsrika Vue.js-utvecklare bör vara intimt bekanta med programmeringsspråket Vue. För kommande utvecklare är Vue-dokumentationen https://vuejs.org/guide/introduction.html ett bra ställe att börja.
Dessutom är Vue.js också "utrustad" med ett kommandoradsgränssnitt (CLI) för att göra utvecklingsprocessen snabbare, enklare och mer tillförlitlig likaså. Det senaste CLI fungerar på en helt ny plugin-baserad arkitektur, som gör det möjligt för utvecklare att skapa sina egna unika förinställningar och plugins.
För närvarande har Vue Native blivit inaktuellt. Vue.js-utvecklare bör dock alltid sträva efter att lära sig nya ramverk som skulle hjälpa dem att förbättra sina mobila utvecklingsfärdigheter (infödda, plattformsoberoende, hybrid) inom en snar framtid.
I enlighet med en av våra Proxify-utvecklare, Akin Oztorun, är de tre viktigaste tekniska koncepten som varje Vue.js-utvecklare borde känna till:
- Reaktivitet
- API för sammansättning
- Watchers & Computed egenskaper
På min fråga om Vue.js tillämplighet, så blev Akin tänkande och svarade:
"Det här är en knepig fråga, faktiskt, för jag tror att jag kan skriva alla typer av ensidesapplikationer med Vue. Men jag tror att problemet börjar med komplexitet. Att hantera komplexitet kräver mer erfarenhet av Vue, antar jag. Det enda sättet att skriva komplexa appar med Vue.js är att fokusera på ren, modulär och återanvändbar kod."
Akin Oztorun
"Om du bara skriver en mvp eller en app för en liten start-up, spelar din senioritetsnivå ingen roll; skriv det bara via Vue för att det är det snabbaste sättet”, säger han.
Och hur är det med optimering: hur skulle du optimera dina Vue.js applikationer för prestanda och hastighet? Akin är snabb på fötterna:
"Det bästa sättet att optimera koden är att skapa återanvändbara, sammansatta common-filer via Composition API, antar jag. Att följa SOLID-principer kan vara användbart för att göra det. Gör alla funktioner så små som möjligt och varje funktion ska ha ett syfte. Och gör dem också återanvändbara om möjligt."
Akin Oztorun
Mateus Ávila Isidoro, en annan utvecklare från Proxify-nätverket, utvecklade vidare.
"För det första, Vue.js är snabbt, riktigt snabbt. Detta kan ses i de senaste riktmärkena som dessa. Denna hastighet kommer med många tittande ögon på projektet, en av de mest påverkande på GitHub".
För potentiella Vue.js-utvecklare, här är vad Mateus hade att säga:
"Tja, jag tror att en bra Vue-utvecklare kan skapa magi utan att göra mycket ansträngning. De kan bara lägga till CDN-filen och instansiera Vue-objektet och voilá! Äldre projekt kan uppdateras på några sekunder. Så om du är en ung utvecklare som känner till HTML, CSS och JS är du ganska kapabel till att vara en bra Vue-utvecklare. Inlärningskurvan är liten, det är ett nöje och dokumentationen är unik i sitt slag."
Mateus Ávila Isidoro
Han tillägger också att nya utvecklare snabbt kommer att upptäcka att HTML är ett nöje att arbeta med. "Deras nuvarande väg till lärandet är enkel och mycket meningsfull. För backend-utvecklare betyder det att de enkelt kan implementera komplex logik", tillägger han.
När det gäller applikationskomplexitet höll Mateus inte tillbaka.
"Vue 2 fungerar med klasser, men den nya versionen kommer med kompositions-API som erbjuder en stor förbättring av modulariteten, som React gjorde med krokar. Små projekt kan inte köras med React. Även stora företag med komplexa logiska data kan enkelt tillämpa Vue i sin kärna och ramverket går smidigt.”
Mateus Ávila Isidoro
Enligt honom är Vue.js mycket vänlig mot applikationer av alla dess slag. Han tillägger att alla applikationer kan köra Vue. "Folket säger att Vue.js inte har bra stöd som React Native eller Flutter. Detta är en missuppfattning eftersom Vue stöds av Ionic och Tauri (detta fantastiska verktyg som jag upptäckte förra söndagen på Fireship Channel-du kan se det här)."
"Fantastiska ramverk som Nuxt och Quasar kan göra alla typer av applikationer. Naturligtvis lägger stora företag som Facebook och Google mycket pengar på och ansträngningar sig för att bygga applikationer som React och Flutter, men Vue kommer närmare i varje scenario.”
Mateus Ávila Isidoro
Mateus avslutade med ett ord om skaparen av Vue.js.
"Och slutligen skapade fadern av Vue.js, Evan You, ett annat fantastiskt verktyg som heter Vite. Detta verktyg använder ES-moduler. De är mycket snabbare att köra i webbläsare, och alla nya webbläsare kör Vite ganska bra”, säger han.
"Med det här verktyget kan du skapa små och ultraoptimerade paket som distribueras till HTTP 2/0 och HTTP 3/0. Detta är inte en Vue-fråga, men slutresultatet av en Vue-applikation är jämförbar med en React-applikation. Vue körs snabbare i webbläsaren, skapar små paket vid byggtiden och är ett nöje att arbeta med, med Typescript-stöd och >ES6 toppar diagrammen likaså."
Mateus Ávila Isidoro
Slutligen stämde Endrit Veseli, en Senior Software Engineer på Proxify, också in. Han är skicklig i Angular, Vue.js, Node.js och även ett par andra ramverk.
På min fråga om de tre viktigaste tekniska koncepten angående Vue.js, så svarade han:
- Reaktivitet och Change Detection Cycle
- Databindning och komponenttillstånd
- Virtual DOM
Enligt Endrit är Vue.js lämplig för alla typer av applikationer. Han utvecklade ännu mer.
"Alla typer av applikationer nuförtiden, men där det lyser extra starkt skulle jag säga är med de äldre apparna. Du förstår, Vue är ett av få bibliotek som kan integreras i en befintlig webbapplikation genom att helt enkelt inkludera Vue-källskriptet i en befintlig HTML genom att använder en vanlig < script > tag och börjar arbeta med dess API utan möda och utan att behöva komplexa npm eller node_modules installationer."
Endrit Veseli
Han fortsätter: "Även om det finns en minimal overhead eftersom all sammanställning sker i farten när du använder den så här, finns det också fördel med att använda Vue för att modernisera vissa delar av sidan utan att behöva skriva om (från grunden) den befintliga webbappen."
När det gäller att optimera för prestanda och hastighet var Endrit öppen och okomplicerad.
”Använd tillståndslösa komponenter när det är möjligt. Cache-data (mestadels gjort genom att använda beräknade egenskaper som Vue automatiskt cachar och inte beräknar, om inga nya ändringar har ägt rum).
Endrit Veseli
Använd alltid nyckelattribut när du loopar genom DOM-data. "På så sätt kommer Vue att hålla reda på elementen och bara agera på dessa ändringar och inte på hela delen av den renderade HTML. Lat laddning av komponenterna när det är möjligt."
Vue.js intervjufrågor
Här är några tekniska frågor för att bedöma de tekniska färdigheterna hos en potentiell Vue.js-utvecklare:
- Vad är skillnaden mellan slots och scoped slots?
Förväntat svar: En slot är ett sätt att skicka information till en komponent. Det är en platshållare som du kan fylla i med data från den överordnade komponenten, till exempel en matris med objekt som tillhör ett objekt. De är användbara när du vill kommunicera information mellan överordnade och underordnade komponenter.
Scoped slots är likartade, men de är mer specifika och återanvändbara. Du kan definiera dem som vanliga HTML-element, och deras innehåll kommer att skickas ner som rekvisita när de används i andra komponenter.
- Vilka är för- och nackdelarna med att jobba med mixins?
Förväntat svar:
Fördelar: Mixins är bra för att skapa återanvändbar funktionalitet som du kan dela mellan flera komponenter utan att duplicera kod eller behöva skriva allt från grunden varje gång. De gör det också lättare för utvecklare som inte är bekanta med Vue att snabbt komma igång genom att använda förbyggda funktioner istället för att skriva sin egen kod varje gång något nytt behöver implementeras (vilket kan bli svårare för dem än om de använde förskrivna funktioner).
Nackdelar: En nackdel är att det ibland är svårt för utvecklare som inte är bekanta med Vue eller JavaScript själv att förstå vad som händer inom mixins om de aldrig har sett dem förut
- Vad utgör en komponent med en fil?
Förväntat svar: En single-file-komponent är en HTML-fil som innehåller all nödvändig JavaScript-kod som behövs för att den ska fungera.
- Definiera den virtuella DOM och dess användning i förhållande till Vue.js.
Förväntat svar: Den virtuella DOM är en representation av HTML-dokumentet som lagras i minnet. Det används för att påskynda processen att uppdatera det faktiska dokumentet.
Vue.js använder den virtuella DOM som standard, vilket innebär att alla ändringar av dess egenskaper först görs på klientsidan och sedan återspeglas i den faktiska DOM när de är klara. Detta säkerställer att det inte finns någon fördröjning mellan att göra en ändring och se den på skärmen.
- Enligt dig, vilka är fördelarna och nackdelarna med att använda Vue.js?
Förväntat svar: Det finns flera fördelar med att använda Vue.js: det är lätt att lära sig, det är snabbt i både utveckling och produktion och det har bra dokumentation. Det finns dock också några nackdelar - det stöder bara moderna webbläsare (IE9 +), eftersom det inte finns något inbyggt mobilstöd ännu (även om det finns tredjepartsbibliotek som NativeScript) och brist på plugins.
- Vad är attributbindningar i Vue?
Förväntat svar: Attributbindningar i Vue är ett sätt att kommunicera mellan komponenter, och de kan användas för saker som att skicka data från en komponent till en annan.
- Beskriv hur data flödar mellan komponenter i en Vue.
Förväntat svar: Data flödar mellan komponenter i en Vue genom props. Props motsvarar HTML-attribut och de överförs från överordnad till underordnad. Om du till exempel har en överordnad komponent som har en lista över produkter har varje produkt en egen underordnad komponent som ansvarar för att visa produktens information. Den överordnade vidarebefordrar produktens information som props, så att den underordnade vet vad som ska visas.
- Vad är direktiv i Vue?
Förväntat svar: Direktiv är en av kärnkomponenterna i Vue.js. De vill utöka funktionaliteten hos dina komponenter genom att lägga till anpassade HTML-attribut och beteenden.
- Är det möjligt att kombinera lokala och globala stilar?
Förväntat svar: Det är möjligt att kombinera lokala och globala stilar genom att använda formatobjekt, som kan skapas med v-bind:style på element eller med {} parenteser i JavaScript-koden. Detta gör att du kan upprätthålla korrekt separation mellan stilar utan att behöva oroa dig för att skriva över varandra.
- Varför skulle du välja Vue.js framför andra frontend-ramverk?
Förväntat svar: Du kan välja Vue framför andra frontend-ramverk eftersom det är lätt att lära sig och implementera samt att det är tillräckligt kraftfullt för stora applikationer med komplexa krav.
Varför ska du anställa en Vue.js utvecklare?
Det finns flera anledningar att anställa ett Vue.js-yrkesproffs eller bygga ett team av flera utvecklare beroende på storleken och omfattningen av ditt projekt.
Först och främst är Vue.js enkelt att bygga med, använda och felsöka. Dess enkelhet leder till förbättrad felspårning i förhållande till andra webbramverk. Din webbapplikation blir mindre mottaglig för buggar och andra slarvfel i koden.
Som några av våra Proxify-utvecklare nämnde ovan är Vue.js också mycket flexibelt och anpassningsbar. Det kan fungera med alla befintliga populära applikationer och ramverk, oavsett tillståndet i utvecklingscykeln som redan har införts.
Slutligen ger Vue.js ett enkelt tillvägagångssätt för vad som annars skulle vara en komplex utvecklingsprocess. Skicklig Vue.js utvecklare kommer att kunna utnyttja denna uppfattning till sin fördel för att bygga bättre appar.