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

Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOpsAlbert Wong
 
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 WhenFITC
 
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 101Rami 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
 
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 AzureTroy Miles
 
C++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroC++ Windows Forms L01 - Intro
C++ Windows Forms L01 - IntroMohammad 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.jsorkaplan
 
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.0Matt 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
 

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 AIUdaiappa 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.pptxUdaiappa 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.pptxUdaiappa Ramachandran
 
AI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxAI-Plugins-Planners-Persona-SemanticKernel.pptx
AI-Plugins-Planners-Persona-SemanticKernel.pptxUdaiappa 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.pptxUdaiappa Ramachandran
 
SecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxSecureAzureServicesUsingADAuthentication.pptx
SecureAzureServicesUsingADAuthentication.pptxUdaiappa Ramachandran
 
Azure Automation and Update Management
Azure Automation and Update ManagementAzure Automation and Update Management
Azure Automation and Update ManagementUdaiappa 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

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

.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