• 12/01/2020
  • 6 minuten te lezen
    • a
    • s
    • Y
    • g
    • P
    • +1

“Atwood’ s Wet: Elke applicatie die kan worden geschreven in JavaScript, worden uiteindelijk geschreven in JavaScript.,”
– Jeff Atwood

Er zijn twee algemene benaderingen voor het bouwen van webapplicaties vandaag: traditionele webapplicaties die het grootste deel van de applicatielogica op de server uitvoeren, en single-page applications (spa ‘s) die het grootste deel van de user interface logica uitvoeren in een webbrowser, die voornamelijk communiceren met de webserver met behulp van Web API’ s. Een hybride aanpak is ook mogelijk, de eenvoudigste is host een of meer rijke SPA-achtige subapplicaties binnen een grotere traditionele webapplicatie.,

gebruik traditionele webtoepassingen wanneer:

  • de eisen aan de clientzijde van uw toepassing eenvoudig of zelfs alleen-lezen zijn.

  • uw toepassing moet functioneren in browsers zonder JavaScript-ondersteuning.

  • uw team is niet bekend met JavaScript-of TypeScript-ontwikkelingstechnieken.

gebruik een SPA wanneer:

  • uw toepassing moet een rijke gebruikersinterface met vele functies blootstellen.

  • uw team is bekend met JavaScript, TypeScript of Blazor WebAssembly development.,

  • uw toepassing moet al een API voor andere (interne of openbare) clients blootstellen.

bovendien vereisen SPA-frameworks meer architectonische en veiligheidsexpertise. Ze ervaren meer churn als gevolg van frequente updates en nieuwe frameworks dan traditionele webapplicaties. Het configureren van geautomatiseerde bouw-en implementatieprocessen en het gebruik van implementatieopties zoals containers kan moeilijker zijn met SPA-toepassingen dan traditionele webapps.

verbeteringen in de gebruikerservaring die mogelijk worden gemaakt door de SPA-benadering moeten worden afgewogen tegen deze overwegingen.,

Blazor

ASP.NET Core bevat een model voor het bouwen van rijke, interactieve en composeerbare gebruikersinterfaces genaamd Blazor. Blazor server-side stelt ontwikkelaars in staat om UI te bouwen met C# en Razor op de server en voor de UI interactief worden verbonden met de browser in real-time met behulp van een permanente SignalR-verbinding. Blazor WebAssembly introduceert een andere optie voor Blazor apps, waardoor ze te draaien in de browser met behulp van WebAssembly. Omdat het echte. NET draait op WebAssembly, kunt u code en bibliotheken hergebruiken van server-side delen van uw applicatie.,

Blazor biedt een nieuwe, derde optie om te overwegen bij het evalueren of een puur server-gerenderde webapplicatie of een SPA te bouwen. U kunt rijke, SPA-achtige client-side gedrag te bouwen met behulp van Blazor, zonder de noodzaak voor significante JavaScript ontwikkeling. Blazor-toepassingen kunnen API ‘ s bellen om gegevens op te vragen of bewerkingen aan de serverzijde uit te voeren. Ze kunnen samenwerken met JavaScript waar nodig om te profiteren van JavaScript bibliotheken en frameworks.,

overweeg om uw webapplicatie met Blazor te bouwen wanneer:

  • uw applicatie moet een rijke gebruikersinterface blootstellen

  • uw team is comfortabeler met.net-ontwikkeling dan JavaScript-of TypeScript-ontwikkeling

Als u een bestaande webformulieren-applicatie hebt die u overweegt te migreren naar. net Core of het nieuwste. net, wilt u misschien het gratis e-book, Blazor bekijken voor webformulieren ontwikkelaars om te zien of het zinvol is om te overwegen migreren naar blazor.

voor meer informatie over Blazor, zie aan de slag met Blazor.,

wanneer kiezen voor traditionele webapps

de volgende paragraaf geeft een meer gedetailleerde uitleg van de eerder genoemde redenen voor het kiezen van traditionele webapplicaties.

uw toepassing heeft eenvoudige, mogelijk alleen-lezen, client-side vereisten

veel webtoepassingen worden voornamelijk alleen-lezen gebruikt door de overgrote meerderheid van hun gebruikers. Alleen-lezen (of meestal-lezen) toepassingen hebben de neiging om veel eenvoudiger dan die toepassingen die handhaven en manipuleren van een groot deel van de staat., Een zoekmachine kan bijvoorbeeld bestaan uit een enkel invoerpunt met een tekstvak en een tweede pagina voor het weergeven van zoekresultaten. Anonieme gebruikers kunnen eenvoudig verzoeken doen, en er is weinig behoefte aan client-side logica. Ook, een blog of content management systeem publiek gerichte toepassing bestaat meestal voornamelijk uit inhoud met weinig client-side gedrag. Dergelijke toepassingen zijn gemakkelijk gebouwd als traditionele server-gebaseerde webapplicaties, die logica uit te voeren op de webserver en maken HTML worden weergegeven in de browser., Het feit dat elke unieke pagina van de site heeft zijn eigen URL die kan worden bladwijzer en geïndexeerd door zoekmachines (standaard, zonder dat deze functionaliteit toe te voegen als een aparte functie van de applicatie) is ook een duidelijk voordeel in dergelijke scenario ‘ s.

uw toepassing moet functioneren in browsers zonder JavaScript-ondersteuning

