Å henge med i utviklingen betyr å holde seg oppdatert med de mest optimaliserte programmeringsspråkene i dag (ytelses- og minnebruksmessig), med alle nødvendige midler.
I lys av dette bør en god utvikler være kjent med de fleste såkalte "klassiske" språkene som finnes (C++, C#), samtidig som de følger nøye med på utviklingen av nye språk og potensialet til å bruke dem i egen utvikling.
Dart er definitivt et av de nye språkene, selv om det allerede er relativt godt etablert. I denne veiledningen skal jeg prøve å bygge bro mellom å forstå hva Dart brukes til og hvordan man finner gode Dart-utviklere uten at det går utover psyken til hverken den ene eller den andre.
Hva er Dart?
Dart er et klientorientert språk for utvikling av mobilapper, som også kan brukes for å bygge desktop- og serverapper.
Den ble utviklet av Google og utgitt i 2011, og fungerte opprinnelig som en sidenotat under en konferanse i Danmark. Med utgivelsen av Flutter i 2018 har Dart imidlertid blitt stadig mer populært siden den gang, og i hovedsak blitt hovedspråket for Flutter SDK.
I dag kan du egentlig ikke omtale Dart uten Flutter i samme setning, rett og slett fordi de hører sammen som hånd i hanske. Denne kombinasjonen av Flutter + Dart er veldig populær for mobilapplikasjonsutvikling, hovedsakelig på grunn av at de gir kompatibilitet på tvers av plattformer (iOS og Android-apper), og reduserer tiden og pengene som må brukes på et prosjekt.
Hvor populært er Dart?
I følge StackOverflows 2021 rapport, var Dart det 19. mest populære språket blant alle respondentene, og det 18. mest populære språket blant de profesjonelle utviklerne som deltok i undersøkelsen.
En interessant ting å merke seg er at flertallet av utviklerne som ønsker å prøve Dart er allerede kjent med, og dyktige i, JavaScript.
Men når det gjelder de best betalte teknologiene og teknologistablene, ender Dart opp med å være sist på listen (dette forteller ikke hele historien, men mer om det senere). En dyktig Dart-utvikler forventes å kunne tjene rundt $33 000 årlig i USA.
Hvor finner du Dart-utviklere?
Som StackOverflow fant ut, burde høykvalitets Dart-utviklere allerede være dyktige i JavaScript og andre JavaScript-relaterte grensesnittspråk, inkludert TypeScript og HTML + CSS-pakken.
For å bygge et Dart utviklingsteam, må du altså følge sporene og søke på steder der JavaScript-fagfolk, og andre nettutviklings- eller UI/UX-entusiaster, er å finne.
Disse stedene kan være hva som helst, inkludert jobbsites på nett, teknologifora, programvarekonferanser eller hos Profixy.
Vi tilbyr en rask og pålitelig tjeneste som matcher deg med den beste utvikleren for dine behov i løpet av få dager. Du kan teste tjenesten i en uke, og hvis du ikke er fornøyd med det du får, er det en 100 % pengene-tilbake-garanti og ingen videre spørsmål.
Når det gjelder tilgjengelighet, gir vi deltids- og heltidsutviklere ekstra veiledning fra en av våre dyktige kundebehandlere som du kan kontakte til enhver tid.
Hvordan intervjue Dart-utviklere?
Enten du er ute etter å ansette en prosjektleder, en omgjengelig person med maksimale soft skills, eller et teammedlem som tilbyr kostnadseffektive løsninger – er det å gjennomføre et strukturert intervju et absolutt MUST.
Kandidaten må være dyktig når det gjelder åpenhet, representabilitet, fleksibilitet og være en utmerket kommunikator overfor alle.
I tillegg bør de ha minimum 3-5 års erfaring i feltet, og være detaljert i måten de skriver, feilsøker og undersøker kode på.
Topp tekniske ferdigheter Dart-utviklere bør ha og bruke
Å ansette en Dart-utvikler betyr vanligvis å ansette en Flutter-utvikler: det er så godt som umulig å skille de to! Og det er fornuftig: Dart er hovedspråket til Flutter, så den ideelle kandidaten vil være dyktig i å skrive Dart-kode, og komfortabel med å bygge apper i Flutter-miljøet.
En lovende Dart-utvikler vil ha følgende generelle ansvar:
- Delta i hele utviklingsprosessen fra start til slutt
- Brainstorming, design og utvikling av applikasjoner
- Skrive detaljert og ren kode med grundig dokumentasjon
- Holde seg oppdatert om nye teknologier og implementere dem med jevne mellomrom
- Lære og følge nye trender når det gjelder Dart og Flutter
Når vi snakker om hard skills (tekniske ferdigheter), bør en utmerket Dart-utvikler ha:
- Utmerket kunnskap om Git-repository
- Gode ferdigheter i SQL
- Grundig kunnskap om programmeringsspråket Dart
- Grundig kjennskap til rammeverket Flutter
- Gode kunnskaper om ulike tilnærminger for programvarearkitektur
- Erfaring med Swift eller Kotlin
- Erfaring med iOS og Android mobilutviklingstjenester
Vi har sett at det å ansette Flutter-apputviklingsteam er synonymt med å ansette Dart-utviklere, så en god rekrutteringsleder bør vurdere begge deler når de vurderer en potensiell kandidat.
I følge Omar Hussein, en utvikler fra Proxify-nettverket, er det stor forskjell i bruken av Dart i forhold til enkelte av de andre språkene, som for eksempel C++.
“Dart er mer optimalisert for klient- og serverapplikasjoner. Mens C++ er optimalisert for høy kontroll over minne og systemressurser.”
Omar Hussein
På spørsmålet mitt om hva som er den mest optimaliserte, og den raskeste, metoden for å kjøre Dart-kode, var Omar kort og konsis. “Ved å følge Efficient Dart stil og standard, i tillegg til å kjøre Dart-kodeberegninger”, sa han.
Til slutt, hva er egentlig Dart best brukt til?
“Dart er best brukt til å lage mobilapplikasjoner på både iOS- og Android-plattformer, ved å bruke Flutter SDK.”
Omar Hussein
Dart intervjuspørsmål
Her er noen spørsmål for å vurdere den tekniske kunnskapen til kandidaten:
- Hva er de viktigste Dart-funksjonene?
Forventet svar: Refaktorering, virtuelle maskiner, lexical scope, valgfrie statiske typer, bruddpunkter og closures.
- Hva er de støttede datatypene i Dart?
Forventet svar: Strings, booleans, maps, lister og den dynamiske typen.
- Hva er “typedef” brukt til i Dart?
Forventet svar: Typedef brukes til å lage en funksjons brukerdefinerte identitet, også kjent som alias. Dette aliaset brukes da i stedet for programkoden i prosessen.
- Hvor mange operatører støtter Dart?
Forventet svar: Type testing, bitwise, logiske, aritmetiske, relasjons-, likhets- og tilordningsoperatører.
- Støtter Dart function overloading?
Forventet svar: Nei, det gjør det ikke.
- Hvilke plattformer brukes i Dart?
Forventet svar: Den mest populære plattformen som for øyeblikket støttes av Dart er Flutter, som er en SDK for å bygge mobilapper på tvers av plattformer. Det finnes imidlertid serverrammeverk som Jaguar, Start og Alfred også. Dart støtter klient nettapprammeverk, som OverReact og AngularDart.
- Er Dart enklere enn JavaScript?
Forventet svar: Det kommer an på. For eksempel er det lettere å lære Dart for utviklere som allerede er kjent med statisk maskinskrevne språk som følger OOP, som Java og TypeScript.
- Hva er Dart, og hvorfor bruker Flutter det?
Forventet svar: Dart er et åpen kildekode-språk som kan brukes for å bygge applikasjoner til mobile enheter og andre mål. Det brukes hovedsakelig av Flutter-rammeverket for å bygge brukergrensesnitt for iOS- og Android-plattformer. Flutter bruker Dart fordi det er utviklervennlig, raskt og pålitelig.
- Hvilken editor brukes til å aktivere bruddpunkt og trinn-for-trinn-feilsøking?
Forventet svar: Android Studio og Visual Studio Code er de to viktigste IDE-ene for Dart-verktøy og feilsøking.
- Hva er Method Overriding i Dart?
Forventet svar: Method Overriding er en funksjon i objektorienterte språk som gjør at en metode kan defineres to ganger med forskjellige implementeringer. I Dart gjøres dette med søkeordet super. Dette muliggjør en enorm fleksibilitet i programmering og kan bidra til å unngå duplisering av kode.
Hovedbruken for metodeoverstyring i Dart er for å utvide klasser. Hvis en klasse har en metode med samme navn og typesignatur som en overordnet klasse, kan den underordnede klassen overstyre den overordnede metoden.
- Hva er en konstruktør i Dart?
Forventet svar: En konstruktør i Dart er en spesiell funksjon av en klasse som er ansvarlig for å sette opp variablene til klassen når den er opprettet. Dart spesifiserer en konstruktør ved å bruke klassens navn. Som en funksjon kan en konstruktør parametriseres.
Hvorfor bør du ansette en Dart-utvikler?
Dart, og spesielt Flutter, er relativt nye programmeringsverktøy, noe som gjør dem mer optimaliserte og anvendelige for det nåværende byggelandskapet for mobilapplikasjoner.
En Dart-utvikler vil være raskere og mer effektiv enn mange andre, og vil kunne fullføre prosjektet uten å bruke finessene til C++ eller C# (selv om den også kan utnytte begge deler).
For et raskt, smidig og fremtidsrettet selskap bør det å ansette Dart-utviklere for å jobbe med eventuelle kommende prosjekter og applikasjoner være en absolutt no-brainer.