asp.net blazor - w3l · 3 asp.net blazor blazor = browser + razor• spa framework mit c# • steve...

14
ASP.NET Blazor SPA mit C# mithilfe von WebAssembly

Upload: others

Post on 02-Oct-2020

14 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

ASP.NET Blazor

SPA mit C# mithilfe von WebAssembly

Page 2: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

2

Inhalt

• Theorie: Präsentation

Architektur

Technologien

Features

Vor- und Nachteile

• Praxis: Demo

Page 3: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

3

ASP.NET Blazor

Blazor = Browser + Razor

• SPA Framework mit C#

• Steve Sanderson (ASP.NET MVC,

knockout.js)

• Open Source (ASP.NET Kandidat)

• frühe Alpha Version

Page 4: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

4

ASP.NET Blazor

WebAssembly

• W3C Standard

• Assemblersprache für eine VM

innerhalb des Browsers (Sandbox)

• .wasm-Dateien

• breite Browser Unterstützung

• schnell++

get_local 0

i64.eqz

if (result i64)

i64.const 1

else

get_local 0

get_local 0

i64.const 1

i64.sub

call 0

i64.mul

end

Page 5: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

5

ASP.NET Blazor

… und C# im Browser?

• Mono Runtime für .NET

• mono.wasm unterstützt (nur) .NET Standard

→ alle .NET Standard Libraries können verwendet

werden

Page 6: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

6

ASP.NET Blazor

Interpretationsmodus oder AOT-Modus?

Quelle:http://blog.stevensanderson.com/2018/02/06/blazor-intro/

Page 7: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

7

ASP.NET Blazor

Features

• UI-Components

• Layouts

• SPA-Routing

• DI

• JavaScript/DOM Interop

• VisualStudio Integration

⚫ Debugger

⚫ Hot Deploy/Develop

Page 8: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

8

ASP.NET Blazor

Vorteile

• kein Technologiebruch Client/Server

• Open Source

• Sicherheit

• Performance (auch Dateigröße)

• flache Lernkurve

• Wiederverwendbarkeit

• Spaß

Page 9: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

9

ASP.NET Blazor

Nachteile

• (pre) Alpha

• Weniger Erweiterungen als bei anderen

SPA Frameworks

• ?

Page 10: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

10

„Gab es das nicht schon?“

ASP.NET Blazor

WebAssembly

• W3C Standard

• keine Plug-ins!

• Fallback: asm.js

Page 11: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

11

ASP.NET Blazor

Ausblick

• Webentwicklung ist im ständigen Wandel

• Ergänzung zu JavaScript/TypeScript

• WebAssembly wird neue Programmiersprachen/Techniken hervorbringen

• keine Unterscheidung Frontend- Backenddeveloper

• Angular, React & Co vorerst weiterhin berechtigt

Page 12: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

12

Praxis: Demo

Page 13: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

13

Bildquellen

https://www.pexels.com/de-de/foto/blatt-buro-daten-digital-908298/

https://www.pexels.com/de-de/foto/arbeit-architektur-aufnahme-von-unten-bau-162557/

https://www.redbubble.com/de/people/slumber86/works/25388719-webassembly-logo-und-text

https://www.mono-project.com/

https://miro.medium.com/max/700/1*ZEZdLLMxj9UsPa6Q5zlAFQ.jpeg

https://pixabay.com/de/illustrations/m%C3%A4nnchen-3d-model-freigestellt-3d-2339841/

https://pixabay.com/pt/illustrations/do-sexo-masculino-modelo-3d-isolado-2339850/

https://de.wikipedia.org/wiki/Java-Technologie#/media/Datei:Java-Logo.svg

https://upload.wikimedia.org/wikipedia/de/4/49/Silverlight_Logo.jpg

https://www.theverge.com/2017/7/25/16026236/adobe-flash-end-of-support-2020

Page 14: ASP.NET Blazor - W3L · 3 ASP.NET Blazor Blazor = Browser + Razor• SPA Framework mit C# • Steve Sanderson (ASP.NET MVC, knockout.js) • Open Source (ASP.NET Kandidat) • frühe

14

Vielen Dank!

W3L AG

[email protected]

2018