Oprettelse af software med en ramme vs. et bibliotek: hvad rekrutteringsfolk inden for teknologi skal vide

Udgivet: Sidst opdateret:
ramme vs. bibliotek

Som teknisk rekrutteringsmedarbejder er det ikke længere nok, at du kun kender navnene på visse programmeringssprog - du bør også forstå det grundlæggende i, hvordan software bliver lavet.

Når det drejer sig om at skabe produktionssoftware, er der to meget vigtige faktorer at tage hensyn til: Den første er, at udviklingen af applikationer bliver mere og mere kompleks. Den anden er, at programmører altid forsøger at blive mere effektive og mere effektive i deres arbejde. Som følge heraf skal alle programmørhold beslutte, om de vil bygge en applikation ved hjælp af enten en softwareramme eller et softwarebibliotek (eller en række biblioteker). 

Af samme grund skal du være opmærksom på, hvilke biblioteker og frameworks der er relevante for en given stilling, som du søger. På den måde vil du kunne søge udviklere, der passer bedst til den pågældende stilling. Ikke nok med det, men det er indlysende til næsten alle kandidater, når rekrutteringsfolkene ikke har gjort deres research. Fuldstændig forståelse af, hvordan programmeringssprog, frameworks og biblioteker arbejder sammen, vil gøre dig til en virkelig rekrutteringsmedarbejder (og får dig til at føle dig mere sikker, når du taler "teknisk" med kandidater.

Den tekniske forskel mellem en ramme og et bibliotek?

Som du kan se i grafikken nedenfor, er den tekniske forskel mellem et framework og et bibliotek spørgsmålet om, hvem der har kontrol over visse nøglehandlinger i løbet af oprettelsen af software (og hvornår softwaren rent faktisk kører).

Når en softwareudvikler bruger en funktion fra et bibliotek, har udvikleren kontrol - med andre ord har udviklernes kode fuld kontrol over hændelsesforløbet. Med et framework er kontrolretningen imidlertid omvendt (dette kaldes Omvendelse af kontrol), da rammen kontrollerer udvikleren - i dette tilfælde kontrollerer rammen udviklernes kode. På en måde fungerer en ramme på samme måde som det såkaldte Hollywood-princip: "Don't call Us, We'll call You".

ramme vs. bibliotekKilde: Fatos Morina

Så hvad er rammesystemer og biblioteker egentlig? Hvad er forskellen mellem disse to begreber?

Hvad er formålet med rammer og biblioteker?

Som du sikkert ved, ændres programkoden, som programmører skriver, konstant i takt med at den applikation, de arbejder på, udvikles og udvikles. Rammer og biblioteker er imidlertid grundlæggende byggeklodser, der ikke ændres, og som bruges som struktur for et bestemt program. Både biblioteker og frameworks er blevet udviklet af udviklere for at undgå at skulle udføre gentagne opgaver igen og igen. De kan også levere en vis funktionalitet uden at skulle implementere denne funktionalitet fra bunden.

Hvad er biblioteker i kodning?

Et bibliotek er i bund og grund et sæt funktioner, som en udvikler kan få adgang til ("kalde"). I dag er et bibliotek normalt opdelt i såkaldte "klasser". Hele idéen med et sådant bibliotek er, at det indeholder kode, der kan genbruges til et bestemt formål inden for et bestemt domæne. På denne måde forenkler et bibliotek specifikke opgaver ved at stille et sæt generiske funktionaliteter til rådighed. Disse er derefter klar til at blive brugt i ("tilsluttet") et softwareprogram. De fleste programmeringssprog indeholder f.eks. biblioteker til funktionalitet som formatering af en streng eller logning af de undtagelser, der kan opstå under kørslen. Ved at bruge de relevante biblioteker kan udviklerne reducere mængden af kode, som de skal skrive. Samtidig har velkendte biblioteker god dokumentation og er blevet testet godt. Derfor er det i de fleste tilfælde bedre for udviklerne at bruge et bibliotek frem for at bruge tid og besvær på at skrive, teste og dokumentere deres egen kode.

Hvad er en ramme inden for programmering?

En ramme kan beskrives som en arkitektur, der gør det lettere at implementere software på en velorganiseret måde. En sådan ramme indeholder derfor et foruddefineret abstrakt design, som er koblet med mere indbygget adfærd end et bibliotek. I en ramme er alt kontrolflowet allerede på plads, og der er en række foruddefinerede hooks, hvor udviklerne kan placere deres egen kode. Som følge heraf definerer en ramme et skelet, hvor udviklerne af en bestemt applikation definerer deres egne funktioner til at udfylde skelettet. Med andre ord kan man betragte en ramme som en samling mønstre og biblioteker, der hjælper udviklerne med at opbygge en applikation. På den anden side dikterer en ramme imidlertid også arkitekturen for en given applikation. Den vil f.eks. definere den overordnede struktur, opdelingen i klasser, klassernes nøgleansvar og hvordan objekter samarbejder.

Hvornår er det bedre at bruge en ramme end et bibliotek?

Som med næsten alle andre spørgsmål i det virkelige liv er det et komplekst spørgsmål, som det er svært at give et klart svar i alle tilfælde. Et team med mange juniorudviklere kan f.eks. være bedre stillet med et framework, som derfor håndhæver en bestemt struktur og bestemte standarder, der dikterer teamet, hvordan det skal bygge software. På den anden side kan et erfarent team, der arbejder på en applikation, som ikke er helt almindelig og har nichefunktionalitet, være bedre stillet med et bibliotek (eller biblioteker) end med et framework, fordi det giver dem større fleksibilitet og kontrol. I mere ekstreme tilfælde kan det endda være bedre for et bestemt udviklerteam at bygge software helt fra bunden uden at bruge hverken en ramme eller biblioteker.

Hvad du skal være opmærksom på, når du screener kandidater, der skal kende visse frameworks eller biblioteker

Her er en mini-FAQ om, hvordan programmeringssprog, frameworks og softwarebiblioteker bruges i den virkelige verden. Hvor det er relevant, har vi også tilføjet nogle forslag om, hvad man skal være opmærksom på, når man screener kandidater.

  • Spørgsmål: Kan programmører kode et program uden hverken et bibliotek eller en ramme, men kun ved hjælp af deres egen kode skrevet fra bunden?

Svar: Ja, det kan de, men det vil altid tage længere tid.

  • Sp: Kan programmører kode et program ved hjælp af en ramme plus noget af deres egen kode?

Svar: Ja, det kan de.

  • Spørgsmål: Kan programmører kode et program ved hjælp af enten et bibliotek (eller flere biblioteker) plus noget af deres egen kode?

Svar: Ja, det kan de.

  • Spørgsmål: Kan programmører skrive deres eget bibliotek?

Svar: Ja, og de fleste programmører gør det i forbindelse med deres eget arbejde. Det er en af de bedste måder at undgå enhver form for gentagelse, hvilket alle programmører ikke bryder sig om. Udviklere beslutter nogle gange at frigive biblioteker til fællesskabet, som har vist sig at være særligt nyttige. Som rekrutteringsansvarlig er det værd at spørge kandidaterne, om de har ydet sådanne bidrag til open source-programmer.

  • Spørgsmål: Kan programmører kode et program ved hjælp af en ramme plus enten et bibliotek (eller flere biblioteker) plus deres egen kode?

Svar: Ja, det kan de. Hvis et team af udviklere allerede er bekendt med et framework og relevante biblioteker, og det pågældende framework passer godt til det domæne, som den nye software skal fungere inden for, er denne fremgangsmåde sandsynligvis den mest effektive og effektive. Det betyder, at du, når du rekrutterer, leder efter udviklere, der allerede er fortrolige med de frameworks og biblioteker, som dit team bruger i øjeblikket.

  • Spørgsmål: Er det muligt for et bibliotek at blive forældet?

Svar: Ja, men det er usandsynligt, at det sker for et velkendt bibliotek, som har en betydelig funktionalitet.

  • Spørgsmål: Er det muligt for en ramme at blive forældet?

Svar: Ja, og det er en af de potentielle ulemper ved at bruge en ramme. Rammer kommer og går, og selv om en ramme er populær i lang tid, kan enhver ramme ændre sig dramatisk fra en større version til en anden større version. Skaberne/vedligeholderne af populære frameworks forsøger naturligvis at begrænse sådanne ændringer, men det kan ske og sker. Du bør forsøge at følge med i det mindste i større ændringer i de frameworks, som dit team bruger.

  • Spørgsmål: Kan programmører skabe deres egne rammer?

Svar: Ja. Når et team af programmører er færdige med at skabe en ny type software, sker det ofte, at de på baggrund af deres særlige erfaringer senere skaber en ramme, som er designet til at gøre det muligt at skabe en lignende type software på en måde, der er betydeligt mere effektiv og virkningsfuld. Det er en god idé at gennemgå CV'er for at se, om kandidaterne har haft en sådan erfaring.

Konklusion

Som teknisk rekrutteringsansvarlig er det meget vigtigt, at du ikke kun screener kandidater med hensyn til programmeringssprog, men også med hensyn til frameworks og biblioteker.

Vi ved, at nogle af de tekniske udtryk, der bruges til at tale om programmeringssprog, softwareframeworks og biblioteker, kan være forvirrende. Hvis du er i tvivl, anbefaler vi, at du tager et kig på den ordliste, som vi har udarbejdet specielt til dette formål: https://devskiller.com/glossary-it-terms-tech-recruiters/.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo