Front-end vs. Back-end vs. Full-stack webutvikling
- 3363
- 135
- Mikkel Hagen
Nettutvikling er ikke bare en ting. Det omfatter flere ferdighetssett, og det er forskjellige typer karrierer innen webutviklingsområdet. Tre begreper som ofte brukes er "frontend", "baksiden" og "full stabel.”Her er de viktigste forskjellene mellom de tre.
Front-end webutvikling
Front-end utvikling, mens komponentene alltid endrer. I kjernen involverer front-end utvikling HTML, CSS og JavaScript:
- Html: Hypertext Markup Language, eller HTML, er den viktigste strukturelle komponenten i alle nettsteder på Internett. Uten det kan ikke websider eksistere.
- CSS: CSS legger til stil til HTML. Jeg liker å bruke analogien om at HTML er som et ansikt og CSS er som sminke.
- JavaScript: JavaScript, eller JS, har utviklet seg de siste årene. I forhold til front-end utvikling er JS viktig fordi det hjelper med å gjøre websider interaktiv.
Frontenden er assosiert med utforming og designprinsipper, men front-end utviklere er ikke nødvendigvis designere. I utgangspunktet konstruerer frontutviklere det ytre utseendet-nettstedssidene som brukerne ser. Dette betyr at front-end utvikleren må ta hensyn til lesbarheten og brukervennligheten til nettstedet og/eller applikasjonen. Dessuten kjører frontend på klienten - noe som betyr at brukerens lokale datamaskin - i de fleste tilfeller nettleseren. Og informasjon lagres ikke på klientsiden.
Back-end webutvikling
Back-end webutvikling er det som foregår bak kulissene. Back End muliggjør front-end-opplevelsen.
For å gjøre ting enkelt, tenk på frontenden som en del av isfjellet over vannet. Det er det brukeren ser-det slanke utseendet. Bakenden er resten av isen; Det kan ikke sees av sluttbrukeren, men det er det mest grunnleggende elementet i en webapplikasjon. Back End kjører på serveren, eller som det ofte kalles "serversiden".
I motsetning til front-end-utviklingen (som først og fremst bruker HTML, CSS og JavaScript), kan back-end webutvikling stole på en rekke språk og rammer.
Noen få populære språk som brukes på bakenden inkluderer:
- Rubin (Ofte brukt i forbindelse med Rails Framework - AKA Ruby on Rails)
- Python (som ofte brukes med Django -rammeverket på baksiden)
- PHP (Den populære WordPress CMS bruker PHP på back-end-PHP har noen få populære rammer, en er Laravel)
- Node.JS (Blir mer populært-dette er et back-end-miljø for webapper bygget med JavaScript)
For at store nettsteder og webapplikasjoner skal fungere, er det mer enn et back-end-språk og rammeverk. All informasjon på et nettsted eller applikasjon må lagres et sted.
Det er her databaser kommer inn. Back-end utviklere håndterer disse også.
Populære databaser inkluderer:
- Mysql
- PostgreSql
- Mongodb
- Og andre
Vanlig visse back-end-språk/rammer krever en viss database. For eksempel krever den gjennomsnittlige full stack -rammen MongoDB.
Utover å kjenne et back-end-språk/rammeverk og kjøre databaser, må back-end utviklere også ha en forståelse av serverarkitektur.
Å sette opp en server tillater et nettsted riktig å kjøre raskt, ikke krasje, og ikke gi feil til brukerne. Dette faller under back-end utviklerens domene fordi de fleste feil oppstår i bakenden, ikke frontenden.
Full stabel
Full stabel er kombinasjonen av både frontenden og bakenden. En full-stack-utvikler er en jack-of-all-trades. De er ansvarlige for alle utviklingsnivåer, fra hvordan serveren er satt opp til den designrelaterte CSS.
I disse dager er det så mye som går inn i nettutvikling at det er nesten umulig å håndtere begge sider. Mens mange mennesker kan hevde å være full stabel, eller faktisk er, fokuserer de fortsatt mer på den ene siden: klienten eller serveren.
Hos mindre selskaper/startups vil en enkelt person mer sannsynlig være ansvarlig for alle sider av webutviklingsspekteret. Hos større selskaper jobber folk imidlertid med team og har spesialiserte roller - en fokuserer utelukkende på serverarkitektur, en annen (eller noen få mennesker) i frontend, etc.
Konklusjon
Nettutvikling har mange ansikter, og det utvikler seg mer hver dag. Det er mye å lære, men ikke føl deg presset til å lære alt på en gang. Husk at i arbeidsplassmiljøer vil du vanligvis være med på et team med andre. Fokuser på å felle ferdighetene dine i ett aspekt av nettutvikling om gangen. Ikke bli overveldet, og du vil være en proff før du vet ordet av det.