Microsoft's Blazor: belangrijkste functies voor interactieve webontwikkeling in .NET

Microsoft's Blazor: belangrijkste functies voor interactieve webontwikkeling in .NET

Microsoft biedt een tool voor het ontwikkelen van native Android- en iOS-applicaties in programmeertalen zoals .NET of C #.

Microsoft Technology Associate heeft tot doel dot net-ontwikkelaars in staat te stellen het potentieel van de nieuwste Blazor-toolkit te gebruiken voor het maken van webapplicaties of native iOS / Android-applicaties. Microsoft had een experimenteel 'Blazor-gebouw' voor Blazor aangekondigd, een functie van het ASP.NET-platform waarmee ontwikkelaars interactieve webtoepassingen en gebruikersinterface kunnen maken met behulp van C # in plaats van JavaScript. Door deze binding van de componenten kunnen ze native mobiele applicaties maken met behulp van .NET of C # voor Android of iOS met behulp van vertrouwde webprogrammering.

In het jaar 2019 had Microsoft een oplossing laten zien met dezelfde technologie waarin het een desktop Flutter-app ontwikkelde, bedoeld voor mobiel en geschreven in dart, maar in plaats daarvan met behulp van Blazor en .NET. Microsoft Blazor is een experimenteel webgebruikersinterfacekader van ASP.NET dat tot doel heeft toepassingen via WebAssembly in alle browsers te brengen. Hiermee kunnen ontwikkelaars echte full-stack-applicaties maken en code delen tussen clients en servers zonder dat er plug-ins of transpilatie nodig zijn. Microsoft experimenteert met het platform om tegemoet te komen aan de eisen van ontwikkelaars die bekend zijn met de basisprincipes van webprogrammering en patronen voor het maken van native applicaties. In dit artikel zullen we onderzoeken hoe Microsoft Blazor een revolutie teweegbrengt in website-ontwikkelingsservices in .NET.

Waarom is Blazor de nieuwe hype?

Microsoft's Blazor is het nieuwste gebruikersinterfaceraamwerk aan de clientzijde dat is afgeleid van de ASP.NET-gemeenschap. Het meest verkochte aspect van dit platform is de mogelijkheid om rijke webinterface-ervaringen te ontwikkelen met behulp van CSS, HTML of C # in plaats van JavaScript. Het heeft alles waar de meeste ontwikkelaars al zo lang van dromen. Als u als Microsoft-websiteontwikkelaar of -partner de afgelopen jaren op de hoogte bent van de nieuwe ontwikkelingen op ASP.NET-gebied, dan heeft u zeker van Blazor gehoord. Het JavaScript-framework is sinds het begin de de facto maatregel voor front-end webontwikkeling en ontwikkelaars leken er nooit blij mee te zijn. En er zijn veel transpile- en supersets die de afgelopen jaren zijn ontstaan, zoals Dart, CoffeeScript, Elm, Scala, enz. Om het JavaScript-platform te verbeteren en onderhoudbaarder te maken. Blazor is echter al met het proces begonnen, omdat het het potentieel heeft om een efficiënt en zeer productief programmeerplatform te zijn, anders dan het oorspronkelijke ontwerp, en het blijkt een directe tijdgenoot te zijn van JavaScript's frameworks voor applicatie-ontwikkeling van één pagina. De belangrijkste doelen van dit raamwerk zijn:

  • Creëren van rijke en interactieve webapplicaties / gebruikersinterface met behulp van C # in plaats van JavaScript

  • Deel of verzamel toepassingslogica aan de server- of clientzijde die is ontwikkeld in het .NET-framework

  • Rendering van gebruikersinterface CSS en HTML voor browserondersteuning inclusief mobiele browsers

  • Integratie van de nieuwste hostingplatforms zoals Docker en nog veel meer.

Het Blazor-framework is een applicatie-ontwikkelingsoplossing van één pagina waarmee gebruikers een interactieve webgebruikersinterface kunnen bouwen met behulp van C # in plaats van JavaScript. Geïnspireerd door JavaScript-frameworks zoals Angular, Vue of React, gebruikt het vergelijkbare concepten voor het ontwikkelen van interactieve oplossingen. Elke Blazor-applicatie is ontwikkeld op basis van de herbruikbare componenten van Razor, dwz markup-syntaxis voor C # en HTML. Met Blazor deelt Microsoft verschillende experimenten die gaande zijn en analyseert het met de beste desktoptoepassingen met behulp van Web Window. Maar de nieuwste versies voor de ontwikkeling van native mobiele apps zijn waar Blazor-programmering wordt gecombineerd met Xamarin-besturingselementen.

Lees de blog - Microsoft zet zijn werk voort om de ontwikkeling van mobiele apps te richten met Blazor

Wat maakt Blazor tot een flexibel platform voor het beste webontwikkelingsbedrijf?