webtoepassingen die moeten functioneren in browsers met beperkte of geen JavaScript-ondersteuning moeten worden geschreven met behulp van traditionele web app workflows (of op zijn minst kunnen terugvallen op dergelijk gedrag)., SPAs vereisen client-side JavaScript om te kunnen functioneren; als het niet beschikbaar is, zijn SPAs geen goede keuze.

uw team is niet bekend met JavaScript-of TypeScript-ontwikkelingstechnieken

als uw team niet bekend is met JavaScript-of TypeScript-ontwikkelingstechnieken, maar wel met de ontwikkeling van webapplicaties op de server, dan zullen ze waarschijnlijk sneller een traditionele webapplicatie kunnen leveren dan een SPA., Tenzij het leren programmeren van Spa ‘ s een doel is, of de gebruikerservaring van een SPA vereist is, zijn traditionele webapps een productievere keuze voor teams die al vertrouwd zijn met het bouwen ervan.

Wanneer moet u SPAs kiezen

de volgende paragraaf geeft een meer gedetailleerde uitleg over wanneer u een enkele pagina Applicatiestijl voor uw web-app kiest.,

uw toepassing moet een rijke gebruikersinterface met vele functies blootleggen

SPAs kunnen rijke client-side functionaliteit ondersteunen die niet vereist dat de pagina opnieuw wordt geladen als gebruikers acties ondernemen of navigeren tussen gebieden van de app. Spa ‘ s kunnen sneller laden, gegevens ophalen op de achtergrond, en individuele gebruikersacties reageren meer omdat volledige pagina-herlaadingen zeldzaam zijn. Spa ‘ s kunnen incrementele updates ondersteunen en gedeeltelijk ingevulde formulieren of documenten opslaan zonder dat de gebruiker op een knop hoeft te klikken om een formulier in te dienen., Kuuroorden kunnen rijke client-side gedrag, zoals drag-and-drop ondersteunen, veel gemakkelijker dan traditionele toepassingen. SPAs kunnen worden ontworpen om te draaien in een losgekoppelde modus, het maken van updates voor een client-side model dat uiteindelijk worden gesynchroniseerd terug naar de server zodra een verbinding is hersteld. Kies een SPA-stijl applicatie als de eisen van uw app bevatten rijke functionaliteit die verder gaat dan wat typische HTML-formulieren bieden.,

vaak moeten spa ‘ s functies implementeren die zijn ingebouwd in traditionele webapps, zoals het weergeven van een zinvolle URL in de adresbalk die de huidige bewerking weergeeft (en Gebruikers toestaan om een bladwijzer of een diepe link naar deze URL te maken om ernaar terug te keren). Spa ’s moeten ook gebruikers in staat stellen om de browser’ s back en forward knoppen te gebruiken met resultaten die hen niet zullen verrassen.

uw team is vertrouwd met JavaScript en/of TypeScript ontwikkeling

Het schrijven van SPAs vereist vertrouwdheid met JavaScript en / of TypeScript en client-side programmeertechnieken en bibliotheken., Uw team moet bekwaam zijn in het schrijven van moderne JavaScript met behulp van een SPA framework zoals Angular.

uw toepassing moet al een API voor andere (interne of openbare) clients blootleggen

als u al een web API ondersteunt voor gebruik door andere clients, kan het minder moeite kosten om een SPA-implementatie te maken die deze API ‘ s gebruikt in plaats van de logica in de vorm van de server te reproduceren. Spa ’s maken uitgebreid gebruik van web API’ s om gegevens te bevragen en bij te werken terwijl gebruikers met de applicatie interageren.,

wanneer Blazor kiezen

de volgende sectie is een meer gedetailleerde uitleg van wanneer Blazor kiezen voor uw web-app.

uw toepassing moet een rijke gebruikersinterface blootstellen

net als JavaScript-gebaseerde SPAs, kunnen Blazor-toepassingen rich Client gedrag ondersteunen zonder pagina herladen. Deze applicaties reageren meer op gebruikers en halen alleen de gegevens (of HTML) op die nodig zijn om te reageren op een bepaalde gebruikersinteractie. Goed ontworpen, server-side Blazor apps kunnen worden geconfigureerd om te draaien als client-side Blazor apps met minimale wijzigingen zodra deze functie wordt ondersteund.,

uw team is comfortabeler met.net ontwikkeling dan JavaScript of TypeScript ontwikkeling

veel ontwikkelaars zijn productiever met. net en Razor dan met client-side talen zoals JavaScript of TypeScript. Aangezien de server-kant van de applicatie al wordt ontwikkeld met.net, met behulp van Blazor zorgt ervoor dat elke. NET ontwikkelaar in het team kan begrijpen en potentieel bouwen van het gedrag van de front-end van de applicatie.,

Beslissingstabel

De volgende beslissingstabel geeft een overzicht van enkele basisfactoren waarmee rekening moet worden gehouden bij de keuze tussen een traditionele webtoepassing, een SPA of een Blazor-app.,

Vereist Team bekend bent met JavaScript/Typoscript Minimale Verplicht Minimale Ondersteuning van Browsers zonder Script Ondersteund Niet Ondersteund Ondersteund Minimale Client-Side Applicatie Gedrag Geschikt Overkill Levensvatbare Rijk, Complexe User Interface-Eisen Beperkte Geschikt Geschikt

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *