SlideShare a Scribd company logo
Ed Charbeneau
Modernizing Web
Applications with
.NET 6
2
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET vs. ASP.NET Core
Full-Framework ASP.NET Core
• Windows only
• Matured
• Supported .NET v. 4.6.2 – 4.8+
• Cross Platform & OSS
• Performant
• Dependency Injection built-in
• Configuration improvements
• Improved Middleware Pipeline
• Modern Front-End Frameworks
• Rapid Release Cycle
3
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET Core
benefits:
• A unified story for building web UI
and web APIs.
• Architected for testability.
• Razor Pages makes coding page-
focused scenarios easier and more
productive.
• Blazor lets you use C# in the browser
alongside JavaScript. Share server-
side and client-side app logic all
written with .NET.
4
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET Core
benefits: (cont.)
• Ability to develop and run on
Windows, macOS, and Linux.
• Open-source and community-
focused.
• Integration of modern, client-side
frameworks and development
workflows.
• Support for hosting Remote
Procedure Call (RPC) services using
gRPC.
5
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET MVC -> ASP.NET Core MVC
• .NET Upgrade Assistant ⚠️
• Expect Breaking Changes ⚠️
• App Startup ⚠️
• App Settings ⚠️
• Static File hosting ⚠️
• Dependency Injection ⚠️
• Routing ⚠️
6
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET MVC -> ASP.NET Core MVC
• HtmlHelpers are generally
unchanged ✅
• HTML ✅
• CSS ✅
• JavaScript ✅
7
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET vs. ASP.NET Core: UI
Full-Framework ASP.NET Core
• WebForms
• MVC 5.2
• MVC
• Razor Pages
• Blazor
8
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
MVC
(Model-View-Controller)
• Clear separation of responsibilities
• Testable
• Flexible
• Server Rendered views, JavaScript
for interactivity
9
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
MVC (Model-View-Controller)
• Razor lets you render a
page/component using C#
• @ syntax
• Rendered on the server
• Client-side logic is JavaScript
(typically jQuery)
• Html Helpers / TagHelpers / Razor
Components
10
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Razor Pages
• ASP.NET without the fuss of MVC
• Feature focused
• MVVM like
• Server Rendered views, JavaScript
for interactivity
11
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Razor Pages
• Razor lets you render a
page/component using C#
• @ syntax
• Rendered on the server
• Client-side logic is JavaScript
(typically jQuery)
• Html Helpers / TagHelpers / Razor
Components
12
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Blazor Wasm
(WebAssembly)
• .NET in the Browser
• Web Standards
• Rendered Client-Side
• Single Page Application (SPA)
• Much like Angular/React but using C#
• Low Learning Curve for .NET Developers
• Great transition from WebForms or
Silverlight
13
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Blazor Server
• Same framework as Blazor Wasm
( minus WebAssembly )
• Rendered Server-Side, instead of
Client
• .NET on the server, thin client on the
browser
• Great for LOB apps
14
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Blazor
• Razor Components / RenderTree
• @ syntax
• Rendered on the client
• UI logic is C# instead of JS
15
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
ASP.NET in .NET Core: Component Models
Framework Component Models
MVC HtmlHelpers, TagHelpers, Razor Components*
Razor Pages HtmlHelpers, TagHelpers, Razor Components*
Blazor Razor Components
*Requires Blazor dependencies
Blazor Deep Dive
17
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Blazor is a new .NET web framework using C# and
HTML that runs in the browser.
What is Blazor
Browser + Razor = Blazor
18
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Just the FAQs
What it IS What it is NOT
• Client-side C#
• Web Standard Technologies
• WebAssembly
• .NET Standard
• A Plugin
• ASP.NET WebForms
• Trans-piled JavaScript
PUBLISHING
COMPONENT MODEL FORMS & VALIDATION
DEPENDENCY INJECTION
AUTO REBUILD
UNIT TESTING
JAVASCRIPT INTEROP
SERVER-SIDE RENDERING
DEBUGGING
INTELLISENSE & TOOLING
LAYOUTS
ASSEMBLY TRIMMING
COMPONENT PACKAGES
ROUTING
Blazor
20
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
blazorREPL.Telerik.com
• Write / Run / Share / Embed
• Live in the browser
• No install
• No account required
• Completely FREE
21
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
Blazor:Client& Server
https://...
DOM
Razor Components
.NET
WebAssembly
https...
DOM
ASP.NET
Core
SignalR
Razor Components
.NET
22
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
HowClient-SideWorks
https://...
Engine
Compiler
Byte Code
DOM
Parser
Foo.js
23
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
HowClient-SideWorks
https://...
DOM
Engine
Parser
Compiler
Byte Code
Foo.wasm
Parser
Compiler
24
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
HowClient-SideWorks
https://...
DOM
Engine
mono.wasm
.NET Runtime
25
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
HowClient-SideWorks
https://...
DOM
.NET Runtime
.NET Application
App.dll
26
© 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved.
https...
HowServer-SideWorks
ASP.NET Core
.NET Runtime
SignalR Blazor.server.js
DOM
27
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Let’s Compare
Client-Side Server-Side
• Low-no server overhead
• RESTful
• Offline & PWA capable
• Larger payload size
• Disconnected Environment
• Performance
• Tiny Payload Size
• Less Abstraction
• Pre-Rendering
• Connection Required
• Server Resources
Blazor Demo
29
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Hybrid apps with .NET & Blazor
Native desktop app
Web view
Native mobile app
Web view
.NET
.NET
Blazor
Blazor
30
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Hybrid app benefits
• Reuse existing web development skills and code
• Access to all the native capabilities of the device
• Mix native & web UI
• Reduce app development time
31
© 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Reuse UI components across native & web
Mix & match web and native UI
Directly access native device functionality
Cross-platform mobile & desktop apps
(primary focus on desktop for .NET 7+)
Blazor hybrid apps with
.NET Multi-platform App UI
.NET Multi-platform App UI
WinUI Mac
Catalyst
Android
iOS
iOS
macOS
github.com/dotnet/maui
Blazor
Blazor Hybrid Demo
Modernizing Web Apps with .NET 6.pptx
Modernizing Web Apps with .NET 6.pptx