Blazor is architectuur omdat het de scheiding heeft tussen hoe de wijzigingen worden weergegeven en hoe het de modellen van de gebruikersinterfacecomponenten of toepassingswijzigingen berekent. Deze functie onderscheidt dit platform van zijn tijdgenoten, dwz andere frameworks voor de ontwikkeling van gebruikersinterfaces zoals ReactJS, Angular of React Native die alleen webtechnologieën kunnen ontwikkelen op basis van gebruikersinterfaces. Door meerdere weergaven te gebruiken voor het ontwikkelen van oplossingen, kan Blazor niet alleen de webgebaseerde componenten ontwikkelen, maar ook native mobiele gebruikersinterfaces ontwikkelen. Bovendien hoeven de componenten niet anders te worden ontwikkeld, waardoor de componenten die zijn ontwikkeld voor webrenderers niet samen met andere native mobiele renderers kunnen worden gebruikt. Maar het programmeermodel blijft hetzelfde, wat betekent dat als ontwikkelaars eenmaal vertrouwd raken met dit model, ze gemakkelijk gebruikersinterfaces kunnen maken met behulp van een willekeurige renderer. De componenten van het toepassingsmodel zijn-

  • WebAssembly Renderer

  • Render op afstand

  • Electron Renderer

  • Mobiele Blazor Binding Renderer

Hosting Model - Blazor's AP model in zijn kern is verantwoordelijk voor het berekenen en het handhaven van de UI wijzigingen in de ASP.NET ontwikkeling van diensten gehouden. Ontwikkelaars kunnen echter ook andere renderers gebruiken om de weergave en updates te beheren. Deze app-renderermodellen worden meestal de hostingmodellen genoemd en op het moment van ontwikkeling zijn er meestal vier modellen in Blazor. Zij zijn-

  • Blazor Server

  • BlazorWebAssembly

  • Blazor Electron

  • Blazor-bindingen

Van deze modellen is Blazor Server het enige model dat wordt gecategoriseerd als de productie die wordt ondersteund tijdens het schrijven, terwijl Blazor Bindings en Electron zijn gemarkeerd als experimenteel ondersteunde modellen.

Microsoft Technology Associate: de functies van Blazor

Er is al aangekondigd dat het jaar 2020 zeker een hoogtepunt zou worden voor Microsoft's Blazor en binnenkort zal het mainstream worden. Het platform is echt eenvoudig en gebruiksvriendelijk omdat het het gemak van Razor (browser + Razor) combineert met de ASP.NET-concepten. Blazor heeft ook de ongelooflijke patronen in de populaire JavaScript-frameworks zoals React of Angular gestroomlijnd, samen met het gebruik van de sjablonen die worden aangeboden door Dotnet-conventies of Razor. Blazor is een ongelooflijk platform dat het maken van interactieve webgebruikersinterfaces aan de clientzijde mogelijk maakt met behulp van het ASP.NET-framework. Met behulp van het Blazor-platform kunnen ontwikkelaars bibliotheken en codes uit elk segment van servertoepassingen hergebruiken. Omdat het ook het ASP.NET-framework gebruikt voor het ontwikkelen van interactieve client-side applicaties, bouwt het voort op de toch al krachtige set frameworks en bibliotheken. Enkele van de handige functies van dit platform waardoor het opvalt, zijn:

  • Het heeft tal van vooraf gemaakte componenten van de gebruikersinterface, zodat ontwikkelaars gemakkelijk aan de slag kunnen gaan met het maken van geweldige applicaties. Deze functie wordt zeer gewaardeerd door elk op maat gemaakt webontwikkelingsbedrijf of -organisatie

  • Dit pakket vereist geen JavaScript-technologie of functies. In plaats daarvan kunnen taken eenvoudig worden uitgevoerd met C #. Dit is om de algehele productiviteit van ontwikkelaars of organisaties te verbeteren

  • het heeft ingebouwde ondersteuning voor het verifiëren van de app-ontwikkelingscomponenten voor het .NET-framework

  • Ontwikkelaars kunnen JavaScript-functies aanroepen vanuit de ASP.NET-methodologie met behulp van een functie genaamd 'JavaScript-interoperabiliteit'

