At følge med tiden betyder at man skal holde sig ajour med de mest optimerede programmeringssprog I dag (med hensyn til ydeevne og hukommelsesforbrug) med alle nødvendige midler.
I det lys bør en god udvikler være bekendt med de fleste af de såkaldte ”klassiske” sprog derude (C++, C#), samtidig med at han nøje følger udviklingen af nye sprog og mulighederne for at bruge dem i naturen.
Dart er helt klart et af disse nye sprog, selv om det på en måde er relativt nyt. I denne guide vil jeg forsøge at bygge bro mellem at forstå hvad Dart bruges til, og hvordan man finder gode Dart-udviklere uden at indføre større afvigelser til stor glæde for alle involverede parter.
Hvad er Dart?
Dart er et klientorienteret sprog til udvikling af mobilapps, men det kan også bruges til at bygge desktop- og serverapps.
Det blev udviklet af Google og udgivet tilbage i 2011, og fungerede primært som en sidebemærkning til en konference i Danmark. Med udgivelsen af Flutter I 2018, har Dart imidlertid vundet meget i popularitet siden da, og er blevet hovedsproget for Flutter SDK.
I dag kan du ikke rigtig bruge Dart uden Flutter I en sætning, simpelthen fordi de passer sammen som converse sko og høje sokker. Denne kombination af Flutter + Dart er meget populær til udvikling af mobilapplikationer, primært på grund af det faktum, at de giver kompatibilitet på tværs af platforme (iOS- og Android-apps) og reducerer den tid og de penge der skal bruges på et projekt.
Hvor populært er Dart?
Ifølge StackOverflow 2021 annual report, var Dart det 19. Mest populære sprog blandt alle besvarelserne og det 18. Mest populære sprog blandt alle de professionelle udviklere der deltog I undersøgelsen.
En interessant ting at bemærke er, at størstedelen af de udviklere, der gerne vil prøve Dart, allerede er fortrolige med og dygtige til JavaScript.
Men når det gælder de bedst betalte teknologier og tech stacks, ender Dart på en sidsteplads (det fortæller dog ikke hele historien, men mere om det senere). En dygtig Dart-udvikler forventes at tjene omkring 33.000 US dollars om året i USA.
Hvor finder man Dart udviklere?
Som StackOverflow havde funder ud af, bør Dart-udviklere af høj kvalitet allerede være dygtige til JavaScript og andre JavaScript-relaterede frontend-sprog, herunder TypeScript og HTML + CSS-pakken.
I det lyd ville det at opbygge et Dart-udviklerteam være at følge brødkrummerne, eller I dette tilfælde at gennemsøge de steder, som JavaScript-fagfolk og andre webudviklings- eller UI/UX-entusiaster færdes.
Disse steder kan være hvor som helst, herunder online jobportaler, tekniske for a, softwarekonferencer og også lige her på Proxify.
Vi tilbyder en hurtig og pålidelig service, der parrer dig med den bedste udvikler til dine behov i løbet af få dage. Du kan teste tjenesten I en uge, og hvis du ikke er tilfreds med det du har fået, er der en 100% pengene tilbage garantipolitik, ,uden at der stilles spørgsmål.
Med hensyn til tilgængelighed tilbyder vi også bade deltids- og fuldtidsudviklere med ekstra supervision fra én af vores dygtige kundeansvarlige, som du til enhver tid kan kontakte.
Hvordan interviewer man Dart udviklere?
Uanset om du ønsker at ansætte en projektledelse, en såkaldt “people’s person” med maxede soft skills (rolllespils-lingo) eller et teammedlem, der tilbyder omkostningseffektive løsninger – er det absolut et MUST at gennemføre et struktureret interview.
Kandidaten skal have en stærk følelse af åbenhed, præsentationsevne, fleksibilitet og være en fremragende kommunikator I alle henseender.
Derudover skal vedkommende have 3-5 års erfaring inden for området (eller mere!) og være omhyggelig i den måde, hvorpå han/hun skriver, fejlsøger og debugger kode.
De vigtigste tekniske færdigheder, som Dart-udviklere bør have og benytte.
At ansætte en Dart-udvikler betyder normalt at ansætte en Flutter-udvikler: Du kan bare ikke adskille de to! Og det giver god mening: Dart er hovedsproget I Flutter, så den ideelle kandidat vil være dygtig til at skrive Dart-kode og være fortrolig med at bygge apps i Flutter-miljøet.
En lovende Dart-udvikler vil have følgende generelle ansvarsområder:
- Deltagelse I hele udviklingsprocessen fra start til slut
- Brainstorming, design og udvikling af applikationer
- Skrive konsekvent og ren kode med omhyggelig dokumentation
- Holde sig ajour med nye teknologier og implementere dem regelmæssigt
- Følge nye tendenser vedrørende Dart og Flutter
Når vi taler om hårde færdigheder (tekniske færdigheder), ville en fremragende Dart-udvikler have:
- Fremragende kendskab til Git-repositoriet
- Gode færdigheder I SQL
- Grundigt kendskab til programmeringssproget Dart
- Grundigt kendskab til Flutter frameworket
- Stærk viden om forskellige softwarearkitekturtilgange
- Erfaring med Swift eller Kotlin
- Erfaring med iOS- og Android-mobiludviklingstjenester
Vi har set, at ansættelse af Flutter-appudviklingshold er synonymt med ansættelse af Dart-udviklere, så en god rekrutteringschef bør overveje begge dele, når han/hun vurderer en potentiel kandidat.
Ifølge Omar Hussein, en udvikler fra Proxify-netværket, er der en stor forskel på anvendelsesområderne for Dart og nogle af de andre sprog, som f.eks. C++.
“Dart er mere optimeret til klient- og serverapplikationer, mens C++ er optimeret til høj kontrol over hukommelse og systemressourcer.”
Omar Hussein
På mit spørgsmål om, hvad der er den mest optimerede måde (og den hurtigste) at køre Dart-kode på, var Omar kort og præcis. ”Ved at følge Effective Dart-stilen og -standarderne, ud over at køre Dartkodemetrikker”, sagde han.
Og til sidst; hvad er det egentlig, at Dart bedst bruges til? Omar konkluderede I sit næste svar:
“Dart er bedst til at skabe mobilapplikationer på både iOS- og Android-platforme ved hjælp af Flutter SDK."
Omar Hussein
Spørgsmål til et Dart-interview
Her er nogle spørgsmål til at vurdere kandidatens tekniske parathed.
- Hvad er de mest fremtrædende Dart features?
Forventet svar: Refactoring, virtuelle maskiner, lexical scoping, optional static types, breakpoints and closures blandt andre features.
- Hvilke datayper understøttes i Dart?
Forventet svar: Strings, booleans, maps, lister og dynamic type.
- Hvad bruges “typedef” til i Dart?
Forventet svar: Typedef bruges til at skabe en funktions brugerdefinerede identitet, også kendt som alias. Dette alias bruges derefter i stedet for programkoden i processen.
- Hvor mange operatører understøtter Dart?
Forventet svar: Type test, bitwise, logical, arithmetic, relational and equality samt assignment operatører.
- Understøtter Dart function overloading?
Forventet svar: Nej, det gør det ikke.
- Hvilke platforme anvendes i Dart?
Forventet svar: Den mest populære platform, der I øjeblikket understøttes af Dart, er Flutter, som er et SDK til at bygge mobilapps på tværs af platforme. Der findes dog også server frameworks, såsom Jaguar, Start og Alfred. Dart understøtter klient-web-app-frameworks, såsom OverReact og AngularDart.
- Er Dart nemmere end JavaScript?
Forventet svar: Det kommer an på! F.eks. er det lettere at lære Dart for udviklere der allerede er bekendt med statisk typede sprog, der følger OOP, såsom Java og TypeScript.
- Hvad er Dart og hvorfor bruger Flutter det?
Forventet svar: Dart er et open source-sprog, der kan bruges til at bygge applikationer til mobile enheder og andre mål. Det bruges hovedsageligt af Flutter-frameworket til at bygge brugergrænseflader til iOS- og Android-platforme. Flutter bruger Dart, fordi det er udviklervenligt, hurtigt og pålideligt.
- Hvilken editor bruges til at aktivere breakpoint og step-by-step debugging?
Forventet svar: Android Studio og Visual Studio Code er de to vigtigste IDE’er til Dart tooling og debugging.
- Hvad er Method Overriding i Dart?
Forventet svar: Method overriding er en funktion I objektorienterede sprog, der gør det muligt at definere en metode to gange med forskellige implementeringer. I Dart gøres dette med nøgleordet “super”. Dette giver en enorm fleksibilitet I programmeringen og kan hjælpe med at undgå dobbeltkode.
Den vigtigste anvendelse af method overriding i Dart er til udvidelse af klasser. Hvis en klasse har en metode med samme navn og typesignatur som en overordnet klasse, kan den underordnede klasse overskrive den overordnede metode.
- Hvad er en constructor I Dart?
Forventet svar: En constructor i Dart er en særlig funktion i en klasse, der har til opgave at opsætte klassens variabler, når den er oprettet. Dart angiver en constructor ved hjælp af klassens navn. Som en funktion kan en constructor være parametiseret.
Hvorfor skal du hyre en Dart-udvikler?
Dart, og især Flutter er relativt nye computerprogrammeringsværktøjer, hvilket gør dem mere optimerede og anvendelige i det nuværende landskab til opbygning af mobilapplikationer.
En Dart-udvikler vil være hurtigere og mere effektiv med virksomhedens ressourcer og vil relativt set kunne gennemføre projektet uden at anvende de indviklede C++ eller C#-teknikker (selv om det også kan udnytte begge dele).
For en hurtigt, agil og fremtidsorienteret virksomhed bør det være en absolut selvfølge at ansætte Dart-udviklere til at arbejde på kommende projekter og applikationer.