More Related Content

What's hot (19)

PPT
Rich Enterprise Applications with JavaFX
Max Katz
 
PDF
Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022
Plesk
 
PPT
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
PPTX
Vue micro frontend implementation patterns
Albert Brand
 
DOCX
Ionic
BalajiBas1
 
PPTX
Getting Started with Lightning Web Components | LWC | Salesforce
Rahul Malhotra
 
PPTX
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
BingWang77
 
PPTX
Building ColdFusion And AngularJS Applications
ColdFusionConference
 
PPTX
Technource - Zend framework Developers India
Technource
 
DOCX
Entity framework (EF) 7
Paul Graham
 
PDF
Dreamweaver Application
Sarah Hall
 
PDF
Intro to lwc - dev week slides
Sara Sali
 
PPTX
Announcing asp.net core updates in .net 5 preview 8
Concetto Labs
 
PPTX
VisionX Prototyping.
SIB Visions GmbH
 
PPTX
Single Page Application (SPA) using AngularJS
M R Rony
 
PDF
Ajax World West
rajivmordani
 
PDF
Modern JavaScript Frameworks: Angular, React & Vue.js
Jonas Bandi
 
PPTX
Mvc3 part1
Muhammad Younis
 
PPT
Restful services with ColdFusion
ColdFusionConference
 
Rich Enterprise Applications with JavaFX
Max Katz
 
Boost Your Server - the Plesk Roadmap 2022 @Cloudfest 2022
Plesk
 
Top 10 web application development frameworks 2016
iMOBDEV Technologies Pvt. Ltd.
 
Vue micro frontend implementation patterns
Albert Brand
 
Ionic
BalajiBas1
 
Getting Started with Lightning Web Components | LWC | Salesforce
Rahul Malhotra
 
Boston, MA Developer Group 2/7/2019 - Introduction to lightning web components
BingWang77
 
Building ColdFusion And AngularJS Applications
ColdFusionConference
 
Technource - Zend framework Developers India
Technource
 
Entity framework (EF) 7
Paul Graham
 
Dreamweaver Application
Sarah Hall
 
Intro to lwc - dev week slides
Sara Sali
 
Announcing asp.net core updates in .net 5 preview 8
Concetto Labs
 
VisionX Prototyping.
SIB Visions GmbH
 
Single Page Application (SPA) using AngularJS
M R Rony
 
Ajax World West
rajivmordani
 
Modern JavaScript Frameworks: Angular, React & Vue.js
Jonas Bandi
 