Elke ontwikkelaar van Microsoft-websites vindt Blazor aantrekkelijk omdat het is ontwikkeld door de ASP.NET-gemeenschap als een raamwerk voor het maken van client-side applicaties die draaien onder de WebAssembly. Het biedt de voordelen van een modern en rijk toepassingsframework van één pagina met behulp van de ASP.NET-technologie end-to-end. Ook kan het idee van dit framework mogelijk de efficiëntie van C # combineren, en Razor is een client-side webproject dat volledig in de browser kan worden uitgevoerd. Het heeft alle functies die nodig zijn voor het maken van een modern webraamwerk, waarvan er enkele hieronder worden vermeld:

  • Model voor het ontwikkelen van een samenstelbare gebruikersinterface

  • Live laden van de browser tijdens de fase van applicatie-ontwikkeling

  • Met behulp van de nieuwste webontwikkelingsfuncties

  • Afhankelijkheid injectie

  • Mogelijkheid om in oude browsers te werken

  • Voltooi ASP.NET-foutopsporing

  • Ontwikkelde segmenten van het open webontwikkelingsplatform zonder dat plug-ins nodig waren

  • Rijke intelligentie en UI-ontwikkelingstools

  • Server-side weergave

Lees de blog - Wat is het verschil tussen C #, .NET, ASP.NET, Microsoft.NET en Visual Studio?

Hoe Microsoft Blazor zich verhoudt tot ASP.NET Interactive Web Development

Elke gewone ASP.NET geeft de gebruikersinterface weer als een blok strings. Blazor daarentegen heeft een boom ontwikkeld of weergegeven, maar geen touw. Dit framework is een weergave van een documentobjectmodel, wat betekent dat het de componenten in het geheugen vasthoudt terwijl Blazor de representatie bewaart. Alle wijzigingen of aanpassingen die in deze componenten worden aangebracht, kunnen een update van de gebruikersinterface voor dezelfde Document Object Model-elementen activeren. Er is een enorm verschil tussen beide processen die tekenreeksen renderen. Met name het beste webontwikkelingsbedrijf gebruikt Blazor-codes en heeft geen directe toegang tot de documentobjectmodelcodes. Deze beperking werkt anders voor ASP.NET core en Razor, aangezien ze afhankelijk zijn van het JavaScript-framework om volledige toegang te krijgen tot de gebruikersinterface-elementen van interactieve applicaties.

Het Blazor-resort geeft de bomen weer om terug te gaan naar de eerdere weergave van het Document Object Model (DOM) en zoekt naar de specifieke onderdelen van hetzelfde model. Later worden ze dienovereenkomstig bijgewerkt, bewerkt of verwijderd door dit framework. Het framework stroomlijnt de wijzigingen die in het documentmodel worden aangebracht of manipuleert de weergavestructuur om de wijzigingen uit te voeren. Dit mechanisme zorgt ervoor dat de C # -taal kan werken aan de client-side interactieve applicatie-rendering. De voordelen van Blazor aan de clientzijde zijn-

  • Voor de website-ontwikkelingsdiensten stelt Blazor ontwikkelaars in staat om de ASP.NET-code rechtstreeks in de browser uit te voeren. Dit raamwerk doorbreekt ook het monopolie van het JavaScript-raamwerk op een full-stack platform, aangezien .NET-professionals vanwege de hulp geen programmeerpolyglots hoeven te worden. Ze kunnen ook complete oplossingen ontwikkelen zonder codes in JavaScript te schrijven

  • Blazor UI-codes worden in ASP.NET gecompileerd als een tussenliggende taal en dit betekent dat het framework hetzelfde potentieel heeft als de JavaScript-code. Het compilatiemodel kan ook een enorm verschil maken voor weboplossingen met prestatiegerichte browsers.

  • Ontwikkelaars kunnen de code eenvoudig valideren tussen de server- of clienttoepassingen. Bedenk bijvoorbeeld dat een ASP.NET- platform voor ontwikkelingsservices de validatielogica heeft die zowel op de backend als op de browser kan worden toegepast. Met Blazor konden ze een klassenbibliotheek maken in de ASP.NET-standaard en deze delen met applicaties aan de server- of clientzijde. Ook worden eventuele wijzigingen in de validatielogica automatisch toegepast op elk van deze platforms.

Blazor Server

Dit model is momenteel een van de officieel ondersteunde modellen en met zijn hulp kunnen applicaties eenvoudig op de server worden uitgevoerd, maar niet in de browser. Blazor Server gebruikt de SignalR-verbinding om de updates van de gebruikersinterface van de server naar de browser te verzenden. Dit serverhostingmodel bevindt zich momenteel in de door de productiestatus ondersteunde optie voor de basisontwikkeling van Microsoft. Onder dit model draaien platformgeoriënteerde applicaties op de server en bovenop de ASP.NET-runtime. Wanneer ontwikkelaars of gebruikers deze applicatie laden, wordt eerst een klein JavaScript-bestand gedownload dat een tweeweg realtime verbinding tot stand brengt met de server (SignalR-verbinding). Elke interactie tussen een gebruiker en de applicatie wordt onmiddellijk teruggestuurd naar de corresponderende server met de verbinding voor de serververwerking. Zodra de server klaar is met verwerken, worden de updates en wijzigingen van de gebruikersinterface teruggestuurd naar dezelfde client en toegepast op het documentobjectmodel. Microsoft heeft een krachtig algoritme ontwikkeld om diffs te berekenen en deze in een compact binair formaat over te dragen. In tegenstelling tot de meeste andere interactieve webapplicaties die gewoonlijk een staatloze benadering volgen, behouden de Blazor-servertoepassingsmodellen dezelfde status op de hele server.

