22. Likheten mellan webbutveckling och trafikregler
Med utgångspunkt i en diskussion Anton haft hos poddkollegorna i Kodsnack så pratar vi om vi tycker att webbutveckling har blivit för komplicerat. Är det lättare att komma igång idag eller ser vi tillbaka på tiden där en skrev HTML-sidor helt för hand med ett rosa skimmer? Dessutom en hel del om saker man förstår att man inte förstår, att Therése tillhör en egen kategori av utvecklare och att CSS för mail-klienter inte är superhärligt.
Om du gillar podden blir vi väldigt glada för en liten recension i iTunes eller en prenumeration på Spotify. Följ oss och säg hej på @asdfpodden på Instagram eller Twitter (Anton, Therése) <3
Länkar
Avsnittets skämt:
Varför kom 100-meterslöparen aldrig i mål?
För kort sprint.
Skrapa här!!
Transkribering
Transkriberingen är gjord av nån "AI-grej". Du kan förbättra den genom
att klicka precis här :)
Varför kom hundrameterslöparen aldrig i mål?
Jag vet inte.
För kort sprint.
Åh.
Okej.
Välkomna till ett nytt avsnitt av vår STF. Jag kan bara gå vidare.
Vad är det för fel på den? Jag försökte bredda mig lite.
Ja, men det var bra.
Det var bra, men du har haft bättre också.
- Ja, det var bra. Idag tänkte du väl...
Så här, jag gästade ett kodsnack-avsnitt, alltså podden Kod och snack, för ett tag sedan.
Jag vet inte när det här avsnittet kommer ut, så har det inte kommit ut...
Har det kommit ut så ligger det en länk i beskrivningen, men annars så kommer det väl senare.
- Bra snack! - Tack!
Där pratade vi lite om att, eller frågeställningen var typ "Är webbutveckling för komplicerat idag?"
Och det var superintressant, så gå och lyssna på det så får ni höra mycket mer vad jag tycker.
Men jag blev också väldigt nyfiken på att veta vad du tycker.
- Ehh, okej. - Ja eller nej?
Ja eller nej, jag vet inte. Jag vet inte om jag tycker det finns ett så enkelt svar.
Nej, det var väl väldigt mycket det vi pratade om då också så att säga.
Men, okej så här, utgångspunkten då att komma igång med webbutveckling till exempel.
Alltså om du skulle börja webbutvecklas som ny lärare i webbutveckling idag.
Tror du att det är svårare eller enklare än tidigare?
Jag tror på något sätt att det kanske ändå är enklare.
Jag vet inte om det är enklare teknikmässigt, men jag skulle kanske säga att det är enklare bara ur ett socialt perspektiv.
Vilka kan koda? Hur identifieras det folk som kan koda på webben eller göra ett webbprojekt?
Och vad finns det för hjälp att få?
Så teknikmässigt svårt att svara på. Jag vet inte hur svårt det var att komma igång med det förr.
Jag tänker mig att om man bara gjorde en HTML-sida så kanske inte det var så himla svårt.
Jag tror också att jag och min pappa gjorde någon jättekonstig bloggsida med JavaScript-pop-upper när jag var väldigt liten och vi fick vår första dator.
Så det var antagligen inte så svårt.
Men jag tror den känslan av "vem får göra det?" på något sätt, kanske är väldigt annorlunda idag.
Ja, men precis. Det känns ju kanske som att den här nördstämpeln har försvunnit lite grann.
Alltså att det var väldigt mycket nördar, i positiv bemärkelse såklart.
Men liksom att det var typ,
alltså om vi tittar väldigt långt tillbaka, då var det typ Geocities-sidor
när folk skapade sidor på Geocities och sen så kunde man skriva lite html och styla dem och lägga upp vad man ville liksom.
Och sen att det gick till lite mer att,
När jag började skapa hemsidor var det för att jag ville bygga en klan-hemsida till mitt CS-gäng som spelade med.
För att vi hade ett lag där vi skulle spela.
Och där började mitt. Då var det sådant här, skriv HTML-manuellt.
Kopiera HTML-filen så att du hade flera sidor och länka till dem manuellt.
Och sen så drag-and-droppade man det här över någon FTP till någons webbhotell.
Det känns som att man var tvungen att veta mer hur saker fungerade för att komma igång med det på något sätt.
Som du säger själv, FTP över, du behöver ha en FTP-klient och så måste du ha för att filesilla och allt det var.
Sen är du på ett webbhotell, hur funkar ett webbhotell och vilka delar finns det?
Är det något konstigt gränssnitt?
Nu så tänker jag att det bara går att smälla upp en HTML-sida och följa en tutorial på hur du deployar ut den på någonstans.
Någonstans kanske via en gratistjänst som Netlify eller de här andra som finns där du bara får en url.
Ja men precis, det är många som argumenterar för att det är för komplicerat.
Det brukar ju dra så här "men förut kunde du bara drag-n-droppa en HTML-fil av FTP och så var det klart".
Men då har man ju missat att det kan man göra nästan enklare idag.
Till exempel Netlify som du nämnde har ju också drag-n-drop.
Du kan drag-n-droppa en ZIP-fil till deras hemsida och så är den uppladdad.
Så länge du har en index.html i den typ.
Och det är ju enklare, för då har du helt plötsligt tagit bort kravet på en FTP också.
Ja, precis. Du kan ju till och med bara dra upp via GitHub.
Du kör lite GitHub branches eller I/O.
Ja, precis. Deras GitHub pages eller vad nu lösningen kallas.
Ja, precis. Då har du helt plötsligt en ull som du kan gå till för att få upp ditt content på.
Det enda du egentligen behövde var versionshantera antagligen för en tutorial på att du måste ha ett repository name som är korrekt och sen en main branch.
Ja, men exakt. Jag tycker att just det argumentet att det var enklare att deploya företagen, det tycker jag inte håller.
Men jag tror också att skillnaden som många inte tänker på är att det vi bygger idag jämfört med förut
är inte riktigt samma komplexitetsnivå.
Jämför mina laghemsidor för CS-lag till när man sitter idag och bygger det här avancerade rita-gissa-spelet,
multiplayer-spel som jag har byggt.
I det perspektivet så hade jag gjort det där rita-gissa-spelet genom att manuellt klippa och klistra
med lite HTML-filer och skrivit allting manuellt.
Det hade ju varit en mardröm.
Ja, och det är väl det här som gör att det inte går att svara på
är det är för komplext eller inte.
För just det som vi var inne på,
för jag vet att jag var sjuk någon gång
och bestämde mig för att göra en hemsida i ren HTML-CSS
och den var ju uppe på en dag.
Jag har noterat att den inte var mobilvänlig och sådana saker.
Men det var ju, som du säger,
om vi är kvar på den nivån
så är det ju inte mer komplext.
Det är väl att hela webben har sprängt och blivit superinnovativ
och med det kommer komplexiteten och allting som man förstår att man inte förstår.
Ja, precis. För det där är ju en viktig del.
Alltså när du säger saker man förstår att man inte förstår.
Ett exempel på det jag tänker är typ "create React-app"
som gör det väldigt enkelt att skapa en React-app med väldigt mycket funktionalitet
Hot reload och fast refresh och allt vad det heter nu för tiden.
Och att du kan importera alla filtyper direkt i koden och allt sånt.
Men tror du att det är en positiv grej?
Eller tror du att vi behöver mer förståelse för att
vad händer under huvudet på CreateRackApp?
Jag har verkligen varit en sån som tycker att
vi måste förstå vad som händer.
Om vi ska bygga någonting så måste vi förstå vad som händer.
Sen har jag ju också förstått att det inte riktigt funkar så länge.
För att jag har ganska många som är så här "man gör bara en Create React-app"
"Okej, hur importerar vi stylen då?"
"Man kör bara en import"
Jag kommer ihåg att jag hade en diskussion där jag var nästan lite upprörd.
Jag ba "men hur? Hur går det till?"
"Det bara funkar"
Jag ba "men hur?"
"Det är bara att man inte ska bry sig så mycket så går det bättre"
Alltså det fick mig liksom nästan att bryta ihop lite.
men vad håller vi på med? Är det verkligen så?
Jag förstår att det är absolut det där vi bör vara när vi börjar.
För i början kanske du får lite momentum, du är ny på utveckling, du är ny på att bygga projekt, du kanske har praktik, vad som helst.
Då vill du ju komma någon vart.
Det är inte kul att sitta i någon typ av webbpack-hål och inte förstå vad som händer, utan du vill ju se att någonting kommer upp på en sida.
Men om vi går i den här riktningen och folk väljer att inte riktigt förstå vad som finns under huven, vilket jag inte tror för vi är många, men jag menar att vi går åt det hållet.
Vad händer då när stora projekt hamnar i problem som kräver kunskap kring uppsättningar, hur vi bygger ut saker och sådana grejer.
Det är lite intressant att tänka på, speciellt nu för att jag lärde mig ganska nyligen vad Cracko är.
Så att du ska kunna lägga på extra komponer på din Create React-app.
Så att du ska slippa ejekta allting i Create React-appen egentligen.
Så att då kör du via Cracko så att du kan lägga på extra komponer och moduler.
Jag tycker det är väldigt spännande.
Jag tror att jag har landat i att jag liknar Create React App
plus till exempel VS Code
med funktionaliteten man får från ett IDE.
När man sitter med .NET-utveckling så kör du Visual Studio.
Den sköter allt som har med MS Build att göra
och det finns en massa configs i bakgrunden som man kan ändra hur man vill
men kanske inte gör.
Jag har ingen aning om hur den funkar
Jag har suttit med dotternetutveckling ett antal år ändå.
Men då tänker jag att Create React App plus VS Code blir typ ett IDE.
Du har VS Code som är editorn, men sen har du Create React App som ger all den här funktionaliteten runt omkring.
För att bygga, köra, testa och utveckla saker.
Och då tänker jag att det är inte så konstigt att man inte gräver sig ner där.
Sen är det ju absolut som du säger att man skulle kunna hamna i ett läge
där man "oj, nu måste vi göra någonting som inte är anpassat efter de här 95 procenten som Creator Act app passar för"
och att då hamnar man utanför och då behöver man kanske kunskap.
Men då är jag också så här, är det inte då man ska lära sig det?
Alltså när man väl springer på det problemet, är det inte då man ska ta tag i det?
Istället för att försöka förstå innan, när man kanske inte har problemet, att man behöver göra det?
Jo, kanske. Men på något sätt blir det också, men om man också lämnar hela scenariot Create React App och sådana saker, om man snarare går in på varför du bygger saker på ett visst sätt, eller varför du bör tänka till i dina mönster, eller hur du använder saker, ta som använder React och hur du använder dina hooks och dina ljuseffekter.
Där sitter jag alltid i någon typ av konstant huvudbry för att i teorin så känns det mycket lättare än när jag väl sitter där och ska implementera någonting.
Ibland går det att stöta på konversationer där någon är så här "Det är bara att göra så här. Funkar det så funkar det och funkar det inte så stoppar jag in lite fler variabler tills det funkar."
Och det är ju också så, de kommer antagligen längre än vad jag gör.
För att jag sitter bara fast i typ, hur gör jag det här optimalt?
Och sen så kan jag inte göra det optimalt så ger jag upp, liksom.
Men jag tror ändå, det beror ju på vad man vill bli.
Alltså det är så mycket röra i mitt huvud nu.
Men på ett sätt blir det som att man har de som verkligen vill vara,
innovera och ligga i framkant och hela tiden pusha gränserna.
Och sen så har man dem tänker jag som bara vill gå in,
jobba med det vi har att jobba med nu, göra ett bra jobb med de byggstenarna som finns
och sen så invänta tills det kommer nya byggstenar som är lämpade att använda och som alla använder.
Och för liksom dem som bara vill gå in och bygga med det vi har,
de behöver verkligen inte veta allting, tänker jag.
Det är helt fin. Det går att bygga strålande saker utan det.
Men det är inte innovativt.
Och de som vill vara superinnovativa, de behöver nog veta mer.
- Ja, men det tror jag är det. Nu sätter något huvudet på spiken, eller vad man nu säger.
Att, ja men verkligen, för att kunna komma på någonting nytt, som är innovativt,
då behöver du nog ha mer grundläggande kunskap
än vad du kanske får om du bara slänger ihop lite olika paket.
Mm.
Men skulle du säga,
kategorisera du själv då i den, du vill innovera?
Nej.
Nej, men du vill ändå förstå?
Men jag vill ändå förstå.
Du är den tredje ensamgrupp på sidan.
[Skratt]
Den här fosterställningsgruppen kommer inte, kommer någonstans.
Exakt.
Nej men jag tror på något sätt lite att jag har börjat släppa på det här att jag vill förstå,
för att jag förstår inte.
Nej.
[Skratt]
Så där vill jag en sån som du säger att om jag försöker göra någonting som inte är gjort förut då får jag väl gräva lite i det då.
Men annars så försöker jag väl bara skapa värde med det som jag har att jobba med för tillfället.
Precis, och sen det finns ju såklart kritik och ge tycker jag också mot hela, om man tar webben som exempel, till exempel med alla NBN-paket.
Det tycker jag är en ganska valid kritik mot till exempel Create React App.
Att köra Create React App så får du in en, nu höfter jag verkligen sig fram i sig,
40 000 npm-paket. Där förmodligen inte, men något i den stilen.
Och det i sig är ju ändå, man kan ju känna att någonting är lite skevt där.
Att hela den här grejen beror på så här många paket som någon har publicerat
bara för att vara snäll.
Ja, det är också kul för det har ju bubblat upp vilka problem som finns med hela det universet och vi fortsätter ändå köra på.
Ja, ett av de kändaste exemplen är väl Leftpad som någon avpublicerade.
Det var något paket som berodde på Leftpad och det var något paket som berodde på det paketet.
En lång, lång kedja upp till alla kända paket i stort sett.
Ja, och sen så blev det hela så här, det kan vi inte ens koda längre, det kan vi inte göra en egen vänster padding, vad är problemet?
Nej, men exakt. Så att, ja jag tycker det är ju speciellt. Sen tror jag att jag läste ganska bra argument varför man skulle göra det där.
För att det där leftpad-paketet tror jag var typ att, du, ja men alltså funktionaliteten var ju typ att lägg till whitespace framför någon text.
Men då var det lite browser-grejer, specifikt för vissa browsers som man var tvungen att göra på något sätt.
Vissa browsers stödde det redan.
Sen tror jag det fanns inbyggt i någon browser i någon Canary-version.
Och då tror jag paketet var tomt.
Det lagde inte på någon i bundle.
Och på så sätt kan det vara vettigt, för då kommer paketet eventuellt vara obsolit.
Och då kan man bara ta bort paketet.
Ja, om det funkar.
Jo, det är en brasklapp man ska lägga in där ändå.
Jag tänker också på just de här säkerhetsproblemen som man har pratat med kring MPM.
Den här publicerade artikeln om hur någon tar över MPM-paket och så publicerar man skarlig kod.
Teoretisk bloggpost men ändå ett väldigt tydligt exempel på hur det skulle kunna gå illa.
Senast har vi också det här med att det verkar som att man hämtar externa NPM-paket först.
Ja, precis. Jag läste också om det i den posten.
Så om man då hittar företag som använder interna NPM-paket och hittar namnen för dem
så kan man då publicera ett externt rådant med skadlig kod i, till exempel.
Ja, precis. Jag tror till och med att det inte ens var bara NPM som hade problemet.
Jag tror att Pythons hanterare hade det.
Ja, alla var väl där.
Det var ett gäng som inte hade tänkt på det här, vilket känns som en "så här är efterhand".
Så jävla självklart.
Men där och då var det ingen som tänkte på det.
Nej, och det tycker jag är ändå lite intressant.
För på något sätt känns ju allting helt plötsligt så fragilt.
För att det är på något sätt som trafikregler.
Ja, exakt.
Så länge vi alla följer reglerna och även de som är underförstådda att man gör så är allting fin.
Men om någon kör mot rött, då kan vi få jättemycket problem helt plötsligt.
Ja, jag håller med. Det är väldigt spännande just nu med de där sakerna.
Till exempel trafikreglerna. Vi har bara kommit överens om att det är så här det är.
Och då funkar det. Men kommer det någon som känner att "Varför ska det vara så här för?"
Då kan det bli kaos.
Gone rogue.
Exakt.
Ja, jag tycker det är väldigt spännande. Men som sagt, jag tycker ändå att
gått bara lite ursprungligt ämnet så tror jag ändå att för min del tycker jag att webbetvecklingen går väldigt mycket åt rätt håll.
Alltså så här, jag skriver ju mycket hellre kod idag, även om det är lite mer komplext än för 15 år sedan.
När det liksom kanske var mindre komplext, men det var ju svårare att göra liksom avancerade saker då.
Ja, men på något sätt hade nog mitt ego ändå velat vara en utvecklare förr.
För tänk dig lite som det här med vetenskapen. Hur mycket bredare tratten blev.
Det fanns en tid i historien då du skulle kunna kunna allt.
Ja.
Naturligtvis inte allt, men du skulle kunna vara en jävla expert.
Man har liksom lärt sig HTML1-specifikationen utantill.
Ja, precis. Du kan göra ett table bara rakt av på alla ställen som inspelar webben.
Det är din specialitet.
Ja, men det är en skärm ändå.
Jag längtar tillbaka till det.
Men samtidigt hade jag velat sitta där och skriva gammal javaskript
när man var tvungen att göra allting manuellt.
Det fanns inga utilitetsfunktioner som man har idag.
Nej, jag vet inte.
Jag tror att det väger ändå över att sitta med modern javaskript idag
än att vara ett jävla proffs då.
Jag kan resa av skript. Jag tänker att jag skulle nog ändå kunna ha funnit glädje i att sitta och skriva logik.
Men jag inser också att det hade varit ett mycket torrare liv.
Ja, men det känns ju också som att det är så svårt att sätta sig in i den här situationen.
Man har ju vant sig med att det är det här vi har.
Och det finns ju massa saker som är på väg som är mycket bättre.
Och man kommer förmodligen att vänja sig med dem när de kommer.
Jag såg till exempel att det heter container queries tror jag i CSS.
Som är någon sån här working draft, eller vad typ färdigt att det ska komma nu.
Och det är ju typ media queries, fast du kan göra det på föräldern istället.
Så du kan säga att istället för att basera det på hela skärmens storlek,
eller hela fönstrets storlek, så kan du basera saker på förälderns storlek.
- Han pratar inte honom om det på snacket. - På Norgea-snacket?
Rachel Adams? - Macadam.
- Andrews kanske? Skitsamma.
Nej, men det är mycket möjligt. Men det är i alla fall på G nu.
- Det är spännande. - Och det tror jag kommer att vara jävligt stort när det kommer.
För det kommer ta bort jävligt mycket krav på. Just nu är det javskräpplösningar, allt.
Där det behöver bero på storleken på föräldern.
Och nu kommer helt enkelt CSS, med en bättre lösning skulle jag vilja påstå.
Ja, men det där är också kul.
Och nu är jag nästan inne på ett brandtal för CSS igen.
Men det är kul för att där har man inte alltid hängt med.
För förut var det mycket jQuery som behövdes för allt för att göra bra lösningar.
Du behöver JavaScript för att kunna göra det.
Men som sagt, CSS har ju rullat på i en hastighet som jag tror många har missat.
så är det väldigt många problem som vi har där på ett mycket bättre sätt.
Ja, men verkligen. Jag gillar ju verkligen CSS idag.
Flex och Grid och allt som finns däremellan är ju riktigt bra.
Jag är egentligen glad för allting som CSS löser är ju ofta bättre än vad man kan göra i avskript.
För att det blir lite mer...
Alltså CSS är så oerhört deklarativt i sin natur.
Och sådana lösningar tycker jag ofta är snyggare och bättre än vad det blir när man gör det i JavaScript.
Så varje grej man kan flytta från JavaScript till CSS är jag ganska nöjd för ändå.
Ja, där kan man ju fundera på om det hade varit roligare förr.
Och om man funderar på det kan man ju alltid försöka styla ett e-mail.
Ja.
Det är sådär, alltså. Floats är inte kul.
Nej, det är typ floats och tabeller. Jag kommer ihåg att jag gjorde en mail när jag pluggade för fyra år sedan.
Och satt hur länge som helst. Jag hade någon nyhetsbrev som jag skickade ut.
Och varje gång jag skickade ut det så upptäckte jag något nytt fel.
Det såg ju bra ut förra gången. Och så hade man skrivit lite mer text den här gången.
texten och då pajade allt.
Jag kommer ihåg det var någon kollega som körde
mera content ansvarig, så bara "kan inte du
hjälpa mig att styla det här mailet, det är inte så mycket".
Jag bara "okej" och så skrev det in "trustpilotstjärnor"
och de skulle lägga sig alignade rätt.
Jag tror vi satt typ två dagar.
Det är en fråga du säger "ja, gärna på" en gång och aldrig mer.
Jag tror till och med att chefen kom förbi och bara "försökte du använda Flex?"
Och så gick det.
Ja, det är ändå härligt stöd man får.
Ja, även sånt här tycker jag också är spännande, att mail inte har kommit längre.
För det känns verkligen som att det har faststannat litegrann.
Ja, men är mail så kul liksom?
Nej, det är det väl inte. Men jag tycker, ja, jag vet inte, visst det finns säkert lite säkerhetsrisker i att vad som ska finnas i mail och sånt.
Men just hos M eller CSS borde det bara funka tycker jag.
Ja, man tycker i alla fall att de borde kunna hantera lite nyare späckar.
Ja, exakt. Sen är väl problemet att det är ännu mer segmenterat än vad webbläsare är med mailläsare.
Borde inte de också bara standardisera sig lite?
Alla kanske ha Chromium också, som alla webbläsare gör nu för tiden.
Ja, det kan vi inte ha tid senare.
Ja, om det är för det bra eller dåliga.
Att ett företag är världsäkrare är väl det?
Lite så, ja. Det kan vi lämna sitt annat efter.
Men jag tycker det är jävligt intressant ändå,
att just hur komplexiteten har skiftats oerhört mycket från att
det jag tror var komplext förut var att bygga stora hemsidor förut
måste vara extremt komplext.
Man satt i Frontpage, till exempel.
Det var ett program där man kunde drag-n-droppa HTML.
Förvirrande.
Och sen genererade den upp en massa
HTML-filer åt den där länkarna var rätt och grejer.
Men då tänker jag att så fort man byggde en sida som var lite större än bara
två sidor, två, tre HTML-sidor,
så måste det bli extremt svårt.
och underhålla.
Medan nu tror jag att bygga en sådan sida med två, tre sidor,
det gör man ju lika lätt som att bygga en sida med en sida.
I stort sett.
Sen tror jag nu komplexiteten kommer mer från interaktioner
och hur saker ska hänga ihop och återanvändningen.
Vi har ju skiftat komplexiteten från att vara väldigt tidigt
när sidorn växer, till att kanske nu vara mycket senare i stegen.
Sen kanske visst, jag tror att ett argument som många drar är att
behöver vi React för en sida som bara är en laddnings-sida?
Nej.
Och svaret är väl oftast nej.
Helt enkelt. För att det krävs ingen interaktivitet, det krävs ingenting sånt.
Utan då kan man bygga en HTML-sida eller köra något annat som genererar upp
den här HTML-sidan åt den.
Men för min del, jag har säkert byggt några laddningsgider i React.
Och då är det för att det är det jag kan.
Det är en extra tröskel att kliva till något som svält eller
något i den stilen som kanske är lite mer anpassat för att bygga laddningsgider.
För där kan du skita i all javaskrift och så får du bara html ut.
Men det är fortfarande en tröskel för mig att jag kan React, jag vet hur man gör det.
Jag kan köra Create React väldigt snabbt och så kan jag köra upp den sidan.
Jämfört med att nu ska jag också lära mig svält och så tag i det.
Sen kanske man borde utvidga sin kunskap så att man har de här olika verktygen i sin låda för att kunna göra de olika sidorna.
Ja, det kanske man borde.
Men det är också väldigt lätt att bara "React, det funkar!"
Ja, men det är ju lite intressant för att jag har väl byggt några sidor i ren HTML.
Det funkar ju svinbra.
Tills det behövs lite JavaScript.
För det här med vanilla JavaScript, det är så jävla snackigt.
Ja, och då är det ändå tio gånger bättre än för femton år sedan.
Ja, men det är så jävla... Där kan man verkligen säga att den här deklarativa approachen är ganska skön.
För att Nilla, det är verkligen så här, allt du vill göra, det måste du explicit göra.
Och det är ju, hamnar man där så börjar man helt plötsligt känna igen,
så här, ah just det, det fanns en anledning till att vi la på en massa bibliotekoramerk,
för det här är ju inte så nice.
Nej, exakt. Det är också en oerhört intressant grej, att den skiftet har skett
från imperativ till deklarativ programmering, så oerhört starkt.
Det är väldigt få som bara säger att imperativ programmering är bättre.
Jag tänker att det finns en kreativ programmeringsklick av människor
som fortfarande hänger kvar väldigt mycket i det imperativa.
Alltså folk som bygger saker med 3G, eller liknande bibliotek
för att göra mer kreativa saker än hemsidor.
Och där känns det som att majoriteten fortfarande är imperativt,
även om det kommer lite initiativ för att ta det till deklarativt också.
- Ja, men det är ju kanske inte så konstigt, för att jag menar alltså,
just främst den här superdeklarativa grejen, det tänker jag är så mycket för att
vi pratar ju väldigt mycket om hemsidor och blogg nu,
men bara att vi börjar prata om en sån sak som
vad bygger vi faktiskt för typ av system nu som webbtjänster?
För att, jag menar, vi bygger nästan alla system nu,
som webbtjänster i JavaScript känns som.
Inte alla system, jag förstår.
Men sådana system som jag ändå tänker att man kanske satt och drog upp i gamla JSP,
Java gränssnitts Swift-grejer för, och jag vet inte vad som finns i .NET och sådana saker.
Lite mera interna system som bara är super, super komplexa och som egentligen bara innefattar interaktion.
Vilket skapar jättemycket stateförändringar och jättemycket buggar om du inte håller rätt koll på det.
Det bygger vi också i JavaScript nu.
Ja, verkligen.
Det hade vi aldrig gjort förr.
Nej, det är bara att titta på Google Docs eller Google Sheets.
Där har du en Excel-utmanare i webben.
Och Excel finns väl också i Sharepoint nu, antar jag.
Men det skiftet har också krävt att verktygen måste utvecklas.
Och bli något mer än vad det var förut.
Ja, och så många interna CRM-system och sådana grejer som...
De var ju lite mer gråboxiga förut, tänker jag mig.
Lite mer Windows 95, kanske.
Väldigt mycket gråboxer.
Den typen av system, sådana interna, jag kan tänka mig tidrapporteringssystem också,
det är ju ett herke egentligen.
Det är oftast alltid bara massa interaktion samtidigt i olika delar som påverkar andra delar av systemet.
Skulle man ha en ren imperativ approach där, det går liksom inte.
Jag har ändå suttit dit i sådant system där vi körde jQuery och vi hade ju buggar som det tog alldeles slut.
Jag tror att en av de största fördelarna som jag tycker är att det är ganska mycket enklare att resonera kring.
Det har blivit en jävla klysche att säga att man ska resonera kring kod nu.
Men just deklarativ programmering tycker jag är enklare att prata om och se konsekvenser av det man gör.
jämfört med imperativ programmering där det är väldigt mycket så här
okej du måste läsa igenom hela flödet och förstå vad som händer och allting
medan det är det här komponenten då kommer det ändras på alla ställen när den används
det är väldigt lätt att hitta alla ställen när den används
det är väldigt enkelt att hålla koll på state och allting sånt
medan det imperativa är det mycket svårare tycker jag att
hänga med på vad som händer så fort det blir lite komplexitet.
Ja, herregud, det går ju verkligen inte.
-pillar här borta så händer någonting där borta.
Jag är lite skärrad.
- Du är traumatiserad.
Det kanske är bra, det kanske är det som krävs egentligen för alla som klagar på webben idag.
De kanske ska sätta sig och bygga ett projekt med jQuery, no offense mot jQuery,
men bygg något med vanilja-javaskript och försök göra en komplex grej i det.
Det behöver inte ens vara så komplext. Lite interaktion och lite uppvisning av data så kommer det att vara jobbigt.
Ja exakt, och då tror jag att jämför man det med Svelte, Vue, React, Angular, glömmer alltid Angular, så tror jag ändå att man skulle föredra något ramverk varje gång.
Jag tror också det. Det här känns lite som när man är så här "Barn idag de förstår inte hur det var utan mobilen".
Ja, men exakt.
Men här känns det ju liksom sådana gubbar, fribara gubbar i Sverige,
som sitter och säger att det var bättre förr.
Det var potentiellt långsammare förr, lite lugnare förr.
Ja, exakt.
Sen kan man ju tycka, jag såg någon artikel som
väldigt mycket klagade på det här med ramverk och vad man skulle lära sig
Jag tror att det tempot i sig, att vi har ett tempo i communityt som är att du måste lära dig nya saker hela tiden.
Eller att det är stämningen som är.
Och den kritiken kan jag verkligen hålla med om, för den känner nog alla av.
Men sen tror jag inte att den stämmer.
Jag tror att du kan vara webbetvecklare idag och bara lära dig saker på jobbet, utan problem.
Det här har vi ju pratat om, den här enorma massan som inte är på Twitter eller skriver bloggposter och som bara går till jobbet och liksom
chillar lite mer och gör sin grej. Alltså kanske de som inte innoverar i samma utsträckning utan lite mera bygger stabila saker.
Ja exakt. Och den massan är ju i stor majoritet, ska det sägas. Så det tror jag är jävligt viktigt att komma ihåg när man hör sådana här kritiker också.
kritik också för det är lätt att man, även jag, känner att det är ganska sant ändå, det är jävla hetsigt.
Men det är ju den här klicken, människor som vi såklart också ingår i nu, men vi kanske försöker motverka lite,
att den publika klicken av folk som pratar öppet om utveckling.
Sen ska jag också säga att den här klicken, och de som är engagerade, är de som driver tekniken framåt
och tacka lov för att vi har dem.
Men det är, allt behövs.
Och de som brinner för att innovera,
jag är så jävla glad för att de gör det,
för att jag hade inte orkat det.
Men den här stressen är ju verkligen inte riktigt hälsosam.
Och det skulle jag verkligen vilja
komma bort lite från det yrket.
För att det är, jag tror det var någon som sa en gång att,
eller jag läste någon typ av tweet,
"What's your dream job? I don't dream about labor."
Vilket är sant på något sätt. För du är klart du får älska koda och brinna för det.
Men jag tror vi också ska komma ihåg hur många som är det till jobb.
Det finns faktiskt annat att lägga tid på i livet än att alltid koda.
Ja, gud det.
Det tycker jag låter som en utmaning att avsluta på.
Jag vet inte hur vi hamnar här, men låt oss avsluta.
Innan jag ska gå och kåta lite.
Jag ska hem och äta, tror jag.
Men om ni har några åsikter så får ni jättegärna som vanligt höra av er.
Vi finns på Twitter, länkarna ligger i beskrivningen.
Skriv jättegärna er cell på iTunes.
Och med det så säger vi...
Hej då!
Bye bye!
[Musik spelas]
[Musik spelas]
Hej då!