Hoppa till innehåll

Översikt

Efter många veckor av programmerande i Node-plattformen är det nu dags att börja titta på hur du kan ta dina program till webben! Veckans två artiklar går igenom hur webbläsaren skiljer sig från Node, hur du bör ladda in dina skript och vad webbkomponenter är, grunden för resten av kursen. Information om veckans upplägg annonseras löpande i kursens Zulip-kanal.

Tisdagen i kursvecka 8 handlade om steget från Node.js till webbläsaren: veckans två nya artiklar, hur skript laddas och varför kursen bygger på webbkomponenter i stället för ett ramverk. Mikael byggde sedan ett Hello World-projekt för webbläsaren från grunden, med package.json, Vite och webbläsarens utvecklingsverktyg. Passet avslutades med frågor om versionsnummer, den muntliga examinationen av A3 och enhetstester inför torsdagen.

1:23:59

Torsdagen i kursvecka 8 började med tisdagens önskemål om enhetstester. Mats presenterade artikeln Att testa din kod och lade till Vitest och ett första test i A3-mallen. Därefter visade Mikael hur han provkör sin egen A3-lösning, hur flödet i app.js kan se ut och vilka metoder som brukar ge flest diskussioner vid redovisningen.

56:04

Veckans teori finns samlad i två artiklar. Läs dem i ordning; den första lägger grunden för den andra.

  1. Webbläsaren som körmiljö – vad som skiljer webbläsaren från Node, hur en sida renderas och hur du laddar in JavaScript som moduler.

  2. Webbkomponenter – en introduktion – vad webbkomponenter är och hur de kommer att prägla resten av kursen.

Under läsanvisningar hittar du veckans kapitel som ska läsas i kurslitteraturen. Planera upp och dela upp läsningen under veckan.

Under Övningsuppgifter hittar du övningsuppgifter som det är lämpligt att du arbetar med under veckan.

Inspelningarna från 2021 tar upp samma stoff som artiklarna, men är delvis inaktuella och har presentationer på engelska. Artiklarna räcker, men vill du se genomgångarna i rörlig bild finns de kvar här. Sammanfattningar och presentationer till inspelningarna hittar du i samlingen av inspelningar för delkurs B.

Öppna videon på YouTube

1:13:11

Webbläsaren och JavaScript – hur webbläsaren är uppbyggd och hur du länkar in JavaScript. Motsvarar artikeln Webbläsaren som körmiljö.

Öppna videon på YouTube

6:12

Varför JavaScript i webbläsaren? – en kort historik. Motsvarar inledningen av artikeln Webbläsaren som körmiljö.

Öppna videon på YouTube

19:20

Introduktion till custom elements och webbkomponenter. Motsvarar artikeln Webbkomponenter – en introduktion.

Nu är det hög tid att börja arbeta med examinationsuppgift A3.

Läs mer om “Examinationsuppgift A3 - Tjugoett” här.

Under Utmaningar hittar du fyra frågor om HTTP och om hur webbläsaren laddar och kör skript, ett bra sätt att stämma av att du har förstått den första artikeln.

Här är ett antal frågor som du kan försöka besvara och diskutera tillsammans med din AI-assistent. Tveka inte att lyfta någon av frågorna till handledningen för att fortsätta diskussionen med lärare och studiekamrater.

  1. Jag har programmerat JavaScript i Node och ska nu börja i webbläsaren. Vilka är de viktigaste skillnaderna jag behöver känna till? Ge exempel på kod som fungerar i den ena miljön men inte i den andra.
  2. Vad händer i webbläsaren från det att den har hämtat en HTML-sida tills sidan syns på skärmen? Var i den kedjan kan JavaScript ställa till det?
  3. Förklara skillnaden mellan <script>, <script defer>, <script async> och <script type="module">. Ge mig sedan ett HTML-dokument med några skript och låt mig gissa i vilken ordning de körs innan du berättar svaret.
  4. Varför får jag ett CORS-fel när jag öppnar en HTML-fil med en modul direkt från disk, och varför försvinner felet när jag använder en webbserver som Vite?
  5. Hur tar jag reda på om ett HTML-element, en CSS-egenskap eller ett API fungerar i alla webbläsare som mina användare kan tänkas ha?
  6. Jag vill skapa ett första eget HTML-element, <hello-message>, som bara visar en hälsning. Visa den enklaste lösningen och förklara varje rad. Vänta med shadow DOM, det kommer senare i kursen.

Här följer tips till hur du kan prioritera bland kursmaterialet för att komma igång med veckan.

  1. Nu behöver du komma igång med A3. Det är fortfarande drygt 2 veckor till inlämning, men samtidigt så startar kursen upp med nya saker så håll farten uppe och gör så mycket av A3 som du kan. Det kan vara skönt att ha tid innan inlämningen för att finslipa din kod och testa så att allt fungerar.
  2. Försök prioritera så du också hinner läsa veckans två artiklar. Du behöver inte börja koda i webbläsaren än, men det är värdefullt om du redan nu börjar titta på hur det fungerar. Inspelningarna är frivilliga.
  3. När du läst artiklarna så finns det en övningsuppgift på nivån Uppvärmning där du får möjlighet att testa att programmera i webbläsaren och använda den miljön för utveckling. Missa inte att övningsuppgiften har ett inspelat lösningsförslag. Det spelades in för en tidigare version av projektet, så detaljer kan skilja sig från README:n. Följ README:n där de inte stämmer överens.
CCBY