Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blazor Server: Mögliche Architekturalternative ...

Blazor Server: Mögliche Architekturalternative zu SPAs?

Slidedeck zum Webinar von Sebsatian Gingter am 12. August 2020.

Avatar for isabelschrage

isabelschrage

August 12, 2020

Other Decks in Technology

Transcript

  1. 3 § Was ist Blazor Server? § Unterschiede zu SPAs

    und Blazor WebAssembly § Bewährtes und neues Know-How § Blazor Server Pro & Contra § Besonderheiten und wie man damit umgeht § Fazit § Fragen. Und Antworten. Inhalte Blazor Server Mögliche Architektur-Alternative zu SPAs?
  2. Blazor Server Mögliche Architektur-Alternative zu SPAs? Browser Server SPA (Angular,

    React, Vue, …) HTML CSS JS Request Response Statische Dateien & Code API (Code) JS-Runtime Request Response State
  3. Blazor Server Mögliche Architektur-Alternative zu SPAs? Browser Server Blazor Webassembly

    JS-Runtime WASM-Runtime .NET Runtime C# App HTML CSS JS Request Response Statische Dateien & ASP.NET Core State HTML CSS JS .NET & IL Interop API (Code)
  4. Blazor Server Mögliche Architektur-Alternative zu SPAs? Browser Server Blazor Server

    JS-Runtime HTML CSS JS Request Response Statische Dateien & ASP.NET Core .NET Runtime C# App State Interop SignalR Code
  5. Blazor Server Mögliche Architektur-Alternative zu SPAs? S Server Blazor Server

    vs. SPAs .NET Runtime Blazor Application State DB Sockets Hardware SignalR State SignalR State SignalR S Browser S Browser S Browser
  6. 12 • ASP.NET Core Infrastruktur (DI, Config, Hosting, Logging...) •

    ASP.NET Core MVC (Razor Pages) • Businesslogik mit .NET umsetzen • EF Core • HTML & CSS • UI-Framework der Wahl (Bootstrap, Material, Foundation, etc...) • JS (etwas, für interop) • „Situational Awareness“ oder „Wo passiert was?“ (Browser, SignalR, Server-rendered, Blazor-Serverside, welcher Scope?) Bewährtes und neues Know-How Blazor Server Mögliche Architektur-Alternative zu SPAs?
  7. 15 • Existierender .NET Code ist wiederverwendbar • Bestehende APIs

    müssen nicht „Webifiziert“ werden • Geringe Hardwareanforderungen für Clients • Nutzung von non-Browser APIs möglich • Ständige Netzwerkverbindung notwendig • Schnelles Netzwerk benötigt • Höhere Hardwareanforderungen für Server Blazor Server Pro & Contra Blazor Server Mögliche Architektur-Alternative zu SPAs?
  8. 17 • Doppeltes Rendering beim Startup • Authentication • Login

    / Logout etc. geschieht Server-Rendered im MVC-Teil, ausserhalb der Blazor-App • ASP.NET Core Cookie-Auth wird auch verwendet für SignalR Verbindung • Dependency Injection • Components haben keine Constructor-Injection • Scope „Scoped“ ist die Lebenszeit eines sog. Circuits • DB-Verbindungen sollten nicht in Komponenten gehalten werden • Mikro-Architektur • Saubere Schichtentrennung wird nicht erzwungen • State-Management Besonderheiten und wie man damit umgeht Blazor Server Mögliche Architektur-Alternative zu SPAs?
  9. 20 • Existierender .NET Code kann mit Blazor Server unmittelbar

    übernommen werden • Anbindung von „Legacy“-Protokollen und Systemen ohne Webifizierung ist möglich • Wann kann ich Blazor Server berücksichtigen? • Kontrollierte, stabile Netzwerk-Bedingungen (z.B. In-House, Cloud & Aussenstellen mit guter „lokaler“ Anbindung) • Begrenzte Anzahl von Benutzern, bekannte Nutzungsmuster • Geringere Anforderungen an saubere, skalierbare Mikroarchitektur • Wann eher nicht? • Unkontrollierbares Netzwerk (Mobile clients) • Stark schwankende, unbekannte Nutzungs-Muster Fazit Blazor Server Mögliche Architektur-Alternative zu SPAs?
  10. 21 • Blazor Introduction https://docs.microsoft.com/en- us/aspnet/core/blazor/?view=aspnetcore-3.1 • Material for Blazor

    https://www.matblazor.com/ • EF Core in Blazor https://www.youtube.com/watch?v=HNJYIqeBLQc • Authentication in Blazor https://docs.microsoft.com/en- us/aspnet/core/blazor/security/?view=aspnetcore-3.1 Links Blazor Server Mögliche Architektur-Alternative zu SPAs?