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
Ad

More Related Content

What's hot (19)

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

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

Goodbye JavaScript Hello Blazor
Goodbye JavaScript Hello BlazorGoodbye JavaScript Hello Blazor
Goodbye JavaScript Hello Blazor
Ed Charbeneau
 
Blazor Full-Stack
Blazor Full-StackBlazor Full-Stack
Blazor Full-Stack
Ed Charbeneau
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
Rocket Software
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Alen Leit
 
Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!
VMware Tanzu
 
ASP.pptx
ASP.pptxASP.pptx
ASP.pptx
GlenardDSarmiento
 
Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend Framework
Mahmud Ahsan
 
DevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast TrackDevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast Track
DevOps.com
 
Full stack web development with c# and web assembly - Blazor.Net
Full stack web development with c# and web assembly - Blazor.NetFull stack web development with c# and web assembly - Blazor.Net
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
Jeff Chu
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORKSpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001
Vinayak Tavargeri
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
Ahmed Elharouny
 
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdfPDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
Ropiudin5
 
【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10【BS1】What’s new in visual studio 2022 and c# 10
【BS1】What’s new in visual studio 2022 and c# 10
日本マイクロソフト株式会社
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
VMware Tanzu
 
Blazor.pptx
Blazor.pptxBlazor.pptx
Blazor.pptx
ssuserb1d1a2
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
Open Source Strategy Forum
 
Goodbye JavaScript Hello Blazor
Goodbye JavaScript Hello BlazorGoodbye JavaScript Hello Blazor
Goodbye JavaScript Hello Blazor
Ed Charbeneau
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Alen Leit
 
Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!
VMware Tanzu
 
Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend Framework
Mahmud Ahsan
 
DevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast TrackDevOps for Mainframe: Open Source Fast Track
DevOps for Mainframe: Open Source Fast Track
DevOps.com
 
Full stack web development with c# and web assembly - Blazor.Net
Full stack web development with c# and web assembly - Blazor.NetFull stack web development with c# and web assembly - Blazor.Net
Full stack web development with c# and web assembly - Blazor.Net
Ruwantha Ratnayake
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015
Shahed Chowdhuri
 
.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0.NET Conf 2019 高雄場 - .NET Core 3.0
.NET Conf 2019 高雄場 - .NET Core 3.0
Jeff Chu
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORKSpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001IBM - Developing portlets using Script portlet in WP 8001
IBM - Developing portlets using Script portlet in WP 8001
Vinayak Tavargeri
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
Ahmed Elharouny
 
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdfPDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
PDF_Slide__Memodernisasi_aplikasi_Microsoft_Anda_dengan_cepat_di_AWS.pdf
Ropiudin5
 
Pivotal Platform - December Release A First Look
Pivotal Platform - December Release A First LookPivotal Platform - December Release A First Look
Pivotal Platform - December Release A First Look
VMware Tanzu
 
Ad

More from Ed Charbeneau (18)

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

Recently uploaded (20)

Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 

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