Microsofts Blazor: Nøglefunktioner til interaktiv webudvikling i .NET

Microsofts Blazor: Nøglefunktioner til interaktiv webudvikling i .NET

Microsoft leverer et værktøj til udvikling af indbyggede Android- og iOS-applikationer på tværs af programmeringssprog som .NET eller C #.

Microsoft Technology Associate sigter mod at lette dot net-udviklere til at udnytte potentialet i det nyeste Blazor-værktøjssæt til oprettelse af webapplikationer eller native iOS / Android-applikationer. Microsoft havde annonceret en eksperimentel 'Blazor-bygning' til Blazor, som er en funktion af ASP.NET-platformen, der gør det muligt for udviklere at oprette interaktive webapplikationer og brugergrænseflade ved hjælp af C # i stedet for JavaScript. Denne binding af komponenterne giver dem mulighed for at oprette native mobilapplikationer ved hjælp af .NET eller C # til Android eller iOS ved hjælp af velkendt webprogrammering.

I året 2019 havde Microsoft vist en løsning ved hjælp af den samme teknologi, hvor den udviklede en desktop Flutter-app, beregnet til mobil og skrevet i dart, men i stedet ved hjælp af Blazor og .NET. Microsoft Blazor er en eksperimentel ramme for web-brugergrænseflade fra ASP.NET, der er målrettet mod at bringe applikationer på tværs af alle browsere gennem WebAssembly. Det giver udviklere mulighed for at oprette ægte full-stack applikationer og dele kode på tværs af klienter og servere uden krav om plugins eller transpilation. Microsoft eksperimenterer med platformen for at imødekomme udviklernes krav, der er fortrolige med det grundlæggende i webprogrammering og mønstre til oprettelse af native applikationer. I denne artikel skal vi undersøge, hvordan Microsoft Blazor revolutionerer webstedsudviklingstjenester i .NET.

Hvorfor er Blazor den nye hype?

Microsofts Blazor er den nyeste brugergrænseflade på klientsiden, der stammer fra ASP.NET-samfundet. Det største sælgende aspekt af denne platform er dens evne til at udvikle rige web-UI-interface-oplevelser ved hjælp af CSS, HTML eller C # i stedet for JavaScript. Det har alt, hvad de fleste udviklere har drømt om så længe. Som Microsoft-webstedsudvikler eller tilknyttet, hvis du har holdt trit med de nye udviklinger inden for ASP.NET-feltet i løbet af de sidste par år, så har du helt sikkert hørt om Blazor. JavaScript-rammen har været de facto foranstaltningen siden starten for front-end webudvikling, og udviklere syntes aldrig at være tilfredse med det. Og der var mange transpiler og supersæt, der er sprunget op i løbet af de sidste par år som Dart, CoffeeScript, Elm, Scala osv. For at forbedre JavaScript-platformen og gøre den mere vedligeholdelig. Imidlertid har Blazor allerede påbegyndt processen, da den har potentialet til at være en effektiv og meget produktiv programmeringsplatform, bortset fra dets originale design, og viser sig at være en direkte samtid til JavaScript's enkeltsidede applikationsudviklingsrammer. De primære mål for denne ramme er-

  • Oprettelse af rige og interaktive webapplikationer / brugergrænseflade ved hjælp af C # i stedet for JavaScript

  • Del eller saml applikationslogik på serversiden eller klientsiden, der er udviklet i .NET-rammen

  • Gengivelse af brugergrænseflade CSS og HTML til browsersupport, der inkluderer mobile browsere

  • Integrering af de nyeste hostingplatforme som Docker og mange flere.

Blazor-rammen er en enkeltsidet applikationsudviklingsløsning, der giver brugerne mulighed for at opbygge en interaktiv webbrugergrænseflade ved hjælp af C # i stedet for JavaScript. Inspireret af JavaScript-rammer som Angular, Vue eller React bruger det lignende koncepter til udvikling af interaktive løsninger. Enhver Blazor-applikation er udviklet fra de genanvendelige komponenter i Razor, dvs. markeringssyntaks til C # og HTML. Med Blazor deler Microsoft forskellige eksperimenter, der foregår og bores med de bedste desktop-applikationer ved hjælp af Web Window. Men de nyeste inden for udvikling af mobilapps er, hvor Blazor-programmering er parret med Xamarin-kontroller.

Læs bloggen - Microsoft fortsætter sit arbejde med at målrette mobilappsudvikling med Blazor

