• Publisert
  • 8 min

Overgangen til Blazor blir et paradigmeskifte

Bilde av Alexander Nilsson og Thomas Leela

Thomas Leela tror dette blir det største skiftet han har vært med på i sin karriere.

Høstsola skinner inn gjennom vinduene på hjemmekontorene og det er en klar og fin høstdag ute. Jeg møter Thomas Leela og Alexander Nilsson på Teams, for å snakke om hva Blazor er og hvordan det kommer til å påvirke oss. For påvirke oss vil det. 

- Det er kanskje litt vanskelig å forklare hva Blazor er, men jeg kan si litt om hva Blazor løser, begynner Thomas, ansvarlig for kodekvalitet og en av gründerne av Epinova.  

Ett språk for alle fagdisipliner

- I Epinova har vi i dag tre fagdisipliner. Vi har backendfrontend og JavaScript, som er midt imellom. Backenutviklerne sitter og programmerer i C#, og JavaScripterne sitter med ulike rammeverk som Vue, React og Angular. Med Blazor vil vi få ett språk for alle fagdisipliner, der alle jobber med C#. Det fjerner behovet for alle disse JavaScript-rammeverkene som vi ser kommer og går og som krever høy terskel for å komme i gang med, forteller Thomas.

– Men JavaScript og behovet for JavaScript-kompetanse blir ikke borte, skyter Alexander, fagansvarlig for JavaScript i Epinova, inn. Du kan fortsatt kalle på vanlig JavaScript i Blazor, men det blir kanskje litt større å bytte rammeverk i JavaScript. Den kompetansen man har som JavaScript-utvikler blir fortsatt fullt appliserbar, men det blir et teknologi-overlap samtidig som et fagskille utdyper Alexander. 

- Blazor er med andre ord ikke nødvendigvis en erstatning for de andre rammeverkene, legger Thomas til, men det kan være det. 

Noen må lære seg noe nytt 

På spørsmål om hvordan dette vil påvirke hvordan vi jobber med webutvikling, humrer Thomas litt og retter seg opp i stolen.  

– Det er godt spørsmål! Den kursen holder vi på å stake ut, men jeg tror det er noen som må lære seg noe nytt, konstaterer han.

– Jeg tror den største påvirkningen blir at du som enkeltperson kan gjøre en jobb som spenner litt bredere faglig, fortsetter Alexander. At du som backendutvikler ikke bare gjør et API, for så å overlevere det til en som jobber med frontend som videre gjør noe visuelt. 

Thomas nikker, mens Alexander fortsetter. - Du kan, som utvikler, bli mer selvstendig i jobbflyten. Du kan «ta det hele veien ut» ved at du får et produkt mye kjappere, vil jeg påstå.  

En konsekvens av Blazor, er at løsninger går over til .NET Core. Det er det neste store steget innen .NET og et ganske stort steg ved at vi får en plattformuavhengig løsning. 

Alexander Nilsson 

Mer tverrfaglig samarbeid

Alexander mener at en positiv effekt av å ta i bruk Blazor er at det blir mer tverrfaglig samarbeid. Utviklerne vil fremover jobbe mer sammen når det kommer til funksjonalitet, uten den klassiske overleveringen fra backend til frontend. 

Noe annet som vil telle positivt for arbeidsmåten til mange utviklere, spesielt til de som har jobbet i JavaScript og frontend er at de kan bli sittende på sin Mac å jobbe i det operativsystemet de ønsker, i stedet for at de kjører Windows i en virtuell maskin på Mac 

 - En konsekvens av Blazor er at løsninger går over til .NET Core som er et ganske stort skifte «evolusjonsmessig.» Det er det neste store steget innen .NET, som er et ganske stort steg å ta med alle konsekvenser og fordeler det har ved at man får en plattformsuavhengig løsning, sier Alexander 

Et paradigmeskifte og evolusjonsmessig stort skritt 

Når vi går over til denne teknologien så jobber vi ikke med webutvikling forklarer Thomas.   

- De løsningene vi lager nå kan kjøres på hva som helst. Du kan kjøre det på Linux, Windows, telefonen eller raspberry pi om du vil. Brukerne av løsningene, de trenger ikke oppsøke en nettleser i fremtiden. Nå har softwareutviklingen kommet så langt at vi kjører ganske hyppige oppdateringer, noen kjører også continues deploy. Det vi står foran nå det er et paradigmeskifte og et evolusjonsmessig stort skritt i riktig rettning. 

Jeg tror dette blir det største skiftet jeg har vært med på i min karriere.

Thomas Leela

Har sett det to ganger tidligere

Thomas har vært i gamet lenge og nærmest for en guru å regne. I hans karriere har han sett dette to ganger tidligere.  

- Jeg jobbet med noe som heter active server pages fra nittitallet og frem til 2002, da kom .NET framework og WebForms. Dette jobbet vi med frem til 2009, da gikk vi over til MVC som har jobbet med i drøyt 11 år! Nå står vi foran «the next big thing» og jeg tror dette blir det største skiftet jeg har vært med på i min karriere til nå, sier Thomas. 

Det raskest voksende rammeverket på GitHub 

- Det er også et veldig stort skritt for Microsoft ved å separere det sterke båndet mellom Microsoft og Windows. Microsoft har nå gått til å være mer enn bare et operativsystem. Det er evolusjon over hele linja når Microsoft begynner å separere ut i egne produkter så de ikke lenger er avhengig av hverandre. Det fører til at den plattformen du sitter på spiller mindre rolle. Det blir et frittstående produkt, forteller Alexander. 

