Web-kehityksen uudet tuulet

27.11.2019

Microsoftin kehittämä Blazor tarjoaa uutta kulmaa web-kehitykseen jo tovin alaa hallinneiden JavaScript-pohjaisten SPA-ratkaisujen rinnalle. Yksi Blazorin vahvuuksista ja myös välttämättömyys suosion saavuttamiselle on, ettei nykyisistä Angular, React tai Vue.js toteutuksista tarvitse luopua hyödyntääkseen Blazorin ominaisuuksia.

Mikä ihmeen Blazor?

Blazorista on tällä hetkellä olemassa kaksi eri arkkitehtuuriversiota, Blazor Server sekä Blazor WebAssembly. Blazor Serveriä tuetaan virallisesti ASP.NET Core 3.0:sta alkaen. Blazor Server tarvitsee nimensä mukaisesti palvelimen toimiakseen ja se käyttää SignalR:ia palvelimen ja selaimen väliseen kommunikointiin. Blazor WebAssembly on tätä kirjoittaessa preview-statuksella. Blazor WebAssembly -sovellukset toimivat puhtaasti selaimen päässä, jolloin taustalla oleva palvelin ei ole välttämätön, staattisten tiedostojen jakaminen riittää. Seuraavaksi lisää Blazor WebAssemblysta.

Blazor pohjautuu WebAssemblyyn (Wasm). Wasm on puolestaan tavukoodi-formaatti, jonka mukaista tavukoodia pystytään ajamaan moderneissa selaimissa sekä mobiililaitteissa. Selaimissa kyseistä tavukoodia ajetaan JavaScriptin tavoin JavaScript Runtime -ympäristössä. Koska kyseessä on valmiiksi ajettavaa tavukoodia, jota JS Runtime ymmärtää, sitä ei tarvitse ensin parsia tai kääntää. Tämä tarkoittaa suoritustehokkuutta suhteessa JavaScriptiin. Samalla Wasmille kuitenkin ovat tarjolla samat Web APIt kuin JavaScriptille. Wasmin ollessa tavukoodia, sitä pystytään tuottamaan JavaScriptin lisäksi myös monilla muilla kielillä. Microsoftin tarjoama vaihtoehto hyödyntää Wasmia perustuu C#:iin ja Blazoriin.

Jotta Blazor-sovelluksia pystytään ajamaan selaimessa, käännetään .NET Runtimesta versio Wasm-formaattiin. Käännetty .NET Runtimen versio puolestaan ymmärtää Blazor-sovelluksen sisältämiä Dynamic Link Library -tiedostoja, joka mahdollistaa C#-koodilla toteutetun sovelluksen ajamisen selaimessa. Koska käännetty .NET Runtime toimii JavaScript Runtime -ympäristössä, pystytään C# koodista tekemään kutsuja JavaScript-koodiin ja toisin päin!

Blazor sovelluksia on mahdollista kehittää Visual Studion lisäksi myös Visual Studio Codella tai jopa pelkällä CLI:llä.

Teknologiat

  • Ympäristö: ASP.NET Core
  • Kielet: C#
  • Kehitin: Visual Studio, Visual Studio Code

Ohjeita alkuun pääsemiseksi löytyy seuraavista osoitteista.

https://blazor.net

https://docs.microsoft.com/en-us/aspnet/core/blazor/get-started?view=aspnetcore-3.0&tabs=visual-studio


Liity uutislistallemme

Liity