Det kan være vanskelig å finne de beste Vue.js-utviklerne. Du må vite hvor du skal lete, kunne bestemme ferdighetene deres, og til slutt må du passe på at de er riktig for din bedrift.
Heldigvis vet vi i Proxify akkurat hvordan det gjøres.
Les videre for å finne svarene i denne praktiske, korte og konkrete Vue.js-veiledningen.
Hva er Vue.js?
I 2013 kom en Google-ingeniør ved navn Evan You over et problem. Han og teamet hadde behov for å utvikle en ganske kompleks UI (brukeropplevelse) prototype, men de trengte den raskt. Å skrive overflødig (jeg kan legge til: kjedelig) HTML-kode kom ikke til å forkorte tiden, så de lette etter en annen tilnærming.
De fant ingen løsning. Til Evan og hans jevnaldrendes overraskelse, fantes det ikke noe verktøy, rammeverk, applikasjon eller bibliotek som kunne gjøre dem i stand til å lage en prototype raskt. De satt rett og slett fast!
De eksisterende verktøyene inkluderte Angular.js (en proto-React.js), og Backbone.js som hovedsakelig ble brukt til store MVC-baserte applikasjoner, og de var egentlig ikke tilstrekkelige for prosjektene de ønsket å gjennomføre.
Løsningen lå rett foran dem hele tiden: Angular.js. Evan tok delene han likte fra Angular, brukte dem på nytt og laget Vue.js, til hele Google Creative Lab-teamets glede.
De slapp sin første Vue.js-iterasjon i 2013, tett etterfulgt av den første stabile Vue.js-utgivelsen i 2014. Du kan finne historien bak Vue.js-utgivelse på GitHub.
Hvor populær er Vue.js?
Vue.js, et rammeverk som stammer fra programmeringsspråket JavaScript, er i dag veldig populært blant alle utviklere, spesielt for programvareutvikling som krever en lett tilnærming til et komplekst sett med problemer.
Her er noen få av de store nettapplikasjonene og plattformene som er bygget med Vue.js:
- Gitlab
- Trivago
- Statista
- Behance
- Og den velkjente 9GAG
Når det gjelder utprøvde (eldre) teknologier, er de vanligvis bedre enn nye, eller kommende rammeverk, når det gjelder sikkerhet. Dette er hovedsakelig fordi eldre rammeverk har blitt utsatt for et stort antall sårbarheter gjennom årene, og teamet bak dem har hatt tid til å endre og forbedre den generelle arkitekturen.
Å bruke relativt "umodne" verktøy medfører en todelt risiko:
- Flere feil, sårbarheter eller utelatelser
- Mindre fellesskap, med utilstrekkelig dokumentasjon, om det er behov for hjelp
Vue.js er et eldre rammeverk med åpen kildekode (2014), noe som betyr at det består modenhetstesten med glans.
I følge en JavaScript-undersøkelse fra 2020 var Vue.js det tredje mest populære JS-rammeverket det året, rett bak React.js (2.) og Svelte (1.). I tillegg er utviklerne stort sett positive til å jobbe med Vue.js. Rundt 42 % av respondentene sa at de ville bruke rammeverket igjen, mens 32 % uttrykte interesse for å lære mer om Vue.js i fremtiden.
Vue.js er veldig populær på GitHub. Den har for tiden 194K+ stjerner, og mer enn 400 bidragsytere støttet av et betydelig antall sponsorer og andre støttespillere.
Hvor finner du Vue.js-utviklere?
Som nevnt ovenfor, er særdeles dyktige Vue.js-utviklere vanskelige å få tak i. Det å ansette en utvikler er generelt en veldig spesiell oppgave som involverer flere deler, og det er mange ting som kan gå galt, på uforutsigbare måter.
Heldigvis har vi i Proxify gjort prosessen med å finne og ansette Vue.js-utviklere både rask og effektiv.
Det er to hovedtilnærminger til å finne dyktige Vue.js-utviklere:
- Manuelt (Internt)
- Automatisert (Ekstern)
Den manuelle måten involverer enten deg selv, eller en ansettelsesansvarlig fra bedriften din (eller til og med noen andre!), som manuelt søker, lokaliserer og snakker med den potensielle utvikleren.
Ansettelsesansvarlig må vurdere deres soft skills, stack proficiency og andre ferdigheter, ferdigheter og arbeidserfaring som du tror vil være relevant for det kommende prosjektet. Mer om det å intervjue utviklere senere.
Her er noen av de mest populære plattformene der du kan finne erfarne Vue.js-talenter:
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomads
- LinkedIn
Som en stolt Proxifier vil jeg anbefale å starte søket med Proxify og gå videre derfra. Det er en sømløs ansettelsesopplevelse, og en trippel-vinn (vinn-vinn-vinn?)-for klienten, utvikleren og vår plattform.
På den andre siden kan du jobbe med et bemanningsbyrå, og automatisere/outsource hele ansettelsesprosessen mens du fokuserer på andre oppgaver i bedriften din.
Denne tilnærmingen frigjør noe av tiden din, men problemet er at "du aldri vet hva du kommer til å få"-som Forrest Gump sa. Bemanningsbyråer er ofte upålitelige og uegnet når det gjelder å finne egnede teammedlemmer som vil være genuint interesserte og lidenskapelige i forhold til å jobbe med prosjektene dine.
Betydningen av å finne den rette freelance Vue.js-utvikleren er stor, da en utvikler kan gjøre et utviklingsteam enten sterkere eller svakere–uavhengig av utviklingsstadiet til applikasjonen.
Hvordan intervjue Vue.js-utviklere
Enten du leter etter utviklere på heltid eller deltid, er det et par ting du bør huske på under intervjuprosessen:
- Antall år med erfaring;
- Soft skills;
- Stack proficiency (frontend, backend, full-stack);
- Kompetanseområde (webutvikling, mobilutvikling, hybrid utviklingsmodell)
Oppsummert bør kandidaten være dedikert til arbeidet sitt, alltid ivrig etter å lære mer og forbedre seg, ha et godt øye for detaljer og identifisere feil i stor og kompleks kode.
Tekniske ferdigheter enhver Vue.js-utvikler bør ha
Som et av de raskest voksende JavaScript-rammeverkene i dag, har Vue.js også etablert seg som et populært rammeverk blant utviklere på grunn av dets tilgjengelighet, allsidighet og ytelse.
På bakgrunn av dette, er noen av de viktigste tekniske ferdighetene en lovende Vue.js-utvikler bør ha:
HTML + CSS: Som de fleste av dere vet, er HTML og CSS ryggraden i hele Internett. HTML forteller siden hva den skal vise, og CSS forteller nettet hvordan siden skal se ut. Siden Vue.js-applikasjoner er opprettet med SFC (Single File Components), lar den samme modellen utviklere definere JavaScript-logikken, HTML-koden og CSS-stilene i applikasjonen.
Moderne JavaScript: Vue.js-apper fungerer med dynamiske i stedet for statiske data. Utviklere vil kunne bruke moderne JavaScript for å skrive hvordan Vue.js-applikasjonene deres skal håndtere denne logikken i SFC. Dette vil forbedre effektiviteten og hastigheten til hele utviklingsprosessen og la utviklerne skrive bedre kode.
Git: Enhver programvareutvikler bør være kjent med Git. Git representerer et versjonskontrollsystem (VSC) som gjør det mulig for utviklere å spore endringer i filene sine, og gjør det enklere å jobbe med flere personer på samme prosjekt. Vue.js-utviklere bør være kjent med GitHub, eller Gitlab, og bør enkelt kunne bruke dem.
Vue, Vue CLI og Vue Native: Det sier seg selv, men vellykkede Vue.js-utviklere bør være godt kjent med programmeringsspråket til Vue. For kommende utviklere er Vue-dokumentasjonen et flott sted å starte.
I tillegg er Vue.js også "utstyrt" med et kommandolinjegrensesnitt (CLI) for å gjøre utviklingsprosessen raskere, enklere og mer pålitelig. Den siste CLI-en opererer på en helt ny plugin-basert arkitektur, som lar utviklerne lage egne, unike forhåndsinnstillinger og plugins.
Vue Native har nå blitt avviklet. Vue.js-utviklere bør imidlertid alltid strebe etter å lære nye rammeverk som vil hjelpe dem med å forbedre sine mobile utviklingsferdigheter (native, cross-platform, hybrid).
I følge en av våre Proxify-utviklere, Akin Oztorun, er de tre viktigste tekniske konseptene enhver Vue.js-utvikler bør kjenne til:
- Reaktivitet
- Composition API
- Watchers og computed properties
På spørsmålet mitt om anvendbarheten til Vue.js, ble Akin tankefull.
"Dette er faktisk et vanskelig spørsmål, fordi jeg tror jeg kan skrive alle slags enkeltside-applikasjoner med Vue. Men jeg tror problemet bunner i kompleksitet. Å håndtere kompleksitet krever mer erfaring med Vue, antar jeg. Den eneste måten å skrive komplekse apper med Vue.js på, er ved å fokusere på ren, modulær og gjenbrukbar kode."
Akin Oztorun
"Hvis du bare ønsker å skrive en mvp eller en app til en liten startup, spiller ansiennitetsnivået ditt ingen rolle; skriv det med Vue fordi det er raskest”, sier han.
Og hva med optimalisering: hvordan vil du optimalisere Vue.js-applikasjonene dine for ytelse og hastighet? Akin er rett på sak:
“Den beste måten å optimalisere koden på, er å lage gjenbrukbare, komponerbare, vanlige filer via Composition API, mener jeg. Å følge SOLID-prinsipper kan være nyttig. Gjør alle funksjoner så små som mulig, og gi hver funksjon ett formål. Og gjør dem også gjenbrukbare hvis mulig."
Akin Oztorun
Mateus Ávila Isidoro, en annen utvikler fra Proxify-nettverket, utdypet videre.
"For det første er Vue.js rask, veldig rask. Dette kan sees i nyere benchmarks som disse. Denne hastigheten kommer med mange argusøyne som observerer prosjektet, en av de mest innflytelsesrike på GitHub.”
For potensielle Vue.js-utviklere, er dette hva Mateus hadde å si:
"Vel, jeg tror en god Vue-utvikler kan skape magi uten å legge ned stor innsats. De kan bare legge til CDN-filen og instansiere Vue-objektet, og voilá! Eldre prosjekter kan oppdateres på sekunder. Så hvis du er en ung utvikler som kan HTML, CSS og JS, er du i stand til å bli en god Vue-utvikler. Læringskurven er slak, det er en fornøyelse, og dokumentasjonen er unik.”
Mateus Ávila Isidoro
Han legger også til at nye utviklere raskt vil oppdage at HTML er en fornøyelse å jobbe med. "Veien til læring er enkel og gir mye mening. For backend-utviklere betyr det at de enkelt kan implementere kompleks logikk”, legger han til.
Når det gjelder applikasjonskompleksitet, var Mateus tydelig.
“Vue 2 fungerer med klasser, men den nye versjonen kommer med composition API som tilbyr en stor forbedring i modularitet, slik React gjorde med kroker. Små prosjekter kan ikke kjøres med React. Selv store selskaper med komplekse, logiske data kan enkelt bruke Vue i kjernen, og rammeverket kjører smidig.”
Mateus Ávila Isidoro
Ifølge ham er Vue.js veldig vennlig for applikasjoner av alle slag. Han legger til at enhver applikasjon kan kjøre Vue. "Folk sier at Vue.js ikke har like god støtte som React Native eller Flutter har. Dette er en misforståelse, for Vue støttes av Ionic og Tauri (dette fantastiske verktøyet jeg oppdaget forrige søndag på Fireship Channel- du kan se det her)."
"Fantastiske rammeverk som Nuxt og Quasar kan lage alle typer applikasjoner. Selvfølgelig legger store selskaper som Facebook og Google mye penger og krefter i å bygge applikasjoner som React og Flutter, men Vue nærmer seg stadig."
Mateus Ávila Isidoro
Mateus avsluttet med et ord om skaperen av Vue.js.
"Og til slutt, skaperen av Vue.js, Evan You, laget et annet fantastisk verktøy kalt Vite. Dette verktøyet bruker ES-moduler. De er mye raskere å kjøre i nettlesere, og alle de nye nettleserne kjører Vite ganske bra”.
"Med dette verktøyet kan du lage små og ultraoptimaliserte pakker distribuert til HTTP 2/0 og HTTP 3/0. Dette er ikke et Vue-spørsmål, men sluttresultatet av en Vue-applikasjon kan sammenlignes med en React-applikasjon. Vue kjører raskere i nettleseren, lager små pakker når det bygges, og er en fornøyelse å jobbe med - med Typescript-støtte og >ES6 også.”
Mateus Ávila Isidoro
Endrit Veseli, en senior programvareingeniør hos Proxify, kom med sin mening også. Han er dyktig i Angular, Vue.js, Node.js og et par andre rammeverk.
På spørsmålet mitt om de tre viktigste tekniske konseptene angående Vue.js, er dette hva han valgte:
- Reactivity and Change Detection Cycle
- Data Binding and Component State
- Virtual DOM
Ifølge Endrit er Vue.js egnet for alle typer applikasjoner. Han utdypet ytterligere:
"Alle applikasjoner nå til dags, men det skinner aller mest i de eldre appene, vil jeg si. Du skjønner, Vue er et av få biblioteker som kan integreres i en eksisterende nettapplikasjon ved ganske enkelt å legge til Vue-kilde skriptet i en eksisterende HTML ved å bruke en vanlig < script >-tag, og begynne å jobbe med API-en uten mye overhead og uten behov for kompleks npm eller node_modules installasjon."
Endrit Veseli
Han fortsetter: "I og med at det er en minimal overhead, siden all kompilering skjer på farten når du bruker den på denne måten, er fordelen ved å bruke Vue til å modernisere noen deler av siden, at du slipper å måtte skrive om (fra bunnen av) den eksisterende nettappen."
Når det gjelder optimering for ytelse og hastighet, var Endrit åpen og rett på sak.
“Bruk stateless komponenter når det er mulig. Cacherdata (for det meste gjort ved å bruke beregnede egenskaper som Vue automatisk cacher og ikke beregner på nytt hvis ingen nye endringer har funnet sted).
Endrit Veseli
Bruk alltid nøkkelattributter når du går gjennom DOM-data. På denne måten vil Vue holde styr på elementene og bare handle på disse endringene, og ikke på hele delen av den gjengitte HTML-en. Lazy loading av komponentene når det er mulig."
Vue.js intervjuspørsmål + forventede svar
Her er noen tekniske spørsmål for å vurdere de tekniske ferdighetene til en potensiell Vue.js-utvikler:
- Hva er forskjellen mellom slots og scoped slots?
Forventet svar: En slot er en metode for å sende informasjon til en komponent. Det er en plassholder som du kan fylle med data fra den overordnede komponenten, som for eksempel en rekke objekter som tilhører et objekt. De er nyttige når du ønsker å kommunisere informasjon mellom overordnede og underordnede komponenter.
Scoped slots likner, men de er mer spesifikke og gjenbrukbare. Du kan definere dem som vanlige HTML-elementer, og innholdet deres vil bli gitt videre som rekvisitter når de brukes i andre komponenter.
- Hva er fordelene og ulempene med å jobbe med mixins?
Forventet svar:
Fordeler: Mixins er flotte for å lage gjenbrukbar funksjonalitet som du kan dele mellom flere komponenter uten å duplisere kode, eller å måtte skrive alt fra bunnen av hver gang. De gjør det også enklere for utviklere, som ikke er kjent med Vue, å raskt komme i gang ved å bruke forhåndsbygde funksjoner. De slipper å skrive sin egen kode hver gang noe nytt trenger implementering (noe som kan ende opp med å bli vanskeligere for dem enn om de brukte forhåndsskrevne funksjoner).
Ulemper: En ulempe er at det noen ganger er vanskelig for utviklere som ikke kjenner Vue eller JavaScript å forstå hva som skjer i mixins hvis de aldri har sett dem før.
- Hva utgjør en enkeltfilkomponent?
Forventet svar: En enkeltfilskomponent er en HTML-fil som inneholder all nødvendig JavaScript-kode som trengs for at den skal fungere.
- Definer den virtuelle DOM og dens bruk i forhold til Vue.js.
Forventet svar: Den virtuelle DOM er en representasjon av HTML-dokumentet som er lagret i minnet. Den brukes for å fremskynde prosessen med å oppdatere selve dokumentet.
Vue.js bruker den virtuelle DOM som standard, noe som betyr at eventuelle endringer i egenskapene først gjøres på klientsiden for deretter å reflekteres i den faktiske DOM når de er klare. Dette sikrer at det ikke er noen forsinkelse mellom når endringen gjøres og når den sees på skjermen.
- Ifølge deg, hva er fordelene og ulempene ved å bruke Vue.js?
Forventet svar: Det er flere fordeler med å bruke Vue.js: det er enkelt å lære, det er raskt i både utvikling og produksjon, og det har god dokumentasjon. Imidlertid er det også noen ulemper - den støtter bare moderne nettlesere (IE9+), siden det ikke er innebygd mobilstøtte ennå (selv om det er tredjepartsbiblioteker som NativeScript), og en mangel på plugins.
- Hva er attributtbindinger i Vue?
Forventet svar: Attributtbindinger i Vue er en måte å kommunisere på mellom komponenter, og brukes til slikt som å overføre data fra en komponent til en annen.
- Beskriv hvordan data flyter mellom komponenter i en Vue.
Forventet svar: Dataene flyter mellom komponenter i en Vue gjennom props. Props tilsvarer HTML-attributter, og de overføres fra overordnet til underordnet. Hvis du for eksempel har en overordnet komponent som har en liste over produkter, vil hvert produkt ha sin egen underordnende komponent som er ansvarlig for å vise informasjonen om produktet. Den overordnede vil videreformidle produktinformasjonen som props, slik at den underordnende vet hva det skal vise.
- Hva er direktiver i Vue?
Forventet svar: Direktiver er en av kjernekomponentene i Vue.js. De lar deg utvide funksjonaliteten til komponentene dine ved å legge til tilpassede HTML-attributter og atferd.
- Er det mulig å kombinere lokale og globale stiler?
Forventet svar: Det er mulig å kombinere lokale og globale stiler ved å bruke stilobjekter, som kan lages med v-bind:style på elementer, eller med {} parentes i JavaScript-koden. Dette lar deg opprettholde riktig separasjon mellom stiler uten bekymring for overskriving.
- Hvorfor ville du valgt Vue.js fremfor andre frontend-rammeverk?
Forventet svar: Å velge Vue fremfor andre frontend-rammeverk gjøres fordi det er enkelt å lære og implementere, og det er kraftig nok for store applikasjoner med komplekse krav.
Hvorfor burde du ansette en Vue.js-utvikler?
Det er flere grunner til å ansette en profesjonell Vue.js-utvikler, eller bygge et team med flere utviklere avhengig av størrelsen og omfanget av prosjektet ditt.
For det første er Vue.js enkel å bygge med, bruke og feilsøke. Enkelheten fører til forbedret feilsporing i forhold til andre nett-rammeverk. Nettapplikasjon din vil bli mindre utsatt for feil og andre problemer i koden.
Som noen av våre Proxify-utviklere sa ovenfor, er Vue.js veldig fleksibelt og tilpasningsdyktig. Det kan fungere med alle eksisterende populære applikasjoner og rammeverk, uavhengig av tilstanden til utviklingssyklusen som allerede er på plass.
Til slutt gir Vue.js en enkel tilnærming til det som ellers ville vært en kompleks utviklingsprosess. Dyktige Vue.js-utviklere vil kunne utnytte dette til sin fordel for å bygge bedre apper.