Hvad gør Blazor til en fleksibel platform for det bedste webudviklingsselskab?

Blazor er arkitektur, da den har adskillelsen mellem, hvordan ændringerne gengives, og hvordan den beregner komponentmodellerne for brugergrænsefladen eller applikationsændringer. Denne funktion adskiller denne platform fra dens samtidige, dvs. andre rammer for udvikling af brugergrænseflader som ReactJS, Angular eller React Native, der kun kan udvikle webteknologier baseret på brugergrænseflader. Ved at bruge flere gengivelser til at udvikle løsninger er Blazor ikke kun i stand til at udvikle de webbaserede komponenter, men kan også udvikle native mobile brugergrænseflader. Derudover kræver det ikke, at komponenterne udvikles forskelligt, og komponenterne, der er udviklet til web-renderere, kan derfor ikke bruges sammen med andre native mobile gengivelser. Men programmeringsmodellen forbliver den samme, hvilket betyder, at når udviklere bliver fortrolige med denne model, der let kan oprette brugergrænseflader ved hjælp af enhver renderer. Komponenterne i dens applikationsmodel er-

  • WebAssembly Renderer

  • Fjern gengivelse

  • Elektronrenderer

  • Mobil Blazor Binding Renderer

Hosting Model - Blazors AP-model i sin kerne holdes ansvarlig for beregning og vedligeholdelse af UI-ændringer på tværs af ASP.NET-udviklingstjenesterne. Imidlertid kan udviklere også bruge andre renderere for at kontrollere skærmen og opdateringerne. Disse app-renderermodeller kaldes mest hosting-modeller, og på tidspunktet for udvikling er der normalt fire modeller i Blazor. De er-

  • Blazor Server

  • BlazorWebAssemble

  • Blazor Electron

  • Blazor-bindinger

Ud af disse modeller er Blazor Server den eneste model, der er kategoriseret som den produktion, der understøttes i skrivende stund, mens Blazor Bindings og Electron er markeret som eksperimentelt understøttede modeller.

Microsoft Technology Associate: Blazors funktioner

Det er allerede meddelt, at året 2020 helt sikkert vil være et højdepunkt for Microsofts Blazor, og snart bliver det mainstream. Platformen er virkelig enkel og nem at bruge, da den kombinerer bekvemmeligheden ved Razor (browser + Razor) sammen med ASP.NET-koncepterne. Blazor har også strømlinet de utrolige mønstre på tværs af de populære JavaScript-rammer som React eller Angular sammen med at udnytte de skabeloner, der tilbydes af Dotnet-konventioner eller Razor. Blazor er en utrolig platform, der letter oprettelse af interaktive web-brugergrænseflader på klientsiden ved hjælp af ASP.NET-rammen. Ved hjælp af Blazor-platformen kan udviklere genbruge biblioteker og koder fra ethvert segment af serversiden. Da den også bruger ASP.NET-rammen til at udvikle interaktive applikationer på klientsiden, bygger den på det allerede kraftige sæt rammer og biblioteker. Nogle af de nyttige funktioner på denne platform, der får den til at skille sig ud, er-

  • Det har masser af foruddefinerede brugergrænsefladekomponenter, så udviklere nemt kan komme i gang med at oprette fantastiske applikationer. Denne funktion er meget værdsat af enhver brugerdefineret webudviklingsvirksomhed eller organisation

  • Denne pakke kræver ingen JavaScript-teknologi eller funktioner. I stedet kan opgaver udføres let ved hjælp af C #. Dette er for at forbedre den samlede produktivitet hos udviklere eller organisationer

  • det har indbygget understøttelse til godkendelse af appudviklingskomponenter til .NET framework

  • Udviklere kan kalde JavaScript-funktioner fra ASP.NET-metoden ved hjælp af en funktion kaldet 'JavaScript-interoperabilitet'

