Ord som alla nya kodare bör lära sig
Det tekniska området är fullt av märkliga termer och modeord, som för det otränade örat, kan vara extremt förbryllande. Webbutveckling är inget undantag, och om du vill göra karriär som programmerare så måste du vara bekant med branschspråket.
Från Java till JavaScript, frontend till backend och appar till API:er, det är normalt att känna sig överväldigad av den till synes oändliga strömmen av ny terminologi. Men att ta reda på nyckeltermer och akronymer kommer att göra din resa in i branschen mycket enklare – oavsett om du funderar på en karriär inom webbutveckling, redan lär dig koda eller förbereder dig för din första intervju.
För att förenkla processen och avmystifiera jargongen så har vi satt ihop en ordlista med 50 viktiga nyckelord när det kommer till webbutveckling. Ord som du verkligen bör känna till, både på engelska, och den svenska översättningen av dem. I de fall där jag anser det viktigt att du känner till både det engelska namnet samt den svenska översättningen eller benämningen så har jag angett det engelska namnet inom parenteser.
Så vad väntar du på?
De viktigaste termerna inom webbutveckling
Den här listan ger dig en bra introduktion till några av de viktigaste termerna som du kommer att stöta på när du arbetar med webbutveckling. Du kanske inte nödvändigtvis behöver varje term i ditt dagliga arbete, men det är bra att åtminstone veta vad de är och vad de syftar på. De sträcker sig från de mest grundläggande till de mer tekniska, och bör fungera som din startpunkt för vidare forskning och undersökning!
1. Agile
A är för agil, ett stort modeord i hela teknikbranschen just nu. Agil webbutveckling hänvisar i huvudsak till ett visst sätt att arbeta, och du kommer ofta att höra denna term i startup-världen. I ett agilt team så kommer webbutvecklare att arbeta enligt vecko- eller varannan veckas sprints. En sprint består vanligtvis av fem faser: design, utveckla, testa, distribuera och granska.
2. Algoritm
En algoritm är i grunden en uppsättning steg för att utföra vissa uppgifter. Inom datorprogrammering så är algoritmer en viktig del av problemlösning. När en utvecklare skapar en algoritm så kommer utvecklaren att dokumentera alla nödvändiga steg det tog för att komma fram till en lösning på ett problem, och vad varje steg involverade.
3. API
API står för ”Application Programming Interface”. En API gör det möjligt för två olika program att kommunicera med varandra genom att göra vissa delar av webbplatskoden tillgängliga för utvecklare. Utvecklare kan använda den här koden, det vill säga API:et, för att bygga verktyg och widgets som kan kopplas till just den webbplatsen. Ett klassiskt exempel är Facebooks API, som möjliggör att man kan använda appar som Facebook Messenger och Words with Friends.
4. Application
Du är utan tvekan bekant med appar och använder förmodligen flera dagligen. En applikation är i grunden en typ av programvara som gör det möjligt för användaren att utföra olika uppgifter – oavsett om det är att ställa in ett larm på sin smartphone eller att skriva ett dokument i Microsoft Word. Som utvecklare måste du vara bekant med skillnaden mellan stationära appar, mobilappar och webbappar. Se även: Webbapp.
5. Adaptiv design
Sättet på vilket en webbplats är byggd avgör hur den visas på olika enheter. Adaptiv design skapar en webbplats i flera olika layouter, var och en lämpad för olika skärmstorlekar. Beroende på vilken enhet som används för att komma åt webbplatsen så kommer webbplatsen att anpassa och leverera en lämplig layout. Se även: responsiv design och mobil-först.
6. Bootstrap
Bootstrap är ett gratis ramverk med öppen källkod för att designa webbplatser och webbappar. Det utvecklades av Mark Otto och Jacob Thornton på Twitter för att uppmuntra konsekvens mellan interna verktyg. Bootstrap inkluderar HTML- och CSS-baserade designmallar för typografi, formulär, knappar, tabeller, navigering, modals och mer, plus JavaScript-plugins. Se även: ramverk och frontend.
7. Backend
Backend-utveckling syftar i huvudsak på allt som pågår bakom kulisserna. Det som händer på backend- eller serversidan styr vad som händer vid frontend, det vill säga vad användaren ser och interagerar med. Backend-utveckling kan delas upp i fyra huvudkomponenter i en mjukvarustack: servern, databasen, operativsystemet och programvaran. Du kan lära dig mer om skillnaden mellan frontend och backend på andra ställen i bloggen.
8. (Browser) Webbläsare
En webbläsare är programvaran som används för att komma åt internet och visa webbsidor. När du skriver in en webbadress eller URL i webbläsaren så skickar du faktiskt ut en rad förfrågningar. Webbläsaren samlar alla olika element som utgör den specifika webbsidan, såsom bilder, annonser och innehåll, var de än lagras (dvs olika kataloger eller servrar) för att visa sidan som du ser. De vanligaste webbläsarna inkluderar Microsoft Internet Explorer, Google Chrome, Mozilla Firefox, Safari för Apple och Opera.
9. Bugg
Om du vill arbeta som webbutvecklare så är det här ett ord du definitivt kommer att behöva i ditt ordförråd! Enkelt uttryckt är en bugg ett fel som hindrar en webbplats eller app från att fungera som den ska. I en värld av webbutveckling så kommer du ofta att få ta itu med buggrapporter och få i uppdrag att fixa dessa buggar.
10. Cache
En cache är ett tillfälligt lagringsutrymme för data. När du besöker en webbplats så lagras filerna som du begär automatiskt i cachen. Om du återvänder till samma webbplats inom en snar framtid så kommer din webbläsare att hämta de nödvändiga filerna från din cache snarare än från den ursprungliga servern – så att webbsidan laddas snabbare.
11. Kod
Naturligtvis så kan du inte kalla dig själv för webbutvecklare förrän du vet vad kod är! Kod är i huvudsak vad webbutvecklare skriver med hjälp av programmeringsspråk (rulla ner till språk i den här ordlistan!). För att se exakt hur koden ser ut, så högerklicka på ditt webbläsarfönster och klicka på ”visa sidkälla”. Du kommer då att kunna se koden som ligger bakom den här webbplatsen.
12. CSS
CSS står för ”Cascading Style Sheets”. Det är ett märkningsspråk (markup language) som ansvarar för de visuella delarna av en webbplats. HTML (ett annat märkningsspråk) används för att bestämma strukturen och innehållet på webbsidan. Webbutvecklare kommer sedan att använda CSS för att utforma detta innehåll; med andra ord, CSS talar om för webbläsaren hur HTML-elementen ska visas. CSS används för att applicera färger och för att bestämma teckensnitt, textstorlek och justering, för att bara nämna några.
13. Datastrukturer
En avgörande aspekt av utveckling och programmering, datastrukturer är ett sätt att organisera och lagra data för maximal effektivitet – ungefär som böcker i ett bibliotek. Datastrukturer gör det enkelt att hitta, komma åt, sortera, infoga och radera data. Det finns många olika typer av datastrukturer, inklusive länkade listor, stackar, köer och uppsättningar.
14. (Debugging) Felsökning
Kommer du ihåg de där buggarna vi pratade om? Nåväl, felsökning är processen att identifiera och hantera dem. Felsökning är en process i flera steg: utvecklaren lokaliserar problemet, isolerar källan och börjar sedan antingen arbeta med att fixa det eller komma på en lösning som går runt det. Felsökningsprocessen avslutas med testning och vid behov ytterligare korrigeringar.
15. (Deployment) Implementering
Implementering är ett nyckelsteg i webbutvecklingsprocessen. När en webbplats eller en app har utvecklats och testats så är den redo för att gå live; med andra ord, den är redo att distribueras. Det finns flera olika steg för att distribuera en webbplats, där den sista är värd för den. Nuförtiden kan du vara värd för en webbplats på internet gratis – allt du behöver är en e-postadress!
16. Dokumentation
En avgörande del av webbutveckling och mjukvaruutveckling, dokumentation är i huvudsak den centrala referenspunkten för alla som är involverade i att hantera, underhålla eller använda en webbplats eller mjukvara. Dokumentation kan ge information om krav, arkitektur och design, tekniska egenskaper, information till slutanvändaren eller marknadsföring.
17. Domännamn
En webbplats domännamn är i huvudsak dess adress på webben. Det är adressen som användare skriver in i webbläsaren för att se en webbplats – som ”stefan-pettersson.nu”. Varje webbplats kan identifieras med sin IP-adress (en serie siffror), och domännamnet är bara en mer användarvänlig etikett för dessa nummer. Domäner är uppdelade i två nivåer: i fallet med min webbplats, stefan-pettersson.nu så är ”nu”-delen toppdomänen, medan ”stefan-pettersson”-delen är andranivådomänen.
18. (Frameworks) Ramverk
Ramverk uppfanns för att göra processen att bygga en webbplats snabbare och enklare. Du kan tänka dig ett ramverk som en samling av lösningar, verktyg och komponenter som du kan komma åt på en central plats – snarare än att söka upp dem alla separat varje gång. Några vanliga ramverk inkluderar Ruby on Rails, Bootstrap, AngularJS och Joomla.
19. Frontend
Kommer du ihåg hur backend är allt som pågår bakom kulisserna, och driver vad som händer i frontend? Frontend på en webbplats, även känd som klientsidan, är vad slutanvändaren ser och interagerar med. Gränssnittsspråk inkluderar HTML, CSS och JavaScript, som alla har en del i att bestämma den visuella produktionen av en webbplats.
20. Fullstack
Vi har redan täckt både frontend och backend: nu är det dags att lägga in full-stack utveckling i mixen. Full-stack-utvecklare arbetar över alla tre lager: frontend, backend och databaslagret. På grund av det stora djupet i deras kunskap över hela den tekniska stacken, så tenderar den här typen av utvecklare att ha många års branscherfarenhet och får bra betalt för det.
21. Git
En absolut stapelvara i webbutvecklingsvärlden, Git är ett versionskontrollsystem där utvecklare kan lagra och hantera sin kod. Som webbutvecklare kommer du att göra ständiga ändringar i din kod när du är i färd med att skapa något, vare sig det är en app eller en webbplats. Git låter dig spåra dessa förändringar och vända på dem vid behov, och även att arbeta tillsammans med andra team och hantera flera projekt samtidigt.
22. GitHub
GitHub är ett molngränssnitt för Git. Den har funnits sedan 2008 och har nu över 28 miljoner användare över hela världen, vilket gör den till den största värden av källkod i världen! GitHub erbjuder alla versionskontrollfunktioner i Git, men erbjuder också sina egna funktioner, såsom buggspårning, uppgiftshantering och projektwikis. Så upptäck varför GitHub är så viktigt för webbutvecklare.
23. HTML
HTML står för ”Hypertext Markup Language”. Enkelt uttryckt så är det ett datorspråk som används för att skapa webbplatser. HTML beskriver hur ett dokument ska visas av en webbläsare som en webbsida. Den består av taggar, element och attribut och, när du väl har fått kläm på det, så är det ganska enkelt att arbeta med!
24. HTTP
Ännu en förkortning för att få ditt huvud att snurra runt: HTTP står för ”Hypertext Transfer Protocol” och används för att överföra data över internet. HTTP skickar data (t.ex. ett HTML-dokument eller en bild) från ett HTTP-serverprogram (en webbserver) till ett HTTP-klientprogram (en webbläsare).
25. Informationsarkitektur
Informationsarkitektur är metoden att organisera komplex information på ett tydligt och logiskt sätt. Vad gäller webbplatser och appar så innebär det att man skapar en användarvänlig struktur som gör det lätt för användaren att hitta runt. IA är inte bara för designers; utvecklare är också informationsarkitekter, i sättet de strukturerar sin kod. Generellt sett är webbplatskartor, hierarkier, kategoriseringar, navigering och metadata alla en del av IA.
26. Java
Java är ett av de mest populära programmeringsspråken som finns. En av de främsta anledningarna till att det är så populärt är att det är plattformsoberoende, vilket innebär att program byggda med Java kan köras på vilken enhet som helst, oavsett vilket operativsystem som används. Java har funnits sedan 1995 och är ett samtidigt, klassbaserat och objektorienterat språk.
27. JavaScript
Medan vi är på ämnet populära programmeringsspråk, så låt oss prata om JavaScript. JavaScript används främst som ett språk på klientsidan, vilket innebär att det bäddas in i HTML-koden på en sida och skickas till webbläsaren. Webbutvecklare använder JavaScript för att lägga till automatisering, animationer och interaktivitet på webbsidor.
28. jQuery
Kommer du ihåg JavaScript? Jo jQuery är ett JavaScript-bibliotek (vi kommer att gå in på bibliotek längre ner i ordlistan). jQuery förenklar i princip uppgiften att använda JavaScript på din webbplats genom att kondensera flera rader JavaScript-kod till en enda rad. Istället för att lägga till många rader JavaScript-kod så kan utvecklaren helt enkelt ta och använda den ”kompakta versionen” från jQuery-biblioteket.
29. (Languages) Språk
Languages är engelska för språk, och webbutveckling är full av dem! Vi har redan nämnt några språk i den här ordlistan (kom ihåg CSS, HTML och Java?), men vad är egentligen ett språk i detta sammanhang? Språk är i grunden vad programmerare använder för att bygga webbplatser, appar och mjukvara. Det finns programmeringsspråk, märkningsspråk, stilmallsspråk och databashanteringsspråk.
30. (Libraries) Bibliotek
Som vi såg med exemplet med JavaScript (programmeringsspråket) och jQuery (ett JavaScript-bibliotek), så kan bibliotek spara utvecklare avsevärd tid och ansträngning. Bibliotek är förråd av förskriven kod, eller moduler, som programmerare kan ta och infoga i koden de skriver.
31. (Minification) Minifiering
Minifiering är ett av mina favoritord för webbutveckling – det är processen att minimera kod och uppmärkning för att minska filstorleken. När man skapar en HTML-fil, till exempel, så kommer utvecklare med största sannolikhet att använda mellanrum, kommentarer och variabler för att göra koden mer läsbar när de arbetar med den. För att förminska koden när webbsidan är redo att publiceras så kommer utvecklaren att ta bort dessa kommentarer och utrymmen för att säkerställa en snabbare sidladdningstid (viktigt för att leverera en bra användarupplevelse!)
32. (Mobile-first) Mobil först
Mobile-first är ett förhållningssätt till webbdesign och utveckling som prioriterar mobila enheter. Istället för att bygga en webbplats med stationära datorer i åtanke och sedan överväga hur den ska se ut på en mobil enhet, med en mobil-först-strategi, så är webbplatsen först byggd för den lilla skärmen. Mobile-first innebär att anta antingen responsiv eller adaptiv design (båda ingår i denna ordlista!).
33. MVP
Det är viktigt att inte blanda ihop dina modeord för sport och dina webbutvecklingsord. Programmerare kan ofta höra talas om ”MVP” – eller lägsta livskraftiga produkt. Den lägsta livskraftiga produkten är den mest förminskade versionen av en produkt som kan släppas på marknaden. När utvecklare antar en MVP-metod så kommer utvecklarna först att fokusera på de kärnfunktioner och funktioner som är helt avgörande. Sedan, när produkten har släppts och användarfeedback har samlats in, så kommer de att fortsätta att bygga hela uppsättningen av funktioner.
34. MySQL
MySQL är världens mest populära databashanteringssystem med öppen källkod. Om du är helt ny på webbutveckling så kanske detta inte betyder mycket för dig ännu, så låt mig förklara. En databas är en strukturerad samling av data och en viktig komponent på de flesta webbplatser. Ett databashanteringssystem är en typ av programvara som hanterar dessa databaser.
35. Operativsystem
Ett operativsystem, eller OS, är en typ av programvara som gör det möjligt för användaren att köra applikationer på en enhet. Säg att du har en Samsung Galaxy-smartphone; operativsystemet i det här fallet är Android. Alla appar som har byggts för Android OS kan köras på din Samsung. IPhone, å andra sidan, använder operativsystemet iOS och kan bara köra appar som har byggts med detta i åtanke.
36. PHP
PHP står för ”Hypertext Preprocessor”, ett skriptspråk på serversidan. PHP kan bland annat användas för att generera dynamiskt sidinnehåll, för att skicka och ta emot cookies, för att kontrollera användaråtkomst och för att kryptera data. Varför PHP? Tja, det är kompatibelt med nästan alla servrar som används idag, det är ganska så lätt att lära sig, stöder ett brett utbud av databaser och det är gratis att ladda ner!
37. Plugin
Ett plugin är i grunden ett tillägg som lägger till extra funktionalitet till en befintlig programvara, såsom plugins för din webbläsare eller tillägg för WordPress CMS. Varför skulle du bygga en app för att stödja plugins? För det första är det ett enkelt sätt att lägga till nya funktioner eftersom det gör det möjligt för tredjepartsutvecklare att bygga vidare på den befintliga appen, och för det andra så kan det hjälpa till att minska storleken på en app.
38. Python
Ett annat programmeringsspråk, Python, fick sitt namn efter Monty Python – sann historia! Python är allmänt accepterat och har ett brett stöd; Google, Reddit, Nasa och Dropbox är några av de mest kända företagen som använder det. Python är särskilt användbart för datavetenskap, maskininlärning, automatisering och API-utveckling. Samtidigt är det känt för sin läsbarhet och är därför ganska så lätt för nybörjare att lära sig och använda.
39. (Resolution) Upplösning
Upplösning är ett mått som används för att beskriva storleken och kvaliteten på en bild. Det hänvisar också till visningsmöjligheterna hos en dator eller mobil enhet, dvs. hur många pixlar en skärm kan visa både horisontellt och vertikalt. I ett webbutvecklingssammanhang är det viktigt att tänka på hur olika bilder kommer att återges på olika skärmstorlekar.
40. Responsiv design
Responsiv design säkerställer att en webbplats visas korrekt oavsett vilken enhet användaren använder för att titta på den. Responsiva webbplatser är byggda på ett sådant sätt att de anpassar sig till olika skärmstorlekar, så att användaren får samma kvalitet och användarvänlighet oavsett om de surfar på dator, mobil eller surfplatta. Du bör lära dig skillnaderna mellan responsiv och adaptiv webbdesign.
41. Ruby och Ruby on Rails
Ruby är ett annat programmeringsspråk – ett dynamiskt programmeringsspråk med öppen källkod med fokus på enkelhet och produktivitet, faktiskt. Ruby on Rails är ett ramverk (kommer du ihåg ramverk?) som är byggt i Ruby. I webbutvecklingsvärlden kanske du hör Ruby on Rails helt enkelt kallad ”Rails”. En fråga som många nybörjare webbutvecklare ställer är ”Är det värt att lära sig Ruby on Rails?”.
42. (Sitemap) Webbplatskarta
En webbplatskarta är en översikt över alla sidor på en webbplats. Det finns tre olika typer av webbplatskartor: de som används av webbdesigners när de planerar en webbplats, hierarkiska listor avsedda för den mänskliga användaren och strukturerade listor avsedda för sökmotorer. Webbutvecklare använder XML-webbplatskartor för att publicera listor med länkar på sina webbplatser, i linje med Googles protokoll för webbplatskartor.
43. (Software stack) Mjukvarustack
Mjukvarustackar utgör backend av en webbplats, och de är i huvudsak paket av programvara som fungerar tillsammans. I fallet med en smartphone, till exempel, skulle mjukvarustacken bestå av operativsystemet, telefonappen, webbläsaren och andra grundläggande applikationer.
44. SSL
SSL står för ”Secure Sockets Layer”. Det är ett standardsäkerhetsprotokoll för att säkerställa att all data som överförs mellan webbservern och webbläsaren förblir krypterad – och därför oläsbar för blotta ögat. Du kan se om en webbplats har ett SSL-certifikat genom att titta på webbadressen: om webbadressen börjar med ”https” är webbplatsen säker. Du kommer också att se en hänglåssymbol i webbläsarfältet.
45. Textredigerare
Ett av de viktigaste verktygen du kommer att använda i webbutveckling är en textredigerare. En textredigerare är bara en typ av programvara som används för att skriva vanlig, oformaterad text. Du kommer att använda en textredigerare som SublimeText, TextEdit eller TextWrangler för att skriva din första kod. Sedan, senare, kommer den att formateras för att göra den datorläsbar.
46. UI Design
UI design står för användargränssnittsdesign, och det handlar om skärmarna och de interaktiva kontaktpunkterna som utgör en webbplats eller en app. Sveprörelser, rullningslister och klickbara knappar är alla en del av UI-designen – i princip allt som utgör användargränssnittet. Det finns många olika delar av vad en UI-designer exakt gör.
47. UX-design
Som webbutvecklare kommer du också att arbeta nära UX-designers, så det hjälper att förstå vad de gör. UX-design står för användarupplevelsedesign, och det handlar om att tillhandahålla en smidig, användarvänlig upplevelse för slutanvändaren när de navigerar runt en webbplats eller en app. Du kan lära dig mer om UX-design på andra ställen på bloggen.
48. Versionskontroll
Versionskontroll handlar om att registrera och hantera ändringarna du gör längs vägen – oavsett om det är ändringar i koden du skriver, till en webbplats, ett datorprogram eller ett dokument. Som redan nämnts så är Git ett av de mest populära versionskontrollsystemen som används av utvecklare eftersom det låter dem spåra och vända eventuella ändringar i sin kod.
49. Webbapp
Det är viktigt att skilja mellan mobilappar och webbappar, eftersom de är uppbyggda på olika sätt. Inbyggda mobilappar är byggda för en specifik plattform, som iOS för iPhone, och installeras och körs på själva enheten. Webbappar, å andra sidan, nås via webbläsaren och anpassar sig till vilken enhet du än tittar med. De är inte inbyggda i ett specifikt system och behöver inte heller laddas ner eller installeras.
50. Wireframe
Wireframes hjälper designers att kommunicera till webbutvecklare hur en webbplats ska vara uppbyggd. En wireframe är i grunden en blottad plan av webbplatsen, som visar sidlayouten, hur innehållet ska ordnas, vilka gränssnittselement och navigationssystem som ska inkluderas och hur alla dessa komponenter fungerar tillsammans. Fokus ligger på funktionalitet snarare än estetik.
Det här är inte på något sätt en uttömmande lista, men den borde hjälpa dig att börja prata som en webbutvecklare.