Parhaiden Vue.js- kehittäjien löytäminen on hankala koitos. Sinun on tiedettävä, mistä etsiä, kuinka erottaa heidän taitonsa, ja lopuksi sinun on varmistettava, että ne sopivat yrityksellesi.
Onneksi me Proxifylla osaamme tehdä juuri tämän.
Merkitse mukaan saadaksesi vastaukset näihin (ja muihin) kysymyksiin tästä kätevästä, lyhyestä ja ytimekkäästä Vue.js-oppaasta.
Mikä on Vue.js?
Vuonna 2013 Googlen insinööri nimeltä Evan You törmäsi ongelmaan. Hänen ja hänen tiiminsä piti kehittää melko monimutkainen UI (user experience) prototyyppi, mutta he tarvitsivat sen nopeasti. Suuri määrä (voisin myös lisätä: tylsän) HTML- koodin kirjoittamista ei ollut vaihtoehto, joten he valitsivat toisenlaisen lähestymistavan.
Heidän ratkaisunsa: ei mitään. Evanin ja hänen työtoverinsa yllätykseksi tuolloin ei ollut mitään työkalua, kehystä, sovellusta tai kirjastoa, jonka avulla he voisivat luoda prototyyppejä nopeasti. Toisin sanoen, he olivat jumissa!
Olemassa oleviin työkaluihin kuuluivat Angular.js (proto-React.js) ja Backbone.js, jota käytettiin pääasiassa suuriin MVC- pohjaisiin sovelluksiin ja jotka eivät olleet oikein riittäviä heidän mielessään oleviin projekteihin.
Ja siinä oli ratkaisu, joka oli heidän kasvojensa edessä koko tämän ajan: Angular.js. Evan otti siitä osat, joista hän piti, antoi niille uuden tarkoituksen ja loi Vue.js :n Google Creative Lab -tiimin iloksi.
Pian he julkaisivat ensimmäisen Vue.js- iteraationsa vuonna 2013, jota seurasi ensimmäinen vakaa Vue.js- julkaisu vuonna 2014. Löydät koko Vue.js- julkaisuhistorian GitHubista.
Kuinka suosittu Vue.js on?
Vue.js on JavaScript- ohjelmointikielestä peräisin oleva kehys, ja nykyään erittäin suosittu kaikenlaisten kehittäjien keskuudessa, erityisesti ohjelmistokehityksessä, joka vaatii kevyttä lähestymistapaa monimutkaisiin ongelmiin.
Mitä tulee Vue.js: llä rakennettuihin suuriin verkkosovelluksiin ja alustoihin, tässä on vain muutamia:
- Gitlab
- Trivago
- Statista
- Behance
- Ja myös kuuluisa 9GAG
Kun on kyse hyväksi havaituista (vanhoista) teknologioista, ne toimivat yleensä paremmin kuin uudet kehykset, mitä tulee tietoturva-asioihin. Tämä johtuu enimmäkseen siitä, että vanhemmat puitteet ovat joutuneet alttiiksi yhä useammalle haavoittuvuudelle vuosien varrella, ja niiden takana olevalla tiimillä on ollut enemmän aikaa pohtia ja parantaa yleistä arkkitehtuuria ja korjata nämä ongelmat ajoissa.
Suhteellisen "epäkypsien" työkalujen käyttämiseen liittyy kaksinkertainen riski:
- Paljon bugeja, haavoittuvuuksia tai puutteita
- Pienempi yhteisö, jossa ei ole riittävästi dokumentaatiota siltä varalta, että apua tarvitaan
Vue.js on vanhempi avoimen lähdekoodin kehys (2014), mikä tarkoittaa, että se läpäisee kypsyystestin loistavasti.
Vuoden 2020 JavaScript- kyselyn mukaan Vue.js oli kolmanneksi suosituin JS- kehys samana vuonna heti Reactin (2.) ja Svelten (1.) jälkeen. Lisäksi kehittäjillä on enimmäkseen myönteinen asenne myös Vue.js: n kanssa työskentelemiseen. Noin 42 % vastaajista ilmoitti käyttävänsä kehystä uudelleen, kun taas 32 % ilmaisi kiinnostuksensa oppia lisää Vue.js: sta tulevaisuudessa.
Raaka-impressioista puhuttaessa Vue.js on erittäin suosittu GitHubissa. Sillä on tällä hetkellä yli 194 000 tähteä ja yli 400 avustajaa, joita tukee huomattava määrä sponsoreita ja muita tukijoita.
Mistä löytää Vue.js- kehittäjät
Kuten edellä todettiin, erittäin taitavia Vue.js- kehittäjiä on vaikea löytää. Itse asiassa kehittäjän palkkaaminen on yleensä hyvin pikkutarkka projekti, joka sisältää useita liikkuvia osia ja monia asioita, jotka voivat mennä pieleen–monilla arvaamattomilla tavoilla.
Onneksi me Proxifylla olemme kehittäneet Vue.js- kehittäjien etsimisen ja palkkaamisen tieteeksi asti.
Vue.js- asiantuntijoiden löytämiseen on kaksi pääasiallista tapaa, mukaan lukien:
- Manuaalinen (talon sisäinen)
- Automatisoitu (lähde)
Manuaalinen tapa tarkoittaa, että joko itse tai yrityksesi HR- päällikkö (tai jopa joku muu!) etsii, paikantaa ja keskustelee mahdollisen kehittäjän kanssa itse.
Rekrytointipäällikön (tai sinun) on arvioitava hänen pehmeät taitonsa, stack- taitonsa ja kaikki muut taidot, työvaatimukset tai työkokemus, joiden uskot olevan merkityksellisiä tulevan projektin kannalta. Kerromme lisää kehittäjien haastattelusta myöhemmin.
Tässä on joitain suosituimmista alustoista, joista löydät Vue.js: n parhaat kyvyt:
- Upwork
- Toptal
- Proxify
- PeoplePerHour
- Indeed
- Working Nomads
- LinkedIn
Ylpeänä Proxifierina suosittelen, että aloitat haun Proxifylla ja jatkat sitten sieltä. Se on saumaton, kitkaton rekrytointikokemus ja kolminkertaisella voitolla (win-win-win?) asiakkaalle, kehittäjälle ja myös alustallemme.
Toisaalta voit myös työskennellä henkilöstötoimiston kanssa ja automatisoida/ulkoistaa koko rekrytointikokemuksen keskittyen samalla yrityksesi muihin asioihin.
Tämä lähestymistapa vapauttaa osan ajasta, mutta varoituksena, Forrest Gumpin sanoin "et koskaan tiedä, mitä saat". Henkilöstötoimistot ovat usein epäluotettavia ja sopimattomia löytämään omistautuneita tiimin jäseniä, jotka olisivat aidosti kiinnostuneita ja intohimoisia työskentelemään projekteissasi.
Itse asiassa oikean freelance- Vue.js- kehittäjän löytäminen voi muodostaa tai hajottaa kehitystiimejä–sovelluksen kehitysvaiheesta riippumatta.
Kuinka haastatella Vue.js- kehittäjiä
Etsitpä kokoaikaisia tai osa- aikaisia kehittäjiä, haastatteluprosessin aikana on pidettävä mielessä pari asiaa:
- Vuosien kokemus;
- pehmeät taidot;
- Stack- pätevyys (front- end, back- end, full- stack);
- Osaamisalue (verkkokehitys, mobiilikehitys, hybridi kehitysmalli).
Yhteenvetona voidaan todeta, että ehdokkaan tulee olla omistautunut ammatilleen, aina innokas oppimaan lisää ja kehittymään, ja hänellä tulee olla tarkka silmä yksityiskohtiin ja virheiden tunnistamiseen suuresta ja monimutkaisesta koodista.
Huipputekniset taidot, jotka kaikilla Vue.js- kehittäjillä tulee olla
Nykyisin yhtenä nopeimmin kasvavista JavaScript- kehyksistä Vue.js on vakiinnuttanut asemansa myös kehittäjien suosimana valintakehyksenä lähestyttävyyden, monipuolisuuden ja suorituskyvyn ansiosta.
Tämän valossa tässä ovat tärkeimmät tekniset taidot lupaavalla Vue.js- kehittäjällä.
HTML + CSS: Kuten useimmat teistä tietävät, HTML ja CSS ovat koko Internetin selkäranka. HTML kertoo sivulle, mitä näyttää, ja CSS kertoo webille, miltä sivun tulee näyttää. Koska Vue.js- sovellukset luodaan SFC: llä (Single File Components), saman mallin avulla kehittäjät voivat määrittää Javascript- logiikan, HTML- koodin ja CSS- tyylit sovelluksessa.
Moderni JavaScript: Vue.js- sovellukset toimivat dynaamisesti staattisen datan sijaan. Kehittäjät voivat käyttää nykyaikaista JavaScriptiä kirjoittaakseen, kuinka heidän Vue.js- sovellusten tulisi käsitellä tätä logiikkaa SFC: ssä. Tämä parantaa koko kehitysprosessin tehokkuutta ja nopeutta ja antaa kehittäjille mahdollisuuden kirjoittaa parempaa koodia.
Git: Jokaisen ohjelmistokehittäjän tulee tuntea Git. Git edustaa versionhallintajärjestelmää (VSC), jonka avulla kehittäjät voivat seurata tiedostoissaan tapahtuvia muutoksia, sekä helpottaa työskentelyä useiden ihmisten kanssa samassa projektissa. Vue.js- kehittäjien tulee tuntea GitHub tai Gitlab ja pystyä käyttämään niitä helposti.
Vue, Vue CLI ja Vue Native: On sanomattakin selvää, että menestyneiden Vue.js- kehittäjien tulisi tuntea Vue- ohjelmointikieli hyvin. Tuleville kehittäjille Vue- dokumentaatio on loistava paikka aloittaa.
Lisäksi Vue.js on "varustettu" komentoriviliittymällä (CLI), joka tekee kehitysprosessista nopeamman, helpomman ja luotettavamman. Uusin CLI toimii täysin uudella laajennuspohjaisella arkkitehtuurilla, jonka avulla kehittäjät voivat luoda omia ainutlaatuisia esiasetuksiaan ja laajennuksiaan.
Tällä hetkellä Vue Native on poistettu käytöstä. Vue.js- kehittäjien tulee kuitenkin aina pyrkiä oppimaan uusia puitteita, jotka auttaisivat heitä parantamaan mobiilikehitystaitojaan (natiivi, cross-platform, hybridi) lähitulevaisuudessa.
Proxify- kehittäjämme, Akin Oztorunin, mukaan kolme tärkeintä teknistä käsitettä, jotka jokaisen Vue.js- kehittäjän tulisi tietää, ovat:
- Reaktiivisuus
- API: n koostumus
- Watchers & Computed ominaisuudet
Vue.js: n soveltuvuutta koskevaan kysymykseen Akin pohti ennen vastausta
"Tämä on itse asiassa hankala kysymys, koska luulen pystyväni kirjoittamaan kaikenlaisia yksisivuisia sovelluksia Vuella. Mutta mielestäni ongelma alkaa monimutkaisuudesta. Monimutkaisuuden hallinta vaatii varmaan enemmän kokemusta Vuesta. Ainoa tapa kirjoittaa monimutkaisia sovelluksia Vue.js:n avulla on keskittyä puhtaaseen, modulaariseen ja uudelleen käytettävään koodiin."
Akin Oztorun
"Jos kirjoitat vain mvp:n tai sovelluksen pienelle startup-yritykselle, virka-asteellasi ei ole väliä; kirjoita se vain Vuen kautta, koska se on nopein niin", hän sanoo.
Entä optimointi: kuinka optimoisit Vue.js- sovelluksesi suorituskyvyn ja nopeuden vuoksi? Akin vastaa nopeasti:
”Paras tapa optimoida koodi on luoda uudelleenkäytettäviä, koostettavia yhteisiä tiedostoja Composition API :n kautta. Voi olla hyödyllistä tehdä se noudattaen SOLID- periaatteita. Tee kaikista toiminnoista mahdollisimman pieniä ja jokaisella toiminnolla tulee olla yksi tarkoitus. Ja tee niistä myös uudelleenkäytettäviä, mikäli mahdollista."
Akin Oztorun
Mateus Ávila Isidoro, toinen Proxify- verkoston kehittäjä, tarkensi lisää:
"Ensinnäkin Vue.js on nopea, todella nopea. Tämä näkyy viimeaikaisissa vertailuissa, kuten näissä. Tämä nopeus luodaan sillä, että monet silmät käyvät läpi samaa projektia, joka on yksi GitHubin vaikuttavimmista ominaisuuksista.”
Mahdollisille Vue.js- kehittäjille, Mateuksella oli sanottavanaan:
”No, mielestäni hyvä Vue- kehittäjä voi luoda taikuutta ilman suurta vaivaa. He voivat vain lisätä CDN- tiedoston ja luoda Vue- objektin, ja voilá! Vanhat projektit voidaan päivittää sekunneissa. Joten jos olet nuori kehittäjä, joka osaa HTML: n, CSS: n ja JS: n, pystyt hyvin myös olemaan hyvä Vue- kehittäjä. Oppimiskäyrä on pieni, siitä saatava ilo suurta ja dokumentaatio on ainutlaatuinen."
Mateus Ávila Isidoro
Hän lisää myös, että uudet kehittäjät huomaavat nopeasti, että HTML: n kanssa on ilo työskennellä. ”Heidän nykyinen polkunsa oppimiseen on helppo ja siinä on paljon järkeä. Taustakehittäjille se tarkoittaa, että he voivat toteuttaa monimutkaista logiikkaa helposti", hän lisää.
Sovelluksen monimutkaisuuden suhteen Mateus ei pidätellyt:
"Vue 2 toimii luokkien kanssa, mutta uudessa versiossa on Composition API, joka tarjoaa suuren parannuksen modulaarisuuteen, kuten React teki hooksien kanssa. Pienet projektit eivät toimi Reactin kanssa. Jopa suuret yritykset, joilla on monimutkaista logiikkadataa, voivat helposti käyttää Vuea ytimeensä ja kehys toimii sujuvasti.”
Mateus Ávila Isidoro
Hänen mukaansa Vue.js on erittäin ystävällinen kaikenlaisille sovelluksille. Hän lisää, että mikä tahansa sovellus voi käyttää Vue: ta. "Ihmiset sanovat, että Vue.js: llä ei ole hyvää tukea, kuten React Native tai Flutter. Tämä on väärinkäsitys, koska Vuea tukevat Ionic ja Tauri (tämän hämmästyttävän työkalun löysin viime sunnuntaina Fireship Channel -kanavalta - voit katsoa sen täältä).
”Upeat puitteet, kuten Nuxt ja Quasar, voivat tehdä minkä tahansa sovelluksen. Tietysti suuret yritykset, kuten Facebook ja Google, käyttävät paljon rahaa ja vaivaa Reactin ja Flutterin kaltaisten sovellusten rakentamiseen, mutta Vue tulee lähemmäksi jokaisessa skenaariossa."
Mateus Ávila Isidoro
Mateus antoi viimeisenä kommentin Vue.js: n luojasta:
"Ja lopuksi, Vue.js: n luoja Evan You loi toisen hämmästyttävän työkalun nimeltä Vite. Tämä työkalu käyttää ES- moduuleita. Niitä on paljon nopeampi ajaa selaimissa, ja kaikki uudet selaimet käyttävät Vitea melko hyvin", hän sanoi.
"Tällä työkalulla voit luoda pieniä ja erittäin optimoituja paketteja, jotka on otettu käyttöön HTTP 2/0:lle ja HTTP 3/0:lle. Tämä ei ole Vue- kysymys, mutta Vue- sovelluksen lopputulos on verrattavissa React- sovellukseen. Vue toimii nopeammin selaimessa, luo pieniä paketteja rakennusvaiheessa, ja sen kanssa on ilo työskennellä, sillä Typescript-tuki ja >ES6 ovat myös listan ulkopuolella."
Mateus Ávila Isidoro
Lopuksi osallistui myös Proxifyn Vanhempi Ohjelmistosuunnittelija Endrit Veseli. Hän hallitsee Angular-, Vue.js-, Node.js- ja pari muuta kehystä.
Kysymykseen kolmesta tärkeimmästä Vue.js: n teknisestä käsitteestä, hän valitsi seuraavat:
- Reactivity ja Change Detection Cycle
- Data Binding ja Component State
- Virtual DOM
Endritin mukaan Vue.js sopii kaikenlaisiin sovelluksiin. Hän tarkensi asiaa enemmän:
"Kaikenlaisia sovelluksia nykyään, mutta missä se loistaa, sanoisin, että vanhoissa sovelluksissa. Vue on yksi harvoista kirjastoista, jotka voidaan integroida olemassa olevaan verkkosovellukseen yksinkertaisesti sisällyttämällä Vue- lähdekoodi olemassa olevaan HTML- koodiin käyttämällä tavallista < script >-tunnistetta ja aloittaa työskentely sen API: n kanssa ilman suuria lisäkustannuksia ja ilman tarvetta monimutkaiseen npm- tai node_modules- asennuksiin."
Endrit Veseli
Hän jatkaa: "Vaikka yleiskustannukset ovat minimaaliset, koska kaikki kokoaminen tapahtuu lennossa, kun käytät sitä tällä tavalla, Vue: lla on myös etua modernisoida joitain sivun osia ilman, että joudut kirjoittamaan uudelleen (alusta) olemassa olevaa verkkosovellusta."
Suorituskyvyn ja nopeuden optimoinnin suhteen Endrit oli avoin ja suoraviivainen.
"Käytä tilattomia komponentteja, jos mahdollista. Välimuistitiedot (jotka tehdään enimmäkseen käyttämällä laskettuja ominaisuuksia, jotka Vue tallentaa automaattisesti välimuistiin ja ei laske uudelleen, jos uusia muutoksia ei ole tapahtunut).
Endrit Veseli
Käytä aina avainattribuutteja, kun selaat DOM- tietoja. Tällä tavalla Vue pitää kirjaa elementeistä ja toimii vain näiden muutosten mukaan, ei koko renderöidyn HTML:n osan suhteen. Komponenttien laiska lataaminen mahdollisuuksien mukaan."
Vue.js haastattelukysymykset + odotetut vastaukset
Tässä on joitain teknisiä kysymyksiä mahdollisen Vue.js- kehittäjän teknisten taitojen arvioimiseksi:
- Mitä eroa on slotseilla ja scoped slotseilla?
Odotettu vastaus: Slot on tapa välittää tietoa komponentille. Se on paikkamerkki, jonka voit täyttää pääkomponentin tiedoilla, kuten objektien joukolla, joka kuuluu objektiin. Ne ovat hyödyllisiä, kun haluat viestiä tietoja parent ja child komponenttien välillä.
Scope slotsit ovat samanlaisia, mutta ne ovat tarkempia ja uudelleenkäytettäviä. Voit määrittää ne tavallisiksi HTML- elementeiksi, ja niiden sisältö välitetään rekvisiittana, kun niitä käytetään muissa komponenteissa.
- Mitä hyviä ja huonoja puolia mixins kanssa työskentelyssä on?
Odotettu vastaus:
Plussat: Mixins ovat erinomaisia luomaan uudelleenkäytettäviä toimintoja, jotka voit jakaa useiden komponenttien kesken ilman koodin kopioimista, tai kirjoittamatta kaikkea tyhjästä joka kerta. Ne myös helpottavat kehittäjiä, jotka eivät aikaisemmin ole käyttäneet Vueta, nopeaan aloittamiseen käyttämällä valmiiksi rakennettuja toimintoja sen sijaan, että he kirjoittaisivat oman koodinsa aina, kun jokin uusi asia tarvitsee toteuttamista (mikä voi olla heille vaikeampaa kuin jos he käyttävät valmiiksi kirjoitettuja toimintoja).
Miinukset: Yksi haittapuoli on se, että kehittäjien, jotka eivät tunne Vuea tai JavaScriptiä, on joskus vaikea ymmärtää, mitä mixinseissä tapahtuu, jos he eivät ole koskaan nähneet niitä aiemmin.
- Mikä on yksitiedostoinen komponentti?
Odotettu vastaus: Yksitiedostoinen komponentti on HTML- tiedosto, joka sisältää kaiken sen toimintaan tarvittavan JavaScript- koodin.
- Määritä virtuaalinen DOM ja sen käyttö suhteessa Vue.js: ään;
Odotettu vastaus: Virtuaalinen DOM on esitys HTML- asiakirjasta, joka on tallennettu muistiin. Sitä käytetään nopeuttamaan varsinaisen asiakirjan päivitysprosessia.
Vue.js käyttää oletusarvoisesti virtuaalista DOM: ia, mikä tarkoittaa, että sen ominaisuuksiin tehdyt muutokset tehdään ensin asiakaspuolella ja valmistuttuaan ne näkyvät todellisessa DOM: ssa. Tämä varmistaa, että muutoksen tekemisen ja sen näkemisen välillä ei ole viivettä.
- Mitä etuja ja haittoja Vue.js: n käytöstä mielestäsi on?
Odotettu vastaus: Vue.js: n käytössä on useita etuja: se on helppo oppia, se on nopea, sekä kehityksessä, että tuotannossa ja siinä on hyvä dokumentaatio. On kuitenkin myös joitain haittoja – se tukee vain nykyaikaisia selaimia (IE9+), koska natiivia mobiilitukea ei vielä ole (vaikka on olemassa myös kolmannen osapuolen kirjastoja, kuten NativeScript), ja liitännäisten puute.
- Mitä ovat attribuuttien sidokset Vuessa?
Odotettu vastaus: Attribuuttien sidokset Vuessa ovat tapa kommunikoida komponenttien välillä, ja niitä voidaan käyttää esimerkiksi tiedon siirtämiseen komponentista toiseen.
- Kuvaile, kuinka tieto kulkee Vuen komponenttien välillä.
Odotettu vastaus: Data virtaa Vuen komponenttien välillä rekvisiittojen kautta. Rekvisiitta vastaa HTML- attribuutteja, ja ne siirtyvät vanhemmalta lapselle. Jos sinulla on esimerkiksi pääkomponentti, jolla on tuoteluettelo, jokaisella tuotteella on oma alakomponenttinsa, joka vastaa kyseisen tuotteen tietojen näyttämisestä. Parent välittää tuotteen tiedot rekvisiittana, jotta child tietää, mitä näyttää.
- Mitä ovat Vue- ohjeet?
Odotettu vastaus: Direktiivit ovat yksi Vue.js: n ydinkomponenteista. Niiden avulla voit laajentaa komponenttien toimivuutta lisäämällä mukautettuja HTML- attribuutteja ja käyttäytymismalleja.
- Onko mahdollista yhdistää paikallisia ja globaaleja tyylejä?
Odotettu vastaus: On mahdollista yhdistää paikallisia ja globaaleja tyylejä käyttämällä tyyliobjekteja, jotka voidaan luoda v-bind:style elementeillä tai {} suluilla JavaScript- koodissa. Näin voit säilyttää oikean eron tyylien välillä ilman, että sinun tarvitsee huolehtia toistensa päällekirjoittamisesta.
- Miksi valitsisit Vue.js: n muiden käyttöliittymäkehysten sijaan?
Odotettu vastaus: Voit valita Vuen muiden käyttöliittymäkehysten sijaan, koska se on helppo oppia ja toteuttaa ja se on tarpeeksi tehokas suuriin sovelluksiin, joissa on monimutkaisia vaatimuksia.
Miksi sinun pitäisi palkata Vue.js- kehittäjä?
On useita syitä palkata Vue.js- ammattilainen tai rakentaa useiden kehittäjien tiimi projektisi koosta ja laajuudesta riippuen.
Ensinnäkin Vue.js on helppo rakentaa, käyttää ja korjata. Sen yksinkertaisuus johtaa parempaan virheenseurantaan verrattuna muihin verkkokehyksiin. Verkkosovelluksesi tulee vähemmän herkkä virheille ja muille koodin "hikoille".
Kuten jotkut Proxify- kehittäjistämme edellä totesivat, Vue.js on myös erittäin joustava ja mukautuva. Se voi toimia minkä tahansa olemassa olevan suositun sovelluksen ja kehyksen kanssa riippumatta jo käyttöönotetun kehityssyklin tilasta.
Lopuksi Vue.js tarjoaa yksinkertaisen lähestymistavan siihen, mikä muuten olisi monimutkainen kehitysprosessi. Asiantuntevat Vue.js- kehittäjät voivat hyödyntää tätä ajatusta edukseen rakentaakseen parempia sovelluksia.