Mvc3 part1
Muhammad Younis
 
Restful services with ColdFusion
ColdFusionConference
 

Similar to Modernizing Web Apps with .NET 6.pptx (20)

PPTX
Goodbye JavaScript Hello Blazor
Ed Charbeneau
 
PPTX
Blazor Full-Stack
Ed Charbeneau
 
PPTX
Full-stack App in half a Day: Next.js 15 Development Bootcamp
Maurice De Beijer [MVP]
 
PDF
Node.js Tools Ecosystem
Rocket Software
 
PDF
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Alen Leit
 
PDF
Full Steam Ahead, R2DBC!
VMware Tanzu
 
PPTX
ASP.pptx
GlenardDSarmiento
 
ODP
Application development using Zend Framework
Mahmud Ahsan
 
PDF
DevOps for Mainframe: Open Source Fast Track
DevOps.com
 
PPTX
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
PDF
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
PPTX
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
PPTX
.NET Conf 2019 高雄場 - .NET Core 3.0
Jeff Chu
 
PDF
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
PDF
IBM - Developing portlets using Script portlet in WP 8001
Vinayak Tavargeri
 
PPTX
Building share point apps with angularjs
Ahmed Elharouny
 
PDF
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
Ropiudin5
 
PDF
【BS1】What’s new in visual studio 2022 and c# 10
日本マイクロソフト株式会社
 
PDF
Pivotal Platform - December Release A First Look
VMware Tanzu
 
PPTX
Blazor.pptx
ssuserb1d1a2
 
Goodbye JavaScript Hello Blazor
Ed Charbeneau
 
Blazor Full-Stack
Ed Charbeneau
 
Full-stack App in half a Day: Next.js 15 Development Bootcamp
Maurice De Beijer [MVP]
 
Node.js Tools Ecosystem
Rocket Software
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Alen Leit
 
Full Steam Ahead, R2DBC!
VMware Tanzu
 
Application development using Zend Framework
Mahmud Ahsan
 
DevOps for Mainframe: Open Source Fast Track
DevOps.com
 
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
.NET Conf 2019 高雄場 - .NET Core 3.0
Jeff Chu
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
IBM - Developing portlets using Script portlet in WP 8001
Vinayak Tavargeri
 
Building share point apps with angularjs
Ahmed Elharouny
 
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
Ropiudin5
 
【BS1】What’s new in visual studio 2022 and c# 10
日本マイクロソフト株式会社
 
Pivotal Platform - December Release A First Look
VMware Tanzu
 
Blazor.pptx
ssuserb1d1a2
 
Ad

More from Ed Charbeneau (18)

PPTX
Writing JavaScript for C# Blazor.pptx
Ed Charbeneau
 
PPTX
Blazor Stability Testing Tools for Bullet Proof Applications
Ed Charbeneau
 
PPTX
Secrets of a Blazor Component Artisan (v2)
Ed Charbeneau
 
PPTX
Modernizing Web Apps with .NET 6.pptx
Ed Charbeneau
 
PPTX
Secrets of a Blazor Component Artisan
Ed Charbeneau
 
PPTX
Writing java script for Csharp's Blazor
Ed Charbeneau
 
PPTX
Razor into the Razor'verse
Ed Charbeneau
 
PPTX
Blazor
Ed Charbeneau
 
PPTX
Giving Clarity to LINQ Queries by Extending Expressions R2
Ed Charbeneau
 
PPTX
The future of .NET lightning talk
Ed Charbeneau
 
PPTX
Into the next dimension
Ed Charbeneau
 
PPTX
Giving Clarity to LINQ Queries by Extending Expressions
Ed Charbeneau
 
PPTX
What is new in Q2 2015
Ed Charbeneau
 
PPTX
TelerikNEXT What's new in UI for ASP.NET AJAX
Ed Charbeneau
 