Voor de ontwikkelaarsgemeenschap vereist het in enkele gevallen een heroverwegingsaanpak, maar in het algemeen kunnen ze vergelijkbare concepten gebruiken als in ASP.NET-kerntoepassingen. Het grootste voordeel van dit model is dat je geen andere applicatie-programmeerinterface hoeft te ontwikkelen om te communiceren tussen de server en de client. Dit komt omdat elk aspect op de server wordt uitgevoerd, zodat een op maat gemaakt webontwikkelingsbedrijf of -ontwikkelaar deze functies rechtstreeks kan aanroepen volgens hun logica. Vanwege de rekenprocessen op de server, passen de interactieve weboplossingen van Blazor Server perfect bij de lagere apparaten of thin clients.

BlazorWebAssembly

Het is een groot probleem dat de hostingmodellen meer krijgen, maar om goede redenen. Dit model biedt directe concurrentie voor de ontwikkeling van interactieve JavaScript-applicaties zoals React, VueJS of Angular. Met behulp van WebAssembly kunnen ontwikkelaars eenvoudig gebruikersinterfacelogica en codes schrijven met behulp van C # in plaats van JavaScript. Toen Microsoft Blazor aanvankelijk aankondigde, ging het volledig om de WebAssembly-modellen. Met dit model kon een applicatie eerst in het runtime-formaat laden en daarna de volledige applicatie-assembly samen met zijn afhankelijkheden. De afhankelijkheden van BlazorWebAssembly zijn inclusief het framework, System.dll, etc. maar de runtime is in het binaire formaat en andere assembly's zijn in hetzelfde formaat zodat ontwikkelaars het kunnen gebruiken in de gebruikelijke ASP.NET applicatie-ontwikkeling.

Blazor WebAssembly gebruikt de interpretercode om een applicatie uit te voeren of te laden en in deze modus kan de interpreter een interactieve applicatie-gebruikersinterface uitvoeren. Het enige deel van dit proces dat in de WebAssembly-modus wordt gecombineerd, is de mono-runtime. Het grote voordeel is de prestatie en afweging met de grote of omvangrijke bestanden. Enkele voordelen van WebAssembly in Blazor zijn-

  • het compileert de statische bestanden, wat betekent dat ontwikkelaars geen rekening hoeven te houden met de ASP.NET-runtime op de server

  • De meeste taken in Blazor worden van de server naar de clients verplaatst

  • De applicaties kunnen ook in offline modus of staat worden uitgevoerd

  • Het vergemakkelijkt het delen van codes waarbij de C # -componenten effectief kunnen worden gedeeld tussen de server en de clients

Over het algemeen wordt in ASP.NET-toepassingen een just-in-time-compiler gebruikt, maar deze wordt recentelijk niet ondersteund door WebAssembly. Het kan echter worden toegevoegd in de toekomstige versie van de standaard, maar voorlopig wordt een andere gebruikt voor het uitvoeren van de ASP.NET-code. Het Microsoft-partnerplatform werkt aan plannen en een Ahead Of Time-compilatie (AOT) om applicaties of raamwerkassemblages rechtstreeks naar WebAssembly te compileren. Deze compilatie resulteert in een effectieve interactieve applicatie-ontwikkelingstijd en zal prestatiegericht blijken te zijn in termen van runtime.

Het komt neer op

In deze tijd waarin er al veel aandacht en discussie is rond de intrede van Blazor in .NET-ontwikkeling, hebben ontwikkelaars veel keuzes. In dit artikel hebben we de introductie en de kernconcepten van Microsoft's Blazor, Sever, WebAssembly, etc. doorgenomen. We hebben ook besproken hoe dit framework in de huidige tijd wordt ingezet voor interactieve webapplicatie-ontwikkeling in het ASP.NET-platform. Blazor is een opwindend platform en heeft een grotere ruimte voor verbetering, vooral op het gebied van ontwikkeling en tooling.

WebAssembly is ook de belangrijkste technologie die de meeste app-ontwikkelingsbedrijven of front-end-ontwikkelaars niet zomaar kunnen negeren. Dit is een uitstekend platform voor ASP.NET-professionals waarmee ze er gebruik van kunnen maken om full-stack ontwikkelaars te worden zonder extra programmeertalen te hoeven leren. Dit platform biedt duidelijkheid als het gaat om het ontwikkelen van een gebruikersinterface voor een enkel programmeermodel en het kan gemakkelijk worden geleerd, samen met het overal toepassen van de framework-componenten.