Hver Microsoft-webstedsudvikler finder Blazor tiltalende, fordi den er udviklet af ASP.NET-samfundet som en ramme for oprettelse af applikationer på klientsiden, der kører under WebAssembly. Det giver fordelene ved en moderne og rig enkeltsidet applikationsramme ved hjælp af ASP.NET-teknologien end-to-end. Idéen med denne ramme kan også potentielt kombinere effektiviteten af C #, og Razor er et webprojekt på klientsiden, der kan køre helt i browseren. Den har alle de funktioner, der er nødvendige for at skabe en moderne webramme, hvoraf nogle er anført nedenfor -

  • Model til udvikling af en komponerbar brugergrænseflade

  • Liveindlæsning af browseren i fasen af applikationsudvikling

  • Brug af de nyeste webudviklingsfunktioner

  • Afhængighedsinjektion

  • Evnen til at køre på tværs af gamle browsere

  • Komplet ASP.NET fejlfinding

  • Udviklede segmenter af den åbne webudviklingsplatform uden at kræve plugins

  • Rig intelligens og UI-udviklingsværktøjer

  • Gengivelse på serversiden

Læs bloggen - Hvad er forskellen mellem C #, .NET, ASP.NET, Microsoft.NET og Visual Studio?

Hvordan Microsoft Blazor sammenligner med ASP.NET interaktiv webudvikling

Enhver almindelig ASP.NET gengiver brugergrænsefladen som en strengstreng. På den anden side udviklede eller gengivede Blazor et træ, men ikke en streng. Denne ramme er en repræsentation af en dokumentobjektmodel, hvilket betyder, at den holder komponenterne i hukommelsen, mens Blazor beholder repræsentationen. Eventuelle ændringer eller modifikationer, der foretages i disse komponenter, kan udløse en opdatering af brugergrænsefladen for de samme dokumentobjektmodelelementer. Der er en enorm forskel mellem begge disse processer, der gengiver strenge. Især bruger det bedste webudviklingsselskab Blazor-koder og kan ikke få direkte adgang til dokumentobjektmodelkoderne. Denne begrænsning fungerer forskelligt for ASP.NET-kernen og Razor, da de afhænger af JavaScript-rammen for at få fuld adgang til brugergrænsefladeelementerne i interaktive applikationer.

Blazor-feriestedet gengiver træerne til at flytte tilbage til den tidligere DOM-repræsentation (Document Object Model) og se efter de enkelte stykker af den samme model. Senere opdaterer, redigerer eller sletter denne ramme dem i overensstemmelse hermed. Rammen strømliner de ændringer, der foretages i dokumentmodellen eller manipulerer gengivelsestræet for at udføre ændringerne. Denne mekanisme er noget, der gør det muligt for C # -sprog at arbejde på den interaktive applikationsgengivelse på klientsiden. Fordelene ved Blazor på klientsiden er-

  • For webstedsudviklingstjenester tillader Blazor udviklere at køre ASP.NET-koden direkte i browseren. Denne ramme bryder også monopolet på JavaScript-rammen på en full-stack platform, da .NET-professionelle ikke behøver at blive programmeringspolyglots på grund af dens hjælp. De kan også udvikle hele løsninger uden at skrive koder i JavaScript

  • Blazor UI-koder er sammensat til ASP.NET som et mellemliggende sprog, og det betyder, at rammen har det samme potentiale som JavaScript-koden. Dens kompilationsmodel kan også skabe en enorm forskel for performance-driven browsers webløsninger.

  • Udviklere kan nemt validere koden mellem serveren eller klientsiden. Overvej for eksempel, at en ASP.NET-udviklingsserviceplatform har valideringslogikken, der kan anvendes på både backend og browser. Blazor tillod dem at oprette et klassebibliotek i ASP.NET-standarden og dele det på tværs af serversiden eller klientsiden. Også ændringer i valideringslogikken bliver automatisk anvendt på hver af disse platforme.

Blazor Server

Denne model er en af de officielt understøttede modeller i øjeblikket, og med sin hjælp kan applikationer let køre på serveren, men ikke i browseren. Blazor Server bruger SignalR-forbindelsen til at overføre brugergrænsefladeopdateringer fra serveren til browseren. Denne serverhostingsmodel er i øjeblikket i produktionsstatus-understøttet mulighed for Microsofts grundlæggende udvikling. Under denne model kører platformorienterede applikationer på serveren og øverst på ASP.NET-runtime. Når udviklere eller brugere indlæser denne applikation, downloades først en lille JavaScript-fil, der opretter en tovejs realtidsforbindelse med serveren (SignalR-forbindelse). Enhver interaktion mellem en bruger og applikationen transmitteres øjeblikkeligt tilbage til den tilsvarende server med forbindelsen til serverbehandlingen. Når serveren er færdigbehandlet, sendes opdateringer og ændringer af brugergrænsefladen tilbage til den samme klient og anvendes på dokumentobjektmodellen. Microsoft har udviklet en højtydende algoritme for at beregne forskelle og overføre dem i et kompakt binært format. I modsætning til de fleste andre interaktive webapplikationer, der normalt foretager en statsløs tilgang, har Blazor-serverapplikationsmodellerne den samme tilstand på tværs af serveren.

