Av: Ted Meyer

2017-09-25

5 snackisar från Nordic.js 2017

Vi var på årets upplaga av Nordic.js och delar här med oss av de 5 tal som vi har uppfattat genererat flest diskussioner och samtal på konferensen – det tänker vi är ett tecken på att de är intressanta för fler att höra om. Alla talen finns att se på den här youtube-kanalen för den intresserade.

5. Progressive Web Apps

På senare tid har det talats mer och mer om Progressive Web Apps (PWA) för att göra webbsidor mer robusta, snabba och lika nativa appar. Tillsammans med att webbläsarna börjar få bättre och bättre stöd för teknologierna som används i PWA:er kändes det därför naturligt att ämnet togs upp även på Nordic.js. Nu när också Apple äntligen sagt att Safari kommer få stöd för Service Workers är det dessutom mer aktuellt än någonsin.

Paul Kinlan med sitt tal The future of the web and the curious case of the unintended silo gick igenom lite om de funktioner som finns idag samt vad som saknas för att nativa appar i princip helt skulle kunna bytas ut mot PWA:er. Visserligen kommer en PWA alltid ligga steget efter men det glappet som finns blir mindre och mindre samtidigt som nya funktioner för webbplattformen introduceras i allt snabbare takt. Utöver att idéerna bakom PWA:er kommer göra webben snabbare generellt tror vi inte att det kommer dröja länge innan användarna lika gärna “laddar ner” en PWA som de installerar en nativ app idag.

För mer info om vad en Progressive Web App innefattar, så har google en sida som beskriver det.

4. CSS Grid

Rachel Andrew från CSS working group(!) var på plats och berättade om CSS Grid. Nu finns det på plats och hon förklarade hur det fungerar, varför det snarare är ett komplement än konkurrent till Flexbox och hur de har designat för bakåtkompatibilitet (ignorerar t ex float). Det var extra intressant att höra specifikationen berättat direkt från källan som tagit fram den. Rachel var också väldigt mån om att be om input och berättade att deras team värderar input från utvecklarcommunityn väldigt högt. Om du har idéer kring utvecklingen av CSS kan du gå in och bidra i deras öppna kanaler.

3. Kommunikation

För oss passionerade utvecklare är det lätt hänt att fastna helt i tekniska detaljer. Med teknikfloran som finns 2017 är det inte konstigt att vi behöver lägga en massa tid bara för att hålla oss någorlunda uppdaterade och lyckas välja ett ramverk som åtminstone är “inne” i någon månad. Vi tror att det är därför som föreläsningar inom “mjuka” värden ofta ger något av en aha-upplevelse och blir någonting som det pratas om efteråt. En sådan föreläsning under Nordic.js 2017 var Harriet Lawrence tal Sociolinguistics and the Javascript community: a love story – som pratade om hur vi kan bli mer inkluderande i vår kommunikation och då samtidigt få ut mer av alla nya i JS-communityt.

Talet inspirerade oss att tänka till en extra gång när vi skriver beskrivningar på Githubrepon och vi kommer försöka att ha med en sektion för felsökning och var man som användare kan hitta hjälp om man får problem. Talet uppmuntrade oss också att undvika att kalla instruktionssteg för “triviala” eller “enkla”. Vi ser inte att någon skulle tjäna på att höra att ett steg är “trivialt”, men vi har inga problem alls att se hur en junior utvecklare (eller senior för den delen) kan få sänkt självförtroende eller vill undvika att be om hjälp om de får problem med någonting som kallats “simpelt”.

2. Tillgänglighet

Ett annat tal som flera besökare kallade ögonöppnare var Léonie Watsons You’re only supposed to blow the bloody doors off!.

När testade du senast hur er site fungerar med en skärmläsare? Léonie förklarade på ett pedagogiskt sätt hur småsaker från ett utvecklarperspektiv, som att använda en button istället för en klickbar div, är avgörande för om sidan går att använda med en skärmläsare. Två nyckelpunkter var att använda så specifika/rättvisande HTML-element som möjligt och att tänka på användare som inte har mus (t ex tabordning). För oss som har hört tal på ämnet tidigare var det en välbehövlig påminnelse med några nya punkter och perspektiv. För åhörarna som aldrig har hört ämnet förut tror vi att det var en riktig ögonöppnare. Mycket bra ämne som tål att repeteras!

1. GraphQL

Det som det pratades absolut mest om mellan talen var GraphQL. GraphQL är Facebooks verktyg för att skapa API:er som kan ta emot querys. GraphQL släpptes publikt redan 2015 men har fått ett uppsving i intresse den senaste tiden. Idag är kommunikation via REST det som dominerar i javascriptvärlden och vi är många som använder det så pass mycket och i stor skala att vi ser brister med det.

Att kunna skriva queries mot sitt API ger flera fördelar. Några av dem:

Klienten kan hämta data från flera källor i ett request.
API:ets kontrakt blir inte lika statiskt och det är lätt att lägga till fler resurser/data utan att använda versioner
Svaret innehåller bara informationen som efterfrågas.
Om du följer Facebooks rekommenderade arbetssätt använder du samma domänmodeller i backendlagret, i GraphQL och i klientkoden vilket Facebook (så klart) säger ska fungera hur smidigt som helst.

Finns det några hinder att börja använda GraphQL redan nu? Vi är väldigt intresserade och vill gärna börja testa det. Det vi funderar på är om det faktiskt är så lätt att sätta upp API:et och typerna som det beskrevs av Facebooks utvecklare. En annan sak är Facebooks licensmodell som varit i blåsväder tidigare och hur våra kunder ställer sig till det. Här kan man läsa om diskussionen kring Reacts licens som är utformad på samma sätt.

Nordic.js har ett fokus på Javascript men konferensen innehåller så mycket mer man som webbutvecklare kan komma i kontakt med. Kanske är det till och med så att det är dessa ämnen man minns bäst och det pratas mycket med andra om. En konferens är ett bra sätt att upptäcka saker att hålla lite extra koll på. Och det blir ännu tydligare vilka dessa är om du lyssnar på snacket efteråt.

//Ted Meyer och Mattias Wallander

#Nordic.js

DevSum17

Att vara trainee på Dynabyte (traineeprogrammet vt 2017)