SlideShare a Scribd company logo
1 of 34
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

Rich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXRich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXMax 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 2022Plesk
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patternsAlbert 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 | SalesforceRahul 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 componentsBingWang77
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsColdFusionConference
 
Technource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource
 
Entity framework (EF) 7
Entity framework (EF) 7Entity framework (EF) 7
Entity framework (EF) 7Paul Graham
 
Dreamweaver Application
Dreamweaver ApplicationDreamweaver Application
Dreamweaver ApplicationSarah Hall
 
Intro to lwc - dev week slides
Intro to lwc - dev week slidesIntro to lwc - dev week slides
Intro to lwc - dev week slidesSara 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 8Concetto Labs
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM 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.jsJonas Bandi
 

What's hot (19)

Rich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFXRich Enterprise Applications with JavaFX
Rich Enterprise Applications with JavaFX
 
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
 
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
 
Vue micro frontend implementation patterns
Vue micro frontend implementation patternsVue micro frontend implementation patterns
Vue micro frontend implementation patterns
 
Ionic
IonicIonic
Ionic
 
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
 
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
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
 
Technource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource - Zend framework Developers India
Technource - Zend framework Developers India
 
Entity framework (EF) 7
Entity framework (EF) 7Entity framework (EF) 7
Entity framework (EF) 7
 
Dreamweaver Application
Dreamweaver ApplicationDreamweaver Application
Dreamweaver Application
 
Intro to lwc - dev week slides
Intro to lwc - dev week slidesIntro to lwc - dev week slides
Intro to lwc - dev week slides
 
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
 
VisionX Prototyping.
VisionX Prototyping.VisionX Prototyping.
VisionX Prototyping.
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
Ajax World West
Ajax World WestAjax World West
Ajax World West
 
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
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 

Similar to Modernizing Web Apps with .NET 6.pptx

Goodbye JavaScript Hello Blazor
Goodbye JavaScript Hello BlazorGoodbye JavaScript Hello Blazor
Goodbye JavaScript Hello BlazorEd 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 2017Alen Leit
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
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 FrameworkMahmud 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 TrackDevOps.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.NetRuwantha 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 SoftwareRitwik 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 2015Shahed 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.0Jeff 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 FRAMEWORKSpringPeople
 
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 8001Vinayak Tavargeri
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjsAhmed 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.pdfRopiudin5
 
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 LookVMware Tanzu
 

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
 
Blazor Full-Stack
Blazor Full-StackBlazor Full-Stack
Blazor Full-Stack
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 
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
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!Full Steam Ahead, R2DBC!
Full Steam Ahead, R2DBC!
 
ASP.pptx
ASP.pptxASP.pptx
ASP.pptx
 
Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend Framework
 
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
 
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
 
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
 
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
 
.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
 
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
 
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
 
Building share point apps with angularjs
Building share point apps with angularjsBuilding share point apps with angularjs
Building share point apps with angularjs
 
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
 
【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
 
Blazor.pptx
Blazor.pptxBlazor.pptx
Blazor.pptx
 

More from Ed Charbeneau

Writing JavaScript for C# Blazor.pptx
Writing JavaScript for C# Blazor.pptxWriting JavaScript for C# Blazor.pptx
Writing JavaScript for C# Blazor.pptxEd 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 ApplicationsEd 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.pptxEd Charbeneau
 
Secrets of a Blazor Component Artisan
Secrets of a Blazor Component ArtisanSecrets of a Blazor Component Artisan
Secrets of a Blazor Component ArtisanEd 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 BlazorEd Charbeneau
 
Razor into the Razor'verse
Razor into the Razor'verseRazor into the Razor'verse
Razor into the Razor'verseEd 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 R2Ed Charbeneau
 
The future of .NET lightning talk
The future of .NET lightning talkThe future of .NET lightning talk
The future of .NET lightning talkEd Charbeneau
 
Into the next dimension
Into the next dimensionInto the next dimension
Into the next dimensionEd 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 ExpressionsEd Charbeneau
 
What is new in Q2 2015
What is new in Q2 2015What is new in Q2 2015
What is new in Q2 2015Ed 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 AJAXEd 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 PrototypeEd Charbeneau
 
A crash course in responsive design
A crash course in responsive designA crash course in responsive design
A crash course in responsive designEd Charbeneau
 

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
 
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
 
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)
 
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
 
Secrets of a Blazor Component Artisan
Secrets of a Blazor Component ArtisanSecrets of a Blazor Component Artisan
Secrets of a Blazor Component Artisan
 
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
 
Razor into the Razor'verse
Razor into the Razor'verseRazor into the Razor'verse
Razor into the Razor'verse
 
Blazor
BlazorBlazor
Blazor
 
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
 
The future of .NET lightning talk
The future of .NET lightning talkThe future of .NET lightning talk
The future of .NET lightning talk
 
Into the next dimension
Into the next dimensionInto the next dimension
Into the next dimension
 
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
 
What is new in Q2 2015
What is new in Q2 2015What is new in Q2 2015
What is new in Q2 2015
 
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
 
Journey to JavaScript (from C#)
Journey to JavaScript (from C#)Journey to JavaScript (from C#)
Journey to JavaScript (from C#)
 
Refactoring css
Refactoring cssRefactoring css
Refactoring css
 
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
 
A crash course in responsive design
A crash course in responsive designA crash course in responsive design
A crash course in responsive design
 

Recently uploaded

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Recently uploaded (20)

Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

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

  1. 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.
  2. 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
  3. 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.
  4. In a typical application JavaScript is downloaded by the browser It is then parsed, compiled, and turned into byte code before it can execute.
  5. 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.
  6. Microsoft has taken the .NET runtime and compiled as web assembly. This makes it possible to run .NET code directly in the browser.
  7. 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.
  8. If we choose to host Blazor on the server