PPTX
Journey to JavaScript (from C#)
Ed Charbeneau
 
PPTX
Refactoring css
Ed Charbeneau
 
PPTX
Don't be a stereotype: Rapid Prototype
Ed Charbeneau
 
PPTX
A crash course in responsive design
Ed Charbeneau
 
Writing JavaScript for C# Blazor.pptx
Ed Charbeneau
 
Blazor Stability Testing Tools for Bullet Proof Applications
Ed Charbeneau
 
Secrets of a Blazor Component Artisan (v2)
Ed Charbeneau
 
Modernizing Web Apps with .NET 6.pptx
Ed Charbeneau
 
Secrets of a Blazor Component Artisan
Ed Charbeneau
 
Writing java script for Csharp's Blazor
Ed Charbeneau
 
Razor into the Razor'verse
Ed Charbeneau
 
Giving Clarity to LINQ Queries by Extending Expressions R2
Ed Charbeneau
 
The future of .NET lightning talk
Ed Charbeneau
 
Into the next dimension
Ed Charbeneau
 
Giving Clarity to LINQ Queries by Extending Expressions
Ed Charbeneau
 
What is new in Q2 2015
Ed Charbeneau
 
TelerikNEXT What's new in UI for ASP.NET AJAX
Ed Charbeneau
 
Journey to JavaScript (from C#)
Ed Charbeneau
 
Refactoring css
Ed Charbeneau
 
Don't be a stereotype: Rapid Prototype
Ed Charbeneau
 
A crash course in responsive design
Ed Charbeneau
 
Ad

Recently uploaded (20)

PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PDF
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Top Agile Project Management Tools for Teams in 2025
Orangescrum
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
MiniTool Power Data Recovery 8.8 With Crack New Latest 2025
bashirkhan333g
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
AOMEI Partition Assistant Crack 10.8.2 + WinPE Free Downlaod New Version 2025
bashirkhan333g
 

Modernizing Web Apps with .NET 6.pptx

  • 2. 2 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET vs. ASP.NET Core Full-Framework ASP.NET Core • Windows only • Matured • Supported .NET v. 4.6.2 – 4.8+ • Cross Platform & OSS • Performant • Dependency Injection built-in • Configuration improvements • Improved Middleware Pipeline • Modern Front-End Frameworks • Rapid Release Cycle
  • 3. 3 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET Core benefits: • A unified story for building web UI and web APIs. • Architected for testability. • Razor Pages makes coding page- focused scenarios easier and more productive. • Blazor lets you use C# in the browser alongside JavaScript. Share server- side and client-side app logic all written with .NET.
  • 4. 4 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET Core benefits: (cont.) • Ability to develop and run on Windows, macOS, and Linux. • Open-source and community- focused. • Integration of modern, client-side frameworks and development workflows. • Support for hosting Remote Procedure Call (RPC) services using gRPC.
  • 5. 5 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET MVC -> ASP.NET Core MVC • .NET Upgrade Assistant ⚠️ • Expect Breaking Changes ⚠️ • App Startup ⚠️ • App Settings ⚠️ • Static File hosting ⚠️ • Dependency Injection ⚠️ • Routing ⚠️
  • 6. 6 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET MVC -> ASP.NET Core MVC • HtmlHelpers are generally unchanged ✅ • HTML ✅ • CSS ✅ • JavaScript ✅
  • 7. 7 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET vs. ASP.NET Core: UI Full-Framework ASP.NET Core • WebForms • MVC 5.2 • MVC • Razor Pages • Blazor
  • 8. 8 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. MVC (Model-View-Controller) • Clear separation of responsibilities • Testable • Flexible • Server Rendered views, JavaScript for interactivity
  • 9. 9 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. MVC (Model-View-Controller) • Razor lets you render a page/component using C# • @ syntax • Rendered on the server • Client-side logic is JavaScript (typically jQuery) • Html Helpers / TagHelpers / Razor Components
  • 10. 10 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Razor Pages • ASP.NET without the fuss of MVC • Feature focused • MVVM like • Server Rendered views, JavaScript for interactivity
  • 11. 11 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Razor Pages • Razor lets you render a page/component using C# • @ syntax • Rendered on the server • Client-side logic is JavaScript (typically jQuery) • Html Helpers / TagHelpers / Razor Components
  • 12. 12 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Blazor Wasm (WebAssembly) • .NET in the Browser • Web Standards • Rendered Client-Side • Single Page Application (SPA) • Much like Angular/React but using C# • Low Learning Curve for .NET Developers • Great transition from WebForms or Silverlight
  • 13. 13 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Blazor Server • Same framework as Blazor Wasm ( minus WebAssembly ) • Rendered Server-Side, instead of Client • .NET on the server, thin client on the browser • Great for LOB apps
  • 14. 14 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Blazor • Razor Components / RenderTree • @ syntax • Rendered on the client • UI logic is C# instead of JS
  • 15. 15 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. ASP.NET in .NET Core: Component Models Framework Component Models MVC HtmlHelpers, TagHelpers, Razor Components* Razor Pages HtmlHelpers, TagHelpers, Razor Components* Blazor Razor Components *Requires Blazor dependencies
  • 17. 17 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Blazor is a new .NET web framework using C# and HTML that runs in the browser. What is Blazor Browser + Razor = Blazor
  • 18. 18 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Just the FAQs What it IS What it is NOT • Client-side C# • Web Standard Technologies • WebAssembly • .NET Standard • A Plugin • ASP.NET WebForms • Trans-piled JavaScript
  • 19. PUBLISHING COMPONENT MODEL FORMS & VALIDATION DEPENDENCY INJECTION AUTO REBUILD UNIT TESTING JAVASCRIPT INTEROP SERVER-SIDE RENDERING DEBUGGING INTELLISENSE & TOOLING LAYOUTS ASSEMBLY TRIMMING COMPONENT PACKAGES ROUTING Blazor
  • 20. 20 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. blazorREPL.Telerik.com • Write / Run / Share / Embed • Live in the browser • No install • No account required • Completely FREE
  • 21. 21 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. Blazor:Client& Server https://... DOM Razor Components .NET WebAssembly https... DOM ASP.NET Core SignalR Razor Components .NET
  • 22. 22 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. HowClient-SideWorks https://... Engine Compiler Byte Code DOM Parser Foo.js
  • 23. 23 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. HowClient-SideWorks https://... DOM Engine Parser Compiler Byte Code Foo.wasm Parser Compiler
  • 24. 24 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. HowClient-SideWorks https://... DOM Engine mono.wasm .NET Runtime
  • 25. 25 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. HowClient-SideWorks https://... DOM .NET Runtime .NET Application App.dll
  • 26. 26 © 2020 ProgressSoftware Corporation and/or its subsidiaries or affiliates. All rights reserved. https... HowServer-SideWorks ASP.NET Core .NET Runtime SignalR Blazor.server.js DOM
  • 27. 27 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Let’s Compare Client-Side Server-Side • Low-no server overhead • RESTful • Offline & PWA capable • Larger payload size • Disconnected Environment • Performance • Tiny Payload Size • Less Abstraction • Pre-Rendering • Connection Required • Server Resources
  • 29. 29 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Hybrid apps with .NET & Blazor Native desktop app Web view Native mobile app Web view .NET .NET Blazor Blazor
  • 30. 30 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Hybrid app benefits • Reuse existing web development skills and code • Access to all the native capabilities of the device • Mix native & web UI • Reduce app development time
  • 31. 31 © 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Reuse UI components across native & web Mix & match web and native UI Directly access native device functionality Cross-platform mobile & desktop apps (primary focus on desktop for .NET 7+) Blazor hybrid apps with .NET Multi-platform App UI .NET Multi-platform App UI WinUI Mac Catalyst Android iOS iOS macOS github.com/dotnet/maui Blazor

Editor's Notes

  • #9: This delineation of responsibilities helps you scale the application in terms of complexity because it's easier to code, debug, and test something (model, view, or controller) that has a single job.
  • #20: Blazor is a fully featured single page application framework by Microsoft It has a huge ecosystem of .NET packages on NuGet because it’s compatible with .NET standard
  • #22: Blazor is independent of it’s hosting model This means we have options when hosting host Blazor applications. The most common options are Client-Side, and Server-Side hosting. Let’s discuss the two options starting with Client-Side Blazor.
  • #23: In a typical application JavaScript is downloaded by the browser It is then parsed, compiled, and turned into byte code before it can execute.
  • #24: A more modern approach is to use WebAssembly, which is a standard byte code browsers can execute. What makes WebAssembly different, is that it is parsed and compiled before it is delivered to the browser. Languages other than JavaScript, such as C++ can compile directly to WebAssembly byte code.
  • #25: Microsoft has taken the .NET runtime and compiled as web assembly. This makes it possible to run .NET code directly in the browser.
  • #26: This is how Blazor enables developers to write .NET code in a client-side web application. Because the .NET runtime is available on the client, we can utilize virtually any .NET Standard assembly.
  • #27: If we choose to host Blazor on the server