Webbutveckling är inte bara en sak. Det omfattar flera färdigheter, och det finns olika typer av karriärer inom webbutvecklingsutrymmet. Tre termer som ofta används är "front end", "back end" och "full stack." Här är de viktigaste skillnaderna mellan de tre.
Front-End webbutveckling
Front-end-utveckling, medan dess komponenter alltid förändras, handlar i huvudsak om de yttre vända delarna av en webbplats eller webbapplikation. I kärnan handlar front-end-utveckling HTML, CSS och JavaScript.
- HTML : HyperText Markup Language, eller HTML, är den viktigaste strukturella komponenten av alla webbplatser på Internet. Utan det kan webbsidor inte existera.
- CSS : CSS lägger stil till HTML. Jag tycker om att använda den analogi som HTML är som ett ansikte och CSS är som sminken.
- JavaScript : JavaScript, eller JS, har utvecklats under de senaste åren. I förhållande till front-end-utveckling är JS viktigt eftersom det hjälper till att göra webbsidor interaktiva.
Generellt är frontänden förknippad med layout och designprinciper. Front-end utvecklare är dock inte nödvändigtvis designers.
I grund och botten konstruerar front-end-utvecklare det yttre utseendet - webbplatsens sidor som användarna ser. Detta innebär att front-end-utvecklaren måste ta hänsyn till läsbarheten och användbarheten av webbplatsen och / eller applikationen.
Dessutom går frontänden på klienten - vilket betyder användarens lokala dator - i de flesta fall webbläsaren. Och information lagras inte på klientsidan.
Back-End webbutveckling
Back-end webbutveckling är vad som händer bakom kulisserna. Den bakre änden möjliggör front-end-upplevelsen.
För att göra det enkelt, tänk på framänden som isbergets del ovanför vattnet. Det är vad användaren ser - den snygga sidan. Baksidan är resten av isen; det kan inte ses av slutanvändaren, men det är den mest grundläggande delen av en webbapplikation. Bakre änden körs på servern eller, som det ofta kallas, "server-sida".
Till skillnad från front-end-utveckling (som huvudsakligen använder HTML, CSS och JavaScript) kan back-end webbutveckling förlita sig på en rad olika språk och ramar.
Några populära språk som används på baksidan inkluderar:
- Ruby (används ofta i samband med Rails-ramverket - AKA Ruby on Rails)
- Python (som ofta används med Django-ramen på baksidan)
- PHP (den populära WordPress CMS använder PHP på dess back-end - PHP har några populära ramar, en är Laravel)
- Node.js (blir mer populär - det här är en back-end-miljö för webbappsbyggda med JavaScript)
Men för att stora webbplatser och webbapplikationer ska fungera är det mer än ett back-end-språk och ramverk. All information på en webbplats eller ansökan måste lagras någonstans.
Det är här där databaser kommer in. Back-end-utvecklare hanterar dessa också.
( Obs! Du kan bygga en webbplats utan en databas genom att bara använda HTML och CSS. Det här skulle vara en statisk webbplats och skulle vara mycket mindre flexibel. En webbplats som bygger på information som ska skapas dynamiskt - Facebook, Yelp, någon e-handelsplats - behöver en databas.)
Populära databaser inkluderar:
- MySQL
- PostgreSQL
- MongoDB
- Och andra
Vanligtvis kräver vissa backend-språk / ramverk en viss databas. Till exempel kräver MEAN full stack-ramen MongoDB.
Utöver att veta ett back-end-språk / ramverk och löpande databaser måste back-end-utvecklare också ha en förståelse för serverarkitekturen.
Om du installerar en server korrekt kan en webbplats köras snabbt, inte krascha, och inte ge fel till användarna. Detta faller under den bakre utvecklarens domän eftersom de flesta fel uppstår i bakre änden, inte i främre delen.
Full Stack
Ja, du gissade det: Full stack är kombinationen av både främre och bakre änden.
En full stack utvecklare är en jack-of-all-trades. De ansvarar för alla utvecklingsnivåer, från hur servern är inställd på designrelaterad CSS.
Idag finns det så mycket som går in i webbutveckling att det är nästan omöjligt att hantera båda sidor. Medan många människor kan hävda att de är fulla stackar, eller i själva verket är de fortfarande vanligtvis mer fokuserade på ena sidan: klienten eller servern. (AKA främre änden eller bakre änden.)
Vid mindre företag / uppstart skulle en enskild person med största sannolikhet vara ansvarig för alla sidor av webbutvecklingsspektret. Men hos större företag arbetar folk på lag och har specialiserade roller - en fokuserar enbart på serverarkitektur, en annan (eller några personer) på framsidan etc.
Slutsats
Webbutveckling har många ansikten, och det utvecklas mer varje dag. Det finns mycket att lära sig, men känner sig inte pressad att lära sig allt på en gång. Kom ihåg, i arbetsmiljöer brukar du vara med på ett lag med andra. Fokusera på att hona dina färdigheter i en aspekt av webbutveckling i taget. Bli inte överväldigad, och du kommer att vara proffs innan du vet det.