- 12/01/2020
- 6 minutter på at læse
-
- a
- s
- Y
- g
- P
-
+1
“Atwood’ s Lov: Enhver applikation, der kan være skrevet i JavaScript, vil i sidste ende være skrevet i JavaScript.,”
– Jeff Atwood
Der er to overordnede tilgange til opbygning af web applikationer i dag: traditionel web-applikationer, der udfører de fleste af anvendelsen logik på serveren, og single-side applikationer (Sbo), der udfører de fleste af brugergrænsefladen logik i en web browser, og som kan kommunikere med web-serveren primært ved hjælp af web-Api ‘ er. En hybrid tilgang er også mulig, den enkleste er vært for en eller flere rige SPA-lignende underapplikationer inden for en større traditionel applicationebapplikation.,
brug traditionelle applicationsebapplikationer, når:
-
din applikations krav til klientsiden er enkle eller endda skrivebeskyttede.
-
din applikation skal fungere i Bro .sere uden JavaScript-understøttelse.
-
dit team er ikke bekendt med JavaScript-eller TypeScript-udviklingsteknikker.
brug en SPA, når:
-
din ansøgning skal afsløre en rig brugergrænseflade med mange funktioner.
-
dit team er bekendt med JavaScript, TypeScript eller bla .or developmentebassembly udvikling.,
-
din ansøgning skal allerede afsløre en API for andre (interne eller offentlige) klienter.
derudover kræver SPA-rammer større arkitektonisk og sikkerhedsekspertise. De oplever større churn på grund af hyppige opdateringer og nye rammer end traditionelle applicationsebapplikationer. Konfiguration af automatiserede Bygge-og installationsprocesser og udnytte installationsmuligheder som containere kan være vanskeligere med SPA-applikationer end traditionelle .ebapps.
forbedringer i brugeroplevelsen muliggjort af SPA-metoden skal vejes mod disse overvejelser.,
bla Blazor
ASP.NET Core indeholder en model til opbygning af rige, interaktive og komposable brugergrænseflader kaldet bla .or. Blazor server-side giver udviklere mulighed for at opbygge UI med C# og Skraber på serveren og til UI til at være interaktivt forbundet til den browser, real-time ved hjælp af en vedvarende SignalR forbindelse. Bla .or introducesebassembly introducerer en anden mulighed for bla .or apps, så de kan køre i Bro .seren ved hjælp af Blazebassembly. Fordi det er ægte. net kører på Weebassembly, kan du genbruge kode og biblioteker fra server-side dele af din ansøgning.,
bla .or giver en ny, tredje mulighed at overveje, når de vurderer, om at bygge en rent server-renderet webebapplikation eller en SPA. Du kan opbygge rig, SPA-lignende klientsiden adfærd ved hjælp af bla .or, uden behov for betydelig JavaScript udvikling. Bla .or-applikationer kan ringe til API ‘ er for at anmode om data eller udføre operationer på serversiden. De kan fungere sammen med JavaScript, hvor det er nødvendigt for at drage fordel af JavaScript-biblioteker og rammer.,
Overvej at opbygge din web-applikation med Blazor, når:
-
Din ansøgning skal afsløre en rig bruger interface
-
Dit team er mere komfortabel med .NET udvikling end JavaScript eller en Skrivemaskine udvikling
Hvis du har en eksisterende web forms-program, du overvejer at flytte til .NET Kerne eller det seneste .NET, kan du ønsker at gennemgå den gratis e-bog, Blazor Former for Web-Udviklere til at se, om det giver mening at overveje at migrere det til Blazor.
For mere information om bla .or, se Kom godt i gang med bla .or.,
Hvornår skal man vælge traditionelle appebapps
følgende afsnit er en mere detaljeret forklaring af de tidligere anførte grunde til at vælge traditionelle applicationsebapplikationer.
din applikation har enkle, muligvis skrivebeskyttede krav på klientsiden
mange webebapplikationer forbruges primært på skrivebeskyttet måde af langt de fleste af deres brugere. Read-only (eller read-mostly) applikationer har tendens til at være meget enklere end de applikationer, der opretholder og manipulerer en stor del af staten., For eksempel kan en søgemaskine bestå af et enkelt indgangspunkt med en tekstboks og en anden side til visning af søgeresultater. Anonyme brugere kan nemt fremsætte anmodninger, og der er lidt behov for klient-side logik. Ligeledes består en blog eller content management Systems offentlige applikation normalt hovedsageligt af indhold med lidt klientsiden adfærd. Sådanne applikationer er let bygget som traditionelle serverbaserede webebapplikationer, der udfører logik på webebserveren og gengiver HTML, der skal vises i Bro .seren., Det faktum, at hver enkelt side på sitet har sin egen URL, der kan bruges som bogmærke og indekseret af søgemaskiner (som standard, uden at tilføje denne funktionalitet som en separat funktion af ansøgningen) er også en klar fordel i sådanne scenarier.
Din ansøgning skal fungere i browsere uden JavaScript support
Web-applikationer, der har brug for at fungere i browsere med begrænset eller ingen understøttelse af JavaScript skal være skrevet med traditionelle web app arbejdsgange (eller i det mindste være i stand til at falde tilbage til en sådan adfærd)., Kurbade kræver JavaScript på klientsiden for at fungere; hvis det ikke er tilgængeligt, er kurbade ikke et godt valg.
Dit team er bekendt med JavaScript eller en Skrivemaskine udvikling teknikker
Hvis dit team er bekendt med JavaScript eller en Skrivemaskine, men er bekendt med server-side web-applikation udvikling, så vil de sandsynligvis være i stand til at levere en traditionel web app hurtigere end en SPA., Medmindre det er et mål at lære at programmere kurbade, eller den brugeroplevelse, som en SPA giver, er traditionelle appebapps et mere produktivt valg for hold, der allerede er bekendt med at bygge dem.
Hvornår skal man vælge kurbade
følgende afsnit er en mere detaljeret forklaring på, hvornår man skal vælge en enkelt side Applikationsstil for udvikling til din .ebapp.,
din applikation skal afsløre en rig brugergrænseflade med mange funktioner
kurbade kan understøtte rig klientsidefunktionalitet, der ikke kræver genindlæsning af siden, når brugerne træffer handlinger eller navigerer mellem områder af appen. Kurbade kan indlæse hurtigere, hente data i baggrunden, og individuelle brugerhandlinger er mere lydhøre, da fuld side genindlæses er sjældne. Kurbade kan understøtte trinvise opdateringer, gemme delvist udfyldte formularer eller dokumenter uden at brugeren behøver at klikke på en knap for at indsende en formular., Kurbade kan understøtte rig klientsiden adfærd, såsom træk-og-slip, meget lettere end traditionelle applikationer. Kurbade kan designes til at køre i en afbrudt tilstand, hvilket gør opdateringer til en klient-side model, der i sidste ende synkroniseres tilbage til serveren, når en forbindelse er genetableret. Vælg en SPA – stil applikation, hvis din apps krav inkluderer rig funktionalitet, der går ud over, hvad typiske HTML-formularer tilbyder.,
ofte skal kurbade implementere funktioner, der er indbygget i traditionelle appebapps, såsom at vise en meningsfuld URL i adresselinjen, der afspejler den aktuelle handling (og giver brugerne mulighed for at bogmærke eller dybe link til denne URL for at vende tilbage til den). Kurbade bør også give brugerne mulighed for at bruge bro .serens frem og tilbage knapper med resultater, der ikke vil overraske dem.
Dit team er bekendt med JavaScript og/eller Skrivemaskine udvikling
du Skriver Kurbade kræver kendskab til JavaScript og/eller Skrivemaskine, og klient-side-programmering, teknikker og biblioteker., Dit team skal være kompetent til at skrive moderne JavaScript ved hjælp af en SPA-ramme som Angular.
Din ansøgning skal allerede afsløre en API for andre (interne eller offentlige) kunder
Hvis du allerede støtte til et web API til brug for andre kunder, det kan kræve en mindre indsats for at skabe en SPA-implementeringen, der udnytter disse Api ‘ er, snarere end at afspejle den logik i server-side form. SPAs gøre udstrakt brug af Apeb-API ‘ er til at forespørge og opdatere data som brugere interagerer med ansøgningen.,
Hvornår skal du vælge bla .or
følgende afsnit er en mere detaljeret forklaring på, hvornår du skal vælge bla .or til din webebapp.
din ansøgning skal afsløre en rig brugergrænseflade
ligesom JavaScript-baserede kurbade kan bla .or-applikationer understøtte rig klientadfærd uden sideindlæsninger. Disse applikationer er mere lydhøre over for brugerne og henter kun de data (eller HTML), der kræves for at svare på en given brugerinteraktion. Designet korrekt, server-side bla .or apps kan konfigureres til at køre som klientsiden bla .or apps med minimale ændringer, når denne funktion er understøttet.,
Dit team er mere komfortabel med .NET udvikling end JavaScript eller en Skrivemaskine udvikling
Mange udviklere er mere produktive med .NET og Razor end med klient-side-sprog som JavaScript eller en Skrivemaskine. Da serversiden af applikationen allerede er ved at blive udviklet med.net, ved hjælp af Blanetor sikrer, at enhver. net-udvikler på teamet kan forstå og potentielt opbygge opførelsen af programmets frontend.,
Beslutningstabel
følgende beslutningstabel opsummerer nogle af de grundlæggende faktorer, der skal overvejes, når du vælger mellem en traditionel applicationebapplikation, en SPA eller en Bla .or-app.,