For udviklerfællesskabet kræver det i nogle få tilfælde en gentænkningstilgang, men generelt kan de bruge lignende koncepter, som de bruger i ASP.NET-kerneapplikationer. Den største fordel ved denne model er, at du ikke behøver at udvikle en anden applikationsprogrammeringsgrænseflade til kommunikation mellem serveren og klienten. Dette skyldes, at hvert aspekt kører på serveren, så en brugerdefineret webudviklingsvirksomhed eller udvikler direkte kan kalde disse funktioner i henhold til deres logik. På grund af beregningsprocesserne på serveren repræsenterer Blazor Server interaktive webløsninger en perfekt pasform til lavere enheder eller tynde klienter.

BlazorWebAssemble

Det er en stor ting for hostingmodellerne at få mere, men af gode grunde. Denne model giver direkte konkurrence til JavaScript interaktiv applikationsudvikling såsom React, VueJS eller Angular. Ved hjælp af WebAssembly kan udviklere nemt skrive logik og koder til brugergrænseflade ved hjælp af C # i stedet for JavaScript. Da Microsoft oprindeligt annoncerede Blazor, handlede det udelukkende om WebAssembly-modellerne. Denne model tillod en applikation at indlæse først i kørselsformatet, og derefter indlæste den hele applikationsenheden sammen med dens afhængigheder. Afhængigheden af BlazorWebAssembly inkluderer rammen, System.dll osv., Men runtime er i det binære format, og andre samlinger er i samme format, så udviklere kan bruge det i den sædvanlige ASP.NET applikationsudvikling.

Blazor WebAssembly bruger tolkekoden til at køre eller indlæse en applikation, og i denne tilstand kan tolken udføre en interaktiv applikationsbrugergrænseflade. Den eneste del af denne proces, der kombineres i WebAssembly-tilstanden, er dens mono-runtime. Dens største fordel er ydeevnen og kompromiset med de store eller omfangsrige filer. Nogle af fordelene ved WebAssembly i Blazor er-

  • det kompilerer de statiske filer, hvilket betyder, at der ikke er noget krav for udviklere at overveje ASP.NET-runtime på serveren

  • De fleste af opgaverne i Blazor aflades fra serveren til dens klienter

  • Applikationerne kan også køres i offline-tilstand eller tilstand

  • Det letter kodedeling, hvor C #-komponenterne kan deles effektivt mellem serveren og klienterne

Generelt anvendes i ASP.NET-applikationer en just-in-time compiler, men den understøttes ikke for nylig af WebAssembly. Det kan dog tilføjes i sin fremtidige version af standarden, men indtil videre bruges en anden til at udføre ASP.NET-koden. Microsofts associerede platform arbejder på planer og en AOT Of Time-kompilering (AOT) for at kompilere applikationer eller rammesamlinger direkte til WebAssembly. Denne samling resulterer i en effektiv interaktiv applikationsudviklingstid og vil vise sig at være præstationsorienteret med hensyn til runtime.

Bundlinjen

I denne tid, hvor der allerede er stor opmærksomhed og diskussion omkring indtræden af Blazor i .NET-udvikling, er udviklere tilbage med mange valg. I denne artikel har vi gennemgået introduktionen og kernebegreberne i Microsofts Blazor, Sever, WebAssembly osv. Vi har også diskuteret, hvordan denne ramme implementeres i den aktuelle tid til interaktiv webapplikationsudvikling i ASP.NET-platformen. Blazor er en spændende platform og har et bredere rum til forbedring, især med hensyn til udvikling og værktøj.

WebAssembly er også dets førende teknologi, som de fleste appudviklingsfirmaer eller front-end-udviklere ikke bare kan ignorere. Dette er en fremragende platform for ASP.NET-professionelle, der giver dem mulighed for at udnytte det til at blive full-stack-udviklere uden at skulle lære yderligere programmeringssprog. Denne platform giver klarhed, når det kommer til at udvikle en brugergrænseflade til en enkelt programmeringsmodel, og den kan læres let sammen med anvendelse af rammekomponenterne hvor som helst.