Microsoft har lagt ut kildekoden på GitHub som open source. De har nå over 1,5 millioner aktive bidragsytere. Dette er en tydelig indikasjon på at det har blitt tatt godt imot. Målinger viser at Blazor er det prosjektet på GitHub som har høyest antall bidrag for tiden. 

Frontendbackend og JavaScript-rollene vil ikke bestå 

Et av aspektene med denne teknologien er at Episerver i ferd med å lage versjon 12 av sitt produkt. Plattformen blir da headless. De gjør et tydelig skille mellom leveranse av innhold og redaktørgrensesnittet.  

- Dette vil endre måten vi jobber med Episerver på, mener Thomas. Jeg tror noen vil få en rolle der de jobber med forretningslogikk og levering av innhold, mens andre jobber med brukerflater som benytter dette innholdet. 

-  Frontendbackend og JavaScript, rollene vil nok ikke bestå. Det må vi gjøre noe med, sier Thomas. - Jeg tror vi fremover kommer til å jobbe tettere og det blir et mer kryssdisiplinert fag. Vi vil rive ned gamle siloer. Vi kommer til å få en større forståelse for hverandres fag. Dette vil ta bort litt av risikoen behovet for spisskompetanse i prosjektene fører med seg.  

Frykten for noe nytt skaper friksjon

Det å innføre ny teknologi og et nytt rammeverk er aldri kun positivt. Hvilke utfordringer er det ved å innføre Blazor i prosjekter? 

- Det første jeg tenker på er «frykten for noe nytt», svarer Thomas spontant. Det skaper alltid friksjon. Det så vi når vi gikk fra fra WebForms til MVC og når vi innførte obligatorisk pull requests og code review i alle prosjekter hos oss.

Heldigvis forsvinner misnøyen når friksjonen slipper og folk tilegner seg ny kompetanse. De fleste i bransjen er teknologi-interesserte og noen kan være for raske med å omfavne "bleeding edge" teknologi. Derfor er det viktig å ha en balanse og finne riktig timing. 

Alexander smiler bekreftende. - Også er det litt av utfordringen med ny teknologi at man ikke har så mye «best practise» å gå etter. Vi kan ikke se til andre for hvordan de har gjort det for å løse visse utfordringer. Men på en annen side er det er også spennende. Det er mye nytt å lære seg. Ved å få nye erfaringer først vil vi også kunne være de som kan dele dem. 

Rapid application developement

The next big thing vekker et brennende engasjement hos både Thomas og Alexander for å ta et stort steg videre teknologimessig. Men hvordan vil dette påvirke kundene som skal kjøpe løsningene vi lager? 

- Det handler om time to market og RAD-ibility. RAD som står for Rapid application developement, altså graden av hurtighet til å bygge applikasjoner. Jeg tror vi kan jobbe mye raskere med dette økosystemet, med færre rammeverk og færre teknologier! Økosystemet blir konsistent, svarer Thomas og lar svaret henge litt. 

Stabilt rammeverk

På spørsmålet om det er utfordrende med denne nye teknologien er svaret ganske enkelt. C# har bevist seg å være stabilt gjennom mange år. Det er det Microsoft bygger dette på.  

- Vi har sett eksempler på det motsatte med andre rammeverk. Så vidt jeg husker hadde vi feks. overgangen til Angular2 i 2016, som skapte masse trøbbel i mange løsninger over hele verden, henviser Thomas til. 

- For oss som er .NET og C#-heavy betyr dette at vi får brukt kompetansen til å jobbe litt bredere. Vi får muligheten til å applisere den kunnskapen vi har til et større spekter av webutvikling, sier Alexander. - Jeg tror ikke på det å kalle seg en fullstack-utvikler, men med Blazor vi kommer nærmere betydningen av det ved at man nå blir mer funksjonell. Det blir litt sånn «unlock new features» med den kompetansen og erfaringen du allerede har.

En traktor eller et kjøleskap kan kjøre Blazor

Når det kommer til drømmeprosjekter der de kan utnytte offline støtte og Progressive Web Apps på en commerce site, svarer Thomas: Det å komme bort fra den tradisjonelle nettleseren vil bli det største.

Blazor er et verktøy for å jobbe online mer enn web. En TV, traktor, mobilen eller kjøleskapet kan kjøre Blazor. Vi har mange kunder som er mer enn bare web. Det er grenseløst hva vi kan bruke det til i dag. Det vi sitter og jobber med daglig får et større bruksområde enn bare en nettside. 

Vil åpne dører

Mye av dette finnes allerede. Det største skiftet for oss som allerede har mye av denne kompetansen er at teknologien blir mer global og fri til å brukes overalt. Det vil åpne dører som vi tradisjonelt ikke kunnet åpnet så lett. Vi sitter på mye morsom teknologikompetanse. Det handler bare om å applisere teknologien på noe annet enn en tradisjonell nettside. 

Med Blazor Webassembly og proggressive web app, foregår mye av de tunge løftene på mobilen og belaster ikke server så mye. Det betyr to ting. Bedre og raskere brukeropplevelse på mobil, og mindre stress på server.

Thomas Leela 

- Et eksempel på dette er en kunde vi jobber med i dag. Der lager vi en tradisjonell nettløsning. Vi har også innleid ekspertise til å lage en native app. Slik ekstern ekspertise vil vi få mindre behov for med denne nye teknologien, siden den gjør det mulig å kjøre vår web app som en applikasjon på mobil.

For kunden sin del, med Blazor Webassembly og proggressive web app, foregår mye av de tunge løftene på mobilen og belaster ikke server så mye. Det betyr to ting. Bedre og raskere brukeropplevelse på mobilen, og mindre stress på server, forteller Thomas. Da kan man håndtere flere kunder og større last på den samme serveren – raskere for brukeren og billigere for kunden å hoste.

Les også