SlideShare a Scribd company logo
.NET7 Deep Dive
Udaiappa Ramachandran ( Udai )
https://udai.io
About me
• Udaiappa Ramachandran ( Udai )
• CTO-Akumina, Inc.
• Microsoft Azure MVP
• Cloud Expert
• Microsoft Azure, Amazon Web Services, and Google
• New Hampshire Cloud User Group (http://www.meetup.com/nashuaug )
• https://udai.io
Agenda
• .NET 7
• CLI & Documentation
• ASP.NET Core 7
• .NET MAUI
• Containers support
• Regular Expressions
• JSON Improvements
• AOT
• Demo…Demo…Demo…
.NET 6
https://udai.io/boston-net-6-deep-dive-virtual/
.NET 7 Downloads
https://dotnet.microsoft.com/en-us/download/dotnet/7.0
RoadMap
https://themesof.net/roadmap?product=.NET&release=7.0
CLI & Documentation
• Tab completion (PowerShell, bash, zsh, fish)
• dotnet add p<TAB>
• Tab completion for add will list the templates
• Angular, blazorserver, blazorwasm, classlib, console, editorconfig, gitignore, grpc, mstest, mvc,
nugetconfig, nunit, page, proto, razor, react, sln, tool-manifest, viewimports, viewstart, xunit,
web, webapi, webapp, webconfig, winforms, wpf, wpflib
• Documentation
• dotnet new--help
ASP.NET Core
• RateLimitter
• CacheOutput
• Minimal API Filters
• Binding QueryString to array of primitive types
• SignalR
• Nullable types support in MVC and Razor pages
• Blazor WebAssembly
• Access to Hardware API such as filesystem, webcam, etc.,
• Location changing Event
• JavaScript Interop to invoke .NET code
• HTTP 3 (preview)
Zero-to-Container
https://devblogs.microsoft.com/dotnet/announcing-builtin-container-support-for-the-dotnet-sdk/
.NET MAUI
• MAP Control
• Desktop UI improvements
• Context menu via the MenuFlyout control
• Tooltips
• Gestures
• Window size and position with size changed event
• Simplified IDE MAUI App
Regular Expressions
• Fast as compiled Regex
• Faster startup
• Better debugging
• New Regex source generator
• Regex Analyzers and Fixers
https://devblogs.microsoft.com/dotnet/regular-expression-improvements-in-dotnet-7/
JSON Improvements
• Serialize/Deserialize Object state to JSON Text
• System.Text.Json support polymorphic type hierarchy using JsonDerivedType
attributes
• JSON contract customization (automatic in .net 6 and earlier) using resolver
• Serialize private fields and properties
• Support multiple names for a property
• Ignore properties, based on name, type or value
AOT (Ahead-Of-Compilation)
• AOT generates machine code at build time
• Machine code is targeting specific OS and Hardware
• Multiple Executables against Win32, Win64, Linux64, etc.,
• Everything is platform native like Go, Swift and Rust are compiled
• .NET AOT Tools
• .NET 6
• CrossGen2
• ReadyToRun
• Mano AOT for Mobile
• .NET 7
• Native AOT
• Not a replacement of existing technologies but it adds new capabilities
• <publishAot>true</publishAot>
AOT (Ahead-Of-Compilation)
• Pros
• Faster startup time
• Smaller file size
• Smaller memory footprint on computer
• Cons
• Console apps only
• No reflection allowed
• No dynamic loading
• No runtime code generation
Central Package Management
• Create Directory.Packages.props with ManagePackageVersionsCentrally to
true and include Version
• Declare PackageReference items without Version attributes in project files
https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management
Some of Other Improvements
• Brotli Compression
• Observability
• DateTime
• Tar Archives
• On-Stack Replacement (OSR)
• Profile-Guided Optimization (PGO)
• Much more……
Reference
• What’s new in .NET7: https://learn.microsoft.com/en-us/dotnet/core/whats-
new/dotnet-7
• Performance Improvements:
https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7
• YouTube Performance Improvements:
https://www.youtube.com/watch?v=yNPEdaxkTZw
• RoadMap: https://themesof.net/roadmap?product=.NET&release=7.0
• C#11: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11
• F#7: https://devblogs.microsoft.com/dotnet/announcing-fsharp-7
• Demo Samples: https://github.com/nhcloud/techtalk

More Related Content

Similar to .NET7.pptx

Monkey space 2013
Monkey space 2013Monkey space 2013
Monkey space 2013
Miguel de Icaza
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
Karl-Henry Martinsson
 
The future of node
The future of nodeThe future of node
The future of node
Sarunyhot Suwannachoti
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
Albert Wong
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
Aaron Rosenberg
 
Node.js: The What, The How and The When
Node.js: The What, The How and The WhenNode.js: The What, The How and The When
Node.js: The What, The How and The When
FITC
 
Cross-Platform Desktop Apps with Electron (CodeStock Edition)
Cross-Platform Desktop Apps with Electron (CodeStock Edition)Cross-Platform Desktop Apps with Electron (CodeStock Edition)
Cross-Platform Desktop Apps with Electron (CodeStock Edition)
David Neal
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
Rami Sayar
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Node azure
Node azureNode azure
Node azure
Emanuele DelBono
 
An Introduction to Node.js Development with Windows Azure
An Introduction to Node.js Development with Windows AzureAn Introduction to Node.js Development with Windows Azure
An Introduction to Node.js Development with Windows Azure
Troy Miles
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - Intro
Mohammad Shaker
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaAlexandre Morgaut
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
Ryan Cuprak
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
orkaplan
 
Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0
Matt Warren
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
Ethan Ram
 
18_Node.js.ppt
18_Node.js.ppt18_Node.js.ppt
18_Node.js.ppt
KhalilSalhi7
 

Similar to .NET7.pptx (20)

Monkey space 2013
Monkey space 2013Monkey space 2013
Monkey space 2013
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
 
The future of node
The future of nodeThe future of node
The future of node
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
20120306 dublin js
20120306 dublin js20120306 dublin js
20120306 dublin js
 
Node.js: The What, The How and The When
Node.js: The What, The How and The WhenNode.js: The What, The How and The When
Node.js: The What, The How and The When
 
Cross-Platform Desktop Apps with Electron (CodeStock Edition)
Cross-Platform Desktop Apps with Electron (CodeStock Edition)Cross-Platform Desktop Apps with Electron (CodeStock Edition)
Cross-Platform Desktop Apps with Electron (CodeStock Edition)
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Node azure
Node azureNode azure
Node azure
 
An Introduction to Node.js Development with Windows Azure
An Introduction to Node.js Development with Windows AzureAn Introduction to Node.js Development with Windows Azure
An Introduction to Node.js Development with Windows Azure
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - Intro
 
Benefits of an Open environment with Wakanda
Benefits of an Open environment with WakandaBenefits of an Open environment with Wakanda
Benefits of an Open environment with Wakanda
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0Microsoft & open source a 'brave new world' - CORESTART 2.0
Microsoft & open source a 'brave new world' - CORESTART 2.0
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 
18_Node.js.ppt
18_Node.js.ppt18_Node.js.ppt
18_Node.js.ppt
 

More from Udaiappa Ramachandran

RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
Udaiappa Ramachandran
 
Level up your security using Intune.pptx
Level up your security using Intune.pptxLevel up your security using Intune.pptx
Level up your security using Intune.pptx
Udaiappa Ramachandran
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
Udaiappa Ramachandran
 
AI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxAI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptx
Udaiappa Ramachandran
 
AzureSynapse.pptx
AzureSynapse.pptxAzureSynapse.pptx
AzureSynapse.pptx
Udaiappa Ramachandran
 
Vector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptxVector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptx
Udaiappa Ramachandran
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptx
Udaiappa Ramachandran
 
AzureOpenAI.pptx
AzureOpenAI.pptxAzureOpenAI.pptx
AzureOpenAI.pptx
Udaiappa Ramachandran
 
OpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptxOpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptx
Udaiappa Ramachandran
 
DiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptxDiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptx
Udaiappa Ramachandran
 
MAUI.pptx
MAUI.pptxMAUI.pptx
CosmosDB.pptx
CosmosDB.pptxCosmosDB.pptx
CosmosDB.pptx
Udaiappa Ramachandran
 
AzureDevOps
AzureDevOpsAzureDevOps
AzureCostManagementAndBilling
AzureCostManagementAndBillingAzureCostManagementAndBilling
AzureCostManagementAndBilling
Udaiappa Ramachandran
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
Udaiappa Ramachandran
 
Azure staticwebapps
Azure staticwebappsAzure staticwebapps
Azure staticwebapps
Udaiappa Ramachandran
 
Azure privatelink
Azure privatelinkAzure privatelink
Azure privatelink
Udaiappa Ramachandran
 
Azure Security Center
Azure Security CenterAzure Security Center
Azure Security Center
Udaiappa Ramachandran
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
Udaiappa Ramachandran
 
Azure governance
Azure governanceAzure governance
Azure governance
Udaiappa Ramachandran
 

More from Udaiappa Ramachandran (20)

RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
Level up your security using Intune.pptx
Level up your security using Intune.pptxLevel up your security using Intune.pptx
Level up your security using Intune.pptx
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
AI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxAI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptx
 
AzureSynapse.pptx
AzureSynapse.pptxAzureSynapse.pptx
AzureSynapse.pptx
 
Vector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptxVector Search using OpenAI in Azure Cognitive Search.pptx
Vector Search using OpenAI in Azure Cognitive Search.pptx
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptx
 
AzureOpenAI.pptx
AzureOpenAI.pptxAzureOpenAI.pptx
AzureOpenAI.pptx
 
OpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptxOpenAI-Copilot-ChatGPT.pptx
OpenAI-Copilot-ChatGPT.pptx
 
DiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptxDiagnoseAndSolveproblems.pptx
DiagnoseAndSolveproblems.pptx
 
MAUI.pptx
MAUI.pptxMAUI.pptx
MAUI.pptx
 
CosmosDB.pptx
CosmosDB.pptxCosmosDB.pptx
CosmosDB.pptx
 
AzureDevOps
AzureDevOpsAzureDevOps
AzureDevOps
 
AzureCostManagementAndBilling
AzureCostManagementAndBillingAzureCostManagementAndBilling
AzureCostManagementAndBilling
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update Management
 
Azure staticwebapps
Azure staticwebappsAzure staticwebapps
Azure staticwebapps
 
Azure privatelink
Azure privatelinkAzure privatelink
Azure privatelink
 
Azure Security Center
Azure Security CenterAzure Security Center
Azure Security Center
 
Azure signalr service
Azure signalr serviceAzure signalr service
Azure signalr service
 
Azure governance
Azure governanceAzure governance
Azure governance
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

.NET7.pptx

  • 1. .NET7 Deep Dive Udaiappa Ramachandran ( Udai ) https://udai.io
  • 2. About me • Udaiappa Ramachandran ( Udai ) • CTO-Akumina, Inc. • Microsoft Azure MVP • Cloud Expert • Microsoft Azure, Amazon Web Services, and Google • New Hampshire Cloud User Group (http://www.meetup.com/nashuaug ) • https://udai.io
  • 3. Agenda • .NET 7 • CLI & Documentation • ASP.NET Core 7 • .NET MAUI • Containers support • Regular Expressions • JSON Improvements • AOT • Demo…Demo…Demo…
  • 7. CLI & Documentation • Tab completion (PowerShell, bash, zsh, fish) • dotnet add p<TAB> • Tab completion for add will list the templates • Angular, blazorserver, blazorwasm, classlib, console, editorconfig, gitignore, grpc, mstest, mvc, nugetconfig, nunit, page, proto, razor, react, sln, tool-manifest, viewimports, viewstart, xunit, web, webapi, webapp, webconfig, winforms, wpf, wpflib • Documentation • dotnet new--help
  • 8. ASP.NET Core • RateLimitter • CacheOutput • Minimal API Filters • Binding QueryString to array of primitive types • SignalR • Nullable types support in MVC and Razor pages • Blazor WebAssembly • Access to Hardware API such as filesystem, webcam, etc., • Location changing Event • JavaScript Interop to invoke .NET code • HTTP 3 (preview)
  • 10. .NET MAUI • MAP Control • Desktop UI improvements • Context menu via the MenuFlyout control • Tooltips • Gestures • Window size and position with size changed event • Simplified IDE MAUI App
  • 11. Regular Expressions • Fast as compiled Regex • Faster startup • Better debugging • New Regex source generator • Regex Analyzers and Fixers https://devblogs.microsoft.com/dotnet/regular-expression-improvements-in-dotnet-7/
  • 12. JSON Improvements • Serialize/Deserialize Object state to JSON Text • System.Text.Json support polymorphic type hierarchy using JsonDerivedType attributes • JSON contract customization (automatic in .net 6 and earlier) using resolver • Serialize private fields and properties • Support multiple names for a property • Ignore properties, based on name, type or value
  • 13. AOT (Ahead-Of-Compilation) • AOT generates machine code at build time • Machine code is targeting specific OS and Hardware • Multiple Executables against Win32, Win64, Linux64, etc., • Everything is platform native like Go, Swift and Rust are compiled • .NET AOT Tools • .NET 6 • CrossGen2 • ReadyToRun • Mano AOT for Mobile • .NET 7 • Native AOT • Not a replacement of existing technologies but it adds new capabilities • <publishAot>true</publishAot>
  • 14. AOT (Ahead-Of-Compilation) • Pros • Faster startup time • Smaller file size • Smaller memory footprint on computer • Cons • Console apps only • No reflection allowed • No dynamic loading • No runtime code generation
  • 15. Central Package Management • Create Directory.Packages.props with ManagePackageVersionsCentrally to true and include Version • Declare PackageReference items without Version attributes in project files https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management
  • 16. Some of Other Improvements • Brotli Compression • Observability • DateTime • Tar Archives • On-Stack Replacement (OSR) • Profile-Guided Optimization (PGO) • Much more……
  • 17. Reference • What’s new in .NET7: https://learn.microsoft.com/en-us/dotnet/core/whats- new/dotnet-7 • Performance Improvements: https://devblogs.microsoft.com/dotnet/performance_improvements_in_net_7 • YouTube Performance Improvements: https://www.youtube.com/watch?v=yNPEdaxkTZw • RoadMap: https://themesof.net/roadmap?product=.NET&release=7.0 • C#11: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-11 • F#7: https://devblogs.microsoft.com/dotnet/announcing-fsharp-7 • Demo Samples: https://github.com/nhcloud/techtalk

Editor's Notes

  1. Asp.NET Core, Razor Pages, Web API, Blazor SignalR supports for strongly typed clients and requesting results from client invocations. injecting services through DI Hub constructors can accept services from the DI as parameters Minimal API filters to implement business logic that supports code running before, after the route handler, inspecting and modifying parameters provided during the route handler invocation, and intercepting the response behavior of a route handler. Nullable page models for Razor pages and nullable View models for MVC Blazor components within WebView control in the desktop UI access to underlying hardware API to access local file system, webcam. Blazor location changing events -- alert unsaved works JavaScript interop to invoke .NET code (open .NET code from JavaScript using .NET web assembly runtime as well as call into JavaScript functionality from .NET without any dependency on the Blazor UI component model. without dependency
  2. Announcing built-in container support for the .NET SDK - .NET Blog (microsoft.com) # create a new project and move to its directory dotnet new mvc -n my-awesome-container-app cd my-awesome-container-app # add a reference to a (temporary) package that creates the container dotnet add package Microsoft.NET.Build.Containers # publish your project for linux-x64 dotnet publish --os linux --arch x64 -c Release -p:PublishProfile=DefaultContainer # run your app using the new container docker run -it --rm -p 5010:80 my-awesome-container-app:1.0.0
  3. Windows, macos, ios and android share UI layout and design across platforms Map control delegates the native map rendering to native mobile platform (ios –apple mapss), android (google maps) Pointer gestures, hovering mouse for secondary gestures
  4. RegEx is pattern matching is a complex algorithm .NET 5 Rosyln as a source generator Not helpful if regex pattern is not known at compile time Regex analyzers and fixers https://devblogs.microsoft.com/dotnet/regular-expression-improvements-in-dotnet-7/ IndexOf improvements
  5. Dotnet publish –r win-x64 –c release code should be compiled into machine code .net and java relied on JIT -- where code is complied twice one in developer compiletime and JIT at runtime advantage of JIT is to run any platform, one exe can be run in multiple platform AOT generates machine code at build time, machine code is targets specic operating system and hardware architecture such as x64,32 etc., AOT you must compile multiple executable Win32, Win64,Linux64 Native AOT full native pre-compilation (desktop client and services scenario) NAOT not replacing existing technologies, new set of cababilities for unlocking several form factors everything is platform native simillar to how Go,Swift, and Rust are compiled
  6. Dotnet publish –r win-x64 –c release Pros when startup time matters the most smaller file sie smaller memory footprint on computer.NET AOT Tools Cons console apps only no reflection allowed no dynamic loading no runtime code generation (sytem.reflection.init)
  7. OSR is complement to Tiered compilation (introduced in .net core 3.0) <TieredPGO>true</TieredPGO> Instrument, Train and Optimize