• 12/01/2020
  • 6 minuter att läsa
    • a
    • s
    • y
    • g
    • p
    • +1

”Atwoods law: any application som kan skrivas i JavaScript, kommer så småningom att skrivas i JavaScript.,”
– Jeff Atwood

det finns två allmänna metoder för att bygga webbapplikationer idag: traditionella webbapplikationer som utför det mesta av applikationslogiken på servern, och enstaka applikationer (SPAs) som utför det mesta av användargränssnittet logik i en webbläsare, kommunicera med webbservern främst med webb API: er. En hybrid strategi är också möjligt, det enklaste är värd en eller flera rika SPA-liknande undertillämpningar inom en större traditionell webbapplikation.,

använd traditionella webbapplikationer när:

  • programmets krav på klientsidan är enkla eller till och med skrivskyddade.

  • din ansökan måste fungera i webbläsare utan JavaScript-stöd.

  • ditt team är obekant med JavaScript-eller TypeScript-utvecklingstekniker.

Använd ett SPA när:

  • din ansökan måste avslöja ett rikt användargränssnitt med många funktioner.

  • ditt team är bekant med JavaScript, TypeScript eller Blazor WebAssembly-utveckling.,

  • din ansökan måste redan avslöja ett API för andra (interna eller offentliga) kunder.

dessutom kräver spa-ramar större arkitektonisk och säkerhetsexpertis. De upplever större churn på grund av frekventa uppdateringar och nya ramar än traditionella webbapplikationer. Konfigurera automatiserade Bygg-och driftsättningsprocesser och använda driftsättningsalternativ som behållare kan vara svårare med SPA-applikationer än traditionella webbappar.

förbättringar av användarupplevelsen som möjliggörs genom SPA-metoden måste vägas mot dessa överväganden.,

Blazor

ASP.NET Core innehåller en modell för att bygga rika, interaktiva och kompositerbara användargränssnitt som kallas Blazor. Blazor serversidan tillåter utvecklare att bygga UI med C # och Razor på servern och för att användargränssnittet ska vara interaktivt anslutet till webbläsaren i realtid med hjälp av en ihållande SignalR-anslutning. Blazor WebAssembly introducerar ett annat alternativ för Blazor-appar, så att de kan köras i webbläsaren med WebAssembly. Eftersom det är riktigt. NET körs på WebAssembly, kan du återanvända kod och bibliotek från serversidan delar av din ansökan.,

Blazor ger ett nytt, tredje alternativ att överväga när man utvärderar om man ska bygga en rent server-renderade webbapplikation eller ett SPA. Du kan bygga rika, SPA-liknande klientsidan beteenden med Blazor, utan behov av betydande JavaScript utveckling. Blazor-applikationer kan ringa API: er för att begära data eller utföra serversidan. De kan samverka med JavaScript när det behövs för att dra nytta av JavaScript bibliotek och ramar.,

överväga att bygga din webbapplikation med Blazor när:

  • din ansökan måste exponera ett rikt användargränssnitt

  • ditt team är mer bekväm med.Net utveckling än JavaScript eller TypeScript utveckling

om du har en befintlig webbformulär program du funderar på att migrera till. Net Core eller den senaste. Net, Du kanske vill granska gratis e-bok, Blazor för webbformulär utvecklare för att se om det är vettigt att tänka på att flytta den till blazor.

För mer information om Blazor, se Komma igång med Blazor.,

när du ska välja traditionella webbappar

följande avsnitt är en mer detaljerad förklaring av de tidigare angivna orsakerna till att välja traditionella webbapplikationer.

din ansökan har enkla, eventuellt skrivskyddade krav på klientsidan

många webbapplikationer förbrukas främst på ett skrivskyddat sätt av de allra flesta användare. Skrivskyddade (eller läs-mestadels) applikationer tenderar att vara mycket enklare än de program som upprätthåller och manipulerar en hel del tillstånd., En sökmotor kan till exempel bestå av en enda ingångspunkt med en textruta och en andra sida för att visa sökresultat. Anonyma användare kan enkelt göra förfrågningar, och det finns lite behov av klientsidan logik. På samma sätt, en blogg eller content management system offentliga inför ansökan består vanligtvis huvudsakligen av innehåll med lite klientsidan beteende. Sådana applikationer är enkelt byggda som traditionella serverbaserade webbapplikationer, som utför logik på webbservern och gör HTML som ska visas i webbläsaren., Det faktum att varje unik sida på webbplatsen har sin egen URL som kan bokmärkas och indexeras av sökmotorer (som standard, utan att behöva lägga till denna funktionalitet som en separat funktion i ansökan) är också en tydlig fördel i sådana scenarier.

din ansökan måste fungera i webbläsare utan JavaScript-stöd

webbapplikationer som behöver fungera i webbläsare med begränsat eller inget JavaScript-stöd ska skrivas med traditionella arbetsflöden för webbappar (eller åtminstone kunna falla tillbaka till sådant beteende)., Spa kräver klientsidan JavaScript för att fungera; om det inte är tillgängligt, Spa är inte ett bra val.

ditt team är obekant med JavaScript-eller TypeScript-utvecklingstekniker

om ditt team inte känner till JavaScript eller TypeScript, men är bekant med webbapplikationsutveckling på serversidan, kommer de förmodligen att kunna leverera en traditionell webbapp snabbare än ett SPA., Om du inte lär dig att programmera Spa är ett mål, eller användarupplevelsen som erbjuds av ett SPA krävs, är traditionella webbappar ett mer produktivt val för lag som redan är bekanta med att bygga dem.

när du ska välja Spa

följande avsnitt är en mer detaljerad förklaring av när du ska välja en enda sida Program stil för utveckling för din webbapp.,

din ansökan måste avslöja ett rikt användargränssnitt med många funktioner

Spa kan stödja rika klientsidan funktionalitet som inte kräver att ladda sidan som användare vidta åtgärder eller navigera mellan områden i appen. Spa kan laddas snabbare, hämta data i bakgrunden, och enskilda användaråtgärder är mer lyhörda eftersom hela sidan omladdningar är sällsynta. Spa kan stödja inkrementella uppdateringar, spara delvis ifyllda formulär eller dokument utan att användaren behöver klicka på en knapp för att skicka ett formulär., Spa kan stödja rika klientsidan beteenden, såsom dra-och-släpp, mycket lättare än traditionella applikationer. SPAs kan utformas för att köras i ett frånkopplat läge, vilket gör uppdateringar till en klientsidmodell som så småningom synkroniseras tillbaka till servern när en anslutning återupprättas. Välj ett spa-stil program om appens krav inkluderar rik funktionalitet som går utöver vad typiska HTML-formulär erbjuder.,

ofta måste Spa implementera funktioner som är inbyggda i traditionella webbappar, till exempel att visa en meningsfull webbadress i adressfältet som återspeglar den aktuella åtgärden (och att tillåta användare att bokmärke eller djup länk till den här webbadressen för att återgå till den). Spa bör också tillåta användare att använda webbläsarens bak-och framåtknappar med resultat som inte kommer att överraska dem.

ditt team är bekant med JavaScript och/eller TypeScript utveckling

skriva Spa kräver förtrogenhet med JavaScript och / eller TypeScript och klientsidan programmeringsteknik och bibliotek., Ditt team bör vara kompetent att skriva modern JavaScript med hjälp av ett spa ramverk som vinkel.

din ansökan måste redan exponera ett API för andra (interna eller offentliga) klienter

om du redan stöder ett webb-API för användning av andra kunder kan det kräva mindre ansträngning för att skapa en spa-implementering som utnyttjar dessa API snarare än att reproducera logiken i serversidan. Spa gör omfattande användning av webb API för att fråga och uppdatera data som användare interagerar med programmet.,

när du ska välja Blazor

följande avsnitt är en mer detaljerad förklaring av när du ska välja Blazor för din webbapp.

ditt program måste visa ett rikt användargränssnitt

Blazor-program kan, som JavaScript-baserade Spa-program, stödja ett rikt klientbeteende utan att sidan laddas om. Dessa program är mer mottagliga för användare, hämta endast data (eller HTML) som krävs för att svara på en viss användarinteraktion. Designad korrekt, kan serversidan Blazor apps konfigureras för att köras som klientsidan Blazor appar med minimala förändringar när den här funktionen stöds.,

ditt team är bekvämare med. Net-utveckling än JavaScript eller TypeScript-utveckling

många utvecklare är mer produktiva med. NET och Razor än med klientsidans språk som JavaScript eller TypeScript. Eftersom serversidan av programmet redan utvecklas med. NET, med hjälp av Blazor säkerställer varje. NET utvecklare i laget kan förstå och potentiellt bygga beteendet hos den främre änden av programmet.,

Beslutstabell

följande beslutstabell sammanfattar några av de grundläggande faktorerna att tänka på när man väljer mellan en traditionell webbapplikation, ett SPA eller en Blazor-app.,

krävs Team förtrogenhet med JavaScript/TypeScript Minimal krävs Minimal stöd webbläsare utan skript stöds stöds inte stöds minimal klientsidan applikationsbeteende väl lämpad Overkill livskraftig rika, komplexa krav användargränssnitt begränsad väl lämpad väl lämpad

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *