- 12/01/2020
- 6 minutter på å lese
-
- a
- s
- Y
- g
- S
-
+1
«Atwood’ s Lov: Alle programmer som kan være skrevet i JavaScript, vil til slutt være skrevet i JavaScript.,»
– Jeff Atwood
Det er to generelle tilnærminger til å bygge web-applikasjoner i dag: tradisjonelle web-applikasjoner som utfører det meste av programmet logikken på serveren, og single-side-programmer (SPAs) som utfører mesteparten av brukergrensesnittet logikk i en nettleser, kommunisere med web-serveren først og fremst ved hjelp av web-Api-er. En hybrid tilnærming er også mulig, det enkleste være vert for en eller flere rike SPA-som subapplications innenfor et større tradisjonelle web-applikasjon.,
Bruke tradisjonelle web-applikasjoner når:
-
Din søknad er klientens behov er enkle eller engang lese-bare.
-
søknaden må funksjonen i nettlesere uten JavaScript-støtte.
-
laget Ditt er ukjent med JavaScript-eller maskinskrevet kopi utvikling teknikker.
Bruk en SPA ved:
-
Din søknad må utsette et rikt brukergrensesnitt med mange funksjoner.
-
laget Ditt er kjent med JavaScript, maskinskrevet kopi, eller Blazor WebAssembly utvikling.,
-
Din søknad må allerede utsette en API for andre (interne eller offentlige klienter).
i Tillegg, SPA rammeverk krever større arkitektoniske og sikkerhet kompetanse. De opplever større churn på grunn av hyppige oppdateringer og nye rammer enn tradisjonelle web-applikasjoner. Konfigurere automatiske bygge og distribusjon prosesser og utnytte alternativer for distribusjon som beholdere kan være mer vanskelig med SPA programmer enn tradisjonelle web apps.
Forbedringer i brukeropplevelsen gjort mulig ved SPA tilnærming må veies opp mot disse hensynene.,
Blazor
ASP.NET Kjernen inneholder en modell for å bygge rike, interaktive og composable brukergrensesnitt kalt Blazor. Blazor server-side lar utviklere å bygge UI med C# og Knivskarpe på serveren, og for GRENSESNITT til å være interaktivt koblet til leseren i sanntid ved hjelp av en vedvarende SignalR-tilkobling. Blazor WebAssembly introduserer et annet alternativ for Blazor apps, som tillater dem å kjøre i nettleseren ved hjelp av WebAssembly. Fordi det er ekte .NETTO kjører på WebAssembly, kan du gjenbruke kode og biblioteker fra server-side deler av programmet.,
Blazor gir en ny, tredje alternativ å vurdere når du vurderer om du skal bygge en rent server-gjengitt web-applikasjon og et SPA. Du kan bygge rike, SPA-klient-side atferd ved hjelp av Blazor, uten behov for betydelig JavaScript-utvikling. Blazor programmer kan ringe Api for å be om data eller utføre server-side operasjoner. De kan samhandle med JavaScript der det er nødvendig for å dra nytte av JavaScript-biblioteker og-rammer.,
Vurdere å bygge din web-applikasjon med Blazor når:
-
Din søknad må utsette et rikt brukergrensesnitt
-
laget Ditt er mer komfortabel med .NET utvikling enn JavaScript-eller maskinskrevet kopi utvikling
Hvis du har en eksisterende web forms-program du vurderer å migrere til .NETTO Core eller den siste .NET, du kan gjerne lese den gratis e-bok, Blazor for Web Former Utviklere for å se om det er fornuftig å vurdere å overføre det til Blazor.
For mer informasjon om Blazor, kan du se Komme i gang med Blazor.,
Når du skal velge en tradisjonell web apps
følgende avsnitt er en mer detaljert forklaring av tidligere uttalt grunner for å plukke tradisjonell web-applikasjoner.
programmet har enkle, muligens read-only -, klient-side krav
Mange web-applikasjoner er primært konsumeres i en lese-bare mote ved det store flertall av sine brukere. Lese-bare (eller lese-for det meste) – programmer har en tendens til å være mye enklere enn de programmene som vedlikeholde og manipulere en stor del av staten., For eksempel, en søkemotor kan bestå av en enkelt inngangspunkt med en tekstboks og en ny side for å vise søkeresultatene. Anonyme brukere kan enkelt komme med forespørsler, og det er lite behov for klient-side logikk. Likeledes, en blogg eller et content management system er offentlig-mot-programmet vanligvis består hovedsakelig av innhold med liten klient-side atferd. Slike programmer er enkelt bygget som en tradisjonell server-basert web-applikasjoner, som utfører logikk på web-serveren og rendre HTML for å kunne vises i nettleseren., Det faktum at hver enkelt side på nettstedet har sin egen URL-adresse som kan bli lagt til som bokmerke, og indeksert av søkemotorer (som standard, uten å legge til denne funksjonaliteten som en separat funksjon i programmet) er også en klar fordel i slike scenarier.
søknaden må funksjonen i nettlesere uten JavaScript-støtte
Web-applikasjoner som trenger å fungere i nettlesere med begrenset eller ingen JavaScript-støtte bør være skrevet med tradisjonell web app arbeidsflyter (eller i det minste være i stand til å falle tilbake til slik atferd)., Spa krever klientsiden JavaScript for å fungere; hvis den ikke er tilgjengelig, SPAs er ikke et godt valg.
laget Ditt er ukjent med JavaScript-eller maskinskrevet kopi utvikling teknikker
Hvis laget ditt er ukjent med JavaScript-eller maskinskrevet kopi, men er kjent med server-side web-applikasjon utvikling, så vil de trolig være i stand til å levere en tradisjonell web app raskere enn et SPA., Mindre å lære å programmere Spa er et mål, eller brukeropplevelsen gis av en SPA er nødvendig, tradisjonell web apps er en mer produktiv valg for lagene som allerede er godt kjent med å bygge dem.
Når du skal velge en SPAs
følgende avsnitt er en mer detaljert forklaring på når du skal velge en Enkelt Side Programmer stil av utvikling for web app.,
Din søknad må utsette et rikt brukergrensesnitt med mange funksjoner
SPAs kan støtte rik klient-side funksjonalitet som ikke krever omlasting siden som brukere utføre handlinger eller navigere mellom områder av appen. SPAs kan lastes inn raskere, og henter data i bakgrunnen, og enkelte brukers handlinger er mer responsive siden hele siden lastes inn på nytt er sjeldne. SPAs kan støtte inkrementelle oppdateringer, lagring delvis utfylte skjemaer eller dokumenter uten at brukeren trenger å klikke på en knapp for å sende inn et skjema., SPAs kan støtte rik klient-side atferd, for eksempel dra-og-slipp, mye lettere enn tradisjonelle programmer. SPAs kan være konstruert for å kjøre i en frakoblet modus, slik at oppdateringer til en klient-side-modell som er til slutt synkronisert tilbake til serveren når en tilkobling er etablert på nytt. Velg et SPA-stil programmet hvis appen din kravene omfatter rik funksjonalitet som går utover hva som er typisk HTML-skjemaer tilbyr.,
Ofte, Spa trenger for å implementere funksjoner som er innebygd i tradisjonell web apps, som viser et meningsfylt URL-adressen i adresselinjen som reflekterer nåværende drift (og som tillater brukere å bokmerke eller deep link til denne NETTADRESSEN for å gå tilbake til det). SPAs også bør tillate brukere å bruke nettleserens tilbake-og frem-knappene med resultater som ikke vil overraske dem.
laget Ditt er kjent med JavaScript og/eller maskinskrevet kopi utvikling
å Skrive SPAs krever erfaring med JavaScript og/eller maskinskrevet kopi og klient-side programmering teknikker og biblioteker., Teamet bør være kompetente i å skrive moderne JavaScript ved hjelp av en SPA-rammeverk som Kantete.
Din søknad må allerede utsette en API for andre (interne eller offentlige klienter)
Hvis du allerede støtter en web-API for bruk av andre kunder, kan det krever mindre innsats for å skape et SPA-implementasjon som benytter disse Apiene snarere enn å reprodusere logikken i server-side form. SPAs gjør utstrakt bruk av web-Api for å spørring og oppdatering av data som brukerne samhandle med programmet.,
Når du skal velge en Blazor
følgende avsnitt er en mer detaljert forklaring om når de skal velge Blazor for din web app.
Din søknad må utsette et rikt brukergrensesnitt
Som JavaScript-basert Spa, Blazor programmer kan støtte rik klient atferd uten at siden lastes inn på nytt. Disse programmene er mer lydhør overfor brukere, henting kun data (eller HTML) som kreves for å svare på et gitt brukermedvirkning. Utformet riktig, server-side Blazor apps kan være konfigurert til å kjøre som klient-side Blazor apps med minimal endringer når denne funksjonen støttes.,
laget Ditt er mer komfortabel med .NET utvikling enn JavaScript-eller maskinskrevet kopi utvikling
Mange utviklere er mer produktiv med .NET og Sylskarpe enn med klient-side språk som JavaScript-eller maskinskrevet kopi. Siden server-siden av programmet er allerede under utvikling med .NET, ved hjelp av Blazor sørger for at hver .NET-utvikler med på laget kan forstå og potensielt bygge oppførselen i forkant av programmet.,
Beslutning om bord
følgende vedtak tabellen gir en oversikt over noen av de grunnleggende faktorene for å vurdere når du velger mellom en tradisjonell web-applikasjon, et SPA, eller en Blazor app.,