SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
www.xedotnet.org
Modernizing Enterprise Apps
#XeOneDay
Mirco Vanini
Evento realizzato grazie
al supporto di
Agenda
#XeOneDay 2
Windows desktop market and opportunity
One “Windows” Platform
Why Windows Desktop on .NET Core?
.NET Core 3 Desktop Improvements
.NET Core road map
.NET FW technologies unavailable on .NET Core 3
Migrating a WinForm / WPF app to Core
Survey
#XeOneDay 3
• Windows Forms ?
• WPF ?
• UWP ?
Windows desktop market and opportunity
#XeOneDay 4
2.4Million
Developers building desktop apps
in Visual Studio every month
700Million
Windows 10 Desktops
Source: Ignite 2018
+50%
In the last 18 months
Windows 10
#XeOneDay 5
• How many of your companies have moved to Windows 10 ?
• Remain on Windows 7 ?
• Plans to move by … ?
One “Windows” Platform
#XeOneDay 6
Modern Desktop
Modern Application
Platform
Desktop Application
Platform
Robust & Secure
Powerful
.NET Core
#XeOneDay 7
DESKTOPWEB CLOUD
LIBRARIES
INFRASTRUCTURE
.NET CORE.NET CORE 3
.NET Core 3 expands
supported workloads
to include Windows
Desktop, IoT & AI
.NET Core is perfectly suited
for the requirements of
cloud-native, cross-platform
workloads
32
Why Windows Desktop on .NET Core?
#XeOneDay 8
• .NET Core is the fast innovating .NET
• Deployment Flexibility
• Side-by-side support
• Machine global or app local framework
• Self-contained EXEs
• Core runtime and API improvements
• BCL
• Language features
• Performance
• Open Source
• Windows Form
• Windows Presentation Foundation
• Windows UI XAML Library
.NET Core 3 Desktop Improvements
#XeOneDay 9
• Support for Windows Forms and WPF
• XAML Islands – WinForms & WPF can host UWP
• XAML Controls – WinForms & WPF browser and media UWP controls
• High DPI fixes for WinForms
• Access to all the Windows 10 (AKA “WinRT”) APIs
• .NET Core App Bundle
• Precompiled, fast startup
• Small app by removing unused dependencies, link away unused IL
• Self-contained .exe
(WPF + WinForms) * .NET Core = Modern Desktop
Big Picture
#XeOneDay 10
Highly-compatible,
targeted improvements,
like last few releases
• .NET Framework support unchanged
(supported for life of Windows)
• Side-by-side support
• Self-contained EXEs
UWP
Windows-only
DATAWEB
ASP.NET
Core
EF 6
EF Core
AI/ML
ML.NET
WPF
.NET Core 3.NET Framework 4.8
.NET STANDARD
Existing App
Highly
compatible
updates
Install .NET Core
updates per your
needs
Modernize Desktop Apps with .NET Core 3
Windows-only Cross-platform
Windows
Forms
Update .NET Framework Apps
• XAML Islands - WinForms & WPF apps can host UWP controls
• Full access to Windows 10 APIs
FEATURES IN BOTH FXs
Microsoft blogs quotes
#XeOneDay 11
.NET 5 = .NET Core vNext – A Unified platform
#XeOneDay 12
.NET Core 3 current status
#XeOneDay 13
• .NET Core 3 Preview 5 SDK’s WinForms & WPF
• VS templates
• CLI command
• Visual Studio 2019 supports building and debugging
• Designers not available yet (16.04)
• Designers is available start 16.1 preview 3
• WPF, Windows Forms, Windows UI Library are OSS
• WPF, Windows Form complete covered on .NET Core Preview 7
.NET FW technologies unavailable on .NET
Core 3
#XeOneDay 14
• AppDomains
• Remoting
• Code Access Security (CAS)
• Security Transparency
• COM* (any COM environment (e.g. C/C++) other than .NET.)
https://docs.microsoft.com/en-us/dotnet/core/porting/net-framework-tech-unavailable
https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/COM-activation.md
Server Client Current Support
COM* .NET Core Yes
.NET Core COM* Yes
.NET Core .NET Core Yes
.NET Framework .NET Core No
.NET Core .NET Framework No
.NET Core 3 road map
#XeOneDay 15
• .NET Core 3.0: September 2019
• Includes Windows forms and WPF
• Open Source on “dotnet” GitHub
• .NET Core 3.1: November 2019
• Long Term Support (LTS)
Migrating a WinForm / WPF app to Core
#XeOneDay 16
• Identify dependencies
• Retarget to .NET Framework 4.7.2
• .NET Portability Analyzer
• Packages.config -> PackageReference
• Libraries first (.NET Standard or multi-target)
• Convert your old project files to the new 2017 format
• Test everything thoroughly (use the app)
• Consider self-contained (beware risk)
https://docs.microsoft.com/en-us/dotnet/core/porting/
https://devblogs.microsoft.com/dotnet/how-to-port-desktop-applications-to-net-core-3-0/
https://github.com/hvanbakel/CsprojToVs2017
https://www.michaeltaylorp3.net/migrating-to-sdk-project-format/
Migrate Windows Form / WPF Apps
#XeOneDay 17
DEMO
Detection Platform Compatibility Issues
#XeOneDay 18
• API Analyzer
• Roslyn analyzer that notifier you about the usage of APIs that don’t work across
all platforms and about deprecate APIs
https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack
Windows Compatibility Pack
#XeOneDay 19
• Provided as NuGet Package
• Microsoft.Windows.Compatibility
• Can be referenced from .NET Core & .NET Standard
• Has more 21K APIs (Windows-only as well as cross-platform)
https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack
• Code Pages
• CodeDom
• Configuration
• Directory Services
• Drawing
• ODBC
• Permissions
• Ports
• Windows Access Control Lists (ACL)
• Windows Communication Foundation (WCF)
• Windows Cryptography
• Windows EventLog
• Windows Management Instrumentation (WMI)
• Windows Performance Counters
• Windows Registry
• Windows Runtime Caching
• Windows Services
Recap
#XeOneDay 20
#XeOneDay 21
www.proxsoft.it
info@proxsoft.it
@MircoVanini
Contatti
Mirco Vanini
Microsoft® MVP Windows Development
AllSeen Alliance - AllJoyn® Ambassador
Open Connectivity Foundation - OCF® Ambassador

Weitere ähnliche Inhalte

Was ist angesagt?

Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発Atsushi Matsuo
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and PantheonPantheon
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...Heiko Voigt
 
Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Małgorzata Borzęcka
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupMurat Yener
 
My first .net project on Azure
My first .net project on AzureMy first .net project on Azure
My first .net project on AzureParis Polyzos
 
Leaflet-IIIF: Plugins and Extensibility with IIIF
Leaflet-IIIF: Plugins and Extensibility with IIIFLeaflet-IIIF: Plugins and Extensibility with IIIF
Leaflet-IIIF: Plugins and Extensibility with IIIFIIIF_io
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_ForceBolt
 
Microsoft <3 Open Source
Microsoft <3 Open SourceMicrosoft <3 Open Source
Microsoft <3 Open SourceDavide Benvegnù
 
Nitro Pro 9 - Live Demo Presentation
Nitro Pro 9 - Live Demo PresentationNitro Pro 9 - Live Demo Presentation
Nitro Pro 9 - Live Demo PresentationNitro, Inc.
 
Mah tweets oss wp7
Mah tweets oss wp7Mah tweets oss wp7
Mah tweets oss wp7Nick Hodge
 
Windows 10 uwp hands on workshop
Windows 10 uwp hands on workshopWindows 10 uwp hands on workshop
Windows 10 uwp hands on workshopTom Walker
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...Anil Sharma
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Codemotion
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.jsGökhan Sarı
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian WitalecSimone Basso
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013Jeff Haynie
 

Was ist angesagt? (20)

Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
 
Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)Overview of SharePoint Framework (SPFx)
Overview of SharePoint Framework (SPFx)
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
My first .net project on Azure
My first .net project on AzureMy first .net project on Azure
My first .net project on Azure
 
Leaflet-IIIF: Plugins and Extensibility with IIIF
Leaflet-IIIF: Plugins and Extensibility with IIIFLeaflet-IIIF: Plugins and Extensibility with IIIF
Leaflet-IIIF: Plugins and Extensibility with IIIF
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)
 
Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_Next.js vs React | what to choose for frontend development_
Next.js vs React | what to choose for frontend development_
 
Microsoft <3 Open Source
Microsoft <3 Open SourceMicrosoft <3 Open Source
Microsoft <3 Open Source
 
Nitro Pro 9 - Live Demo Presentation
Nitro Pro 9 - Live Demo PresentationNitro Pro 9 - Live Demo Presentation
Nitro Pro 9 - Live Demo Presentation
 
Mah tweets oss wp7
Mah tweets oss wp7Mah tweets oss wp7
Mah tweets oss wp7
 
Windows 10 uwp hands on workshop
Windows 10 uwp hands on workshopWindows 10 uwp hands on workshop
Windows 10 uwp hands on workshop
 
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
tutorials-visual-studio_visual-studio-2015-preview-comes-with-emulator-for-an...
 
.NET (r)evolution
.NET (r)evolution.NET (r)evolution
.NET (r)evolution
 
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
Ivan Jovanovic - Micro Frontends - Codemotion Rome_2019
 
Getting started with Next.js
Getting started with Next.jsGetting started with Next.js
Getting started with Next.js
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013
 

Ähnlich wie Xe OneDay - Modernizing Enterprise Apps

How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKMirco Vanini
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop DevelopmentMirco Vanini
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop DevelopmentMirco Vanini
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentOliver Scheer
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentGouda Mando
 
Developing Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web AppsDeveloping Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web AppsChris Dufour
 
Cross Platform Net Development With Mono And My Sql Presentation
Cross Platform  Net Development With Mono And My Sql PresentationCross Platform  Net Development With Mono And My Sql Presentation
Cross Platform Net Development With Mono And My Sql Presentationsnowland nk
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core introBinary Studio
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNishitPatel409228
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparisonKaty Slemon
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CoreMalte Lantin
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CoreMalte Lantin
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel ZikmundKarel Zikmund
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersJon Galloway
 
Built Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdfBuilt Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdfI-Verve Inc
 
Difference between .net and asp.net all you need to know
Difference between .net and asp.net  all you need to knowDifference between .net and asp.net  all you need to know
Difference between .net and asp.net all you need to knowsophiaaaddison
 

Ähnlich wie Xe OneDay - Modernizing Enterprise Apps (20)

How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development
 
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 DevelopmentWindows Phone 8 - 1 Introducing Windows Phone 8 Development
Windows Phone 8 - 1 Introducing Windows Phone 8 Development
 
Windows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 developmentWindows Phone 8 - introducing wp8 development
Windows Phone 8 - introducing wp8 development
 
Developing Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web AppsDeveloping Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web Apps
 
Cross Platform Net Development With Mono And My Sql Presentation
Cross Platform  Net Development With Mono And My Sql PresentationCross Platform  Net Development With Mono And My Sql Presentation
Cross Platform Net Development With Mono And My Sql Presentation
 
Academy PRO: .NET Core intro
Academy PRO: .NET Core introAcademy PRO: .NET Core intro
Academy PRO: .NET Core intro
 
NET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptxNET app modernization and Microsoft Azure.pptx
NET app modernization and Microsoft Azure.pptx
 
.Net framework vs .net core a complete comparison
.Net framework vs .net core  a complete comparison.Net framework vs .net core  a complete comparison
.Net framework vs .net core a complete comparison
 
Pottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net CorePottnet Meetup Essen - ASP.Net Core
Pottnet Meetup Essen - ASP.Net Core
 
Pottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net CorePottnet MeetUp Essen - ASP.Net Core
Pottnet MeetUp Essen - ASP.Net Core
 
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
.NET MeetUp Amsterdam 2017 - .NET Standard -- Karel Zikmund
 
Building Modern Web Apps Using ASP.NET 5
Building Modern Web Apps Using ASP.NET 5Building Modern Web Apps Using ASP.NET 5
Building Modern Web Apps Using ASP.NET 5
 
Explore asp.net core 3.0 features
Explore asp.net core 3.0 featuresExplore asp.net core 3.0 features
Explore asp.net core 3.0 features
 
Dotnet on linux
Dotnet on linuxDotnet on linux
Dotnet on linux
 
Welcome to windows 8
Welcome to windows 8Welcome to windows 8
Welcome to windows 8
 
What's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET DevelopersWhat's new in Visual Studio for Mac for .NET Developers
What's new in Visual Studio for Mac for .NET Developers
 
Built Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdfBuilt Cross-Platform Application with .NET Core Development.pdf
Built Cross-Platform Application with .NET Core Development.pdf
 
Difference between .net and asp.net all you need to know
Difference between .net and asp.net  all you need to knowDifference between .net and asp.net  all you need to know
Difference between .net and asp.net all you need to know
 

Mehr von Mirco Vanini

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdfMirco Vanini
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Mirco Vanini
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to AzureMirco Vanini
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to AzureMirco Vanini
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Mirco Vanini
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)Mirco Vanini
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Mirco Vanini
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET CoreMirco Vanini
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020Mirco Vanini
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Mirco Vanini
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereMirco Vanini
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019Mirco Vanini
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>Mirco Vanini
 
Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Mirco Vanini
 
IoT Day - Introducing Azure Sphere
IoT Day -  Introducing Azure SphereIoT Day -  Introducing Azure Sphere
IoT Day - Introducing Azure SphereMirco Vanini
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure SphereMirco Vanini
 
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Mirco Vanini
 

Mehr von Mirco Vanini (20)

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
 
Connect a chips to Azure
Connect a chips to AzureConnect a chips to Azure
Connect a chips to Azure
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET Core
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure Shpere
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Azure Sphere - GAB 2019
Azure Sphere - GAB 2019
 
IoT Day - Introducing Azure Sphere
IoT Day -  Introducing Azure SphereIoT Day -  Introducing Azure Sphere
IoT Day - Introducing Azure Sphere
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure Sphere
 
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
 

Kürzlich hochgeladen

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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
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
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
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
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 

Kürzlich hochgeladen (20)

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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
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
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
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
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 

Xe OneDay - Modernizing Enterprise Apps

  • 1. www.xedotnet.org Modernizing Enterprise Apps #XeOneDay Mirco Vanini Evento realizzato grazie al supporto di
  • 2. Agenda #XeOneDay 2 Windows desktop market and opportunity One “Windows” Platform Why Windows Desktop on .NET Core? .NET Core 3 Desktop Improvements .NET Core road map .NET FW technologies unavailable on .NET Core 3 Migrating a WinForm / WPF app to Core
  • 3. Survey #XeOneDay 3 • Windows Forms ? • WPF ? • UWP ?
  • 4. Windows desktop market and opportunity #XeOneDay 4 2.4Million Developers building desktop apps in Visual Studio every month 700Million Windows 10 Desktops Source: Ignite 2018 +50% In the last 18 months
  • 5. Windows 10 #XeOneDay 5 • How many of your companies have moved to Windows 10 ? • Remain on Windows 7 ? • Plans to move by … ?
  • 6. One “Windows” Platform #XeOneDay 6 Modern Desktop Modern Application Platform Desktop Application Platform Robust & Secure Powerful
  • 7. .NET Core #XeOneDay 7 DESKTOPWEB CLOUD LIBRARIES INFRASTRUCTURE .NET CORE.NET CORE 3 .NET Core 3 expands supported workloads to include Windows Desktop, IoT & AI .NET Core is perfectly suited for the requirements of cloud-native, cross-platform workloads 32
  • 8. Why Windows Desktop on .NET Core? #XeOneDay 8 • .NET Core is the fast innovating .NET • Deployment Flexibility • Side-by-side support • Machine global or app local framework • Self-contained EXEs • Core runtime and API improvements • BCL • Language features • Performance • Open Source • Windows Form • Windows Presentation Foundation • Windows UI XAML Library
  • 9. .NET Core 3 Desktop Improvements #XeOneDay 9 • Support for Windows Forms and WPF • XAML Islands – WinForms & WPF can host UWP • XAML Controls – WinForms & WPF browser and media UWP controls • High DPI fixes for WinForms • Access to all the Windows 10 (AKA “WinRT”) APIs • .NET Core App Bundle • Precompiled, fast startup • Small app by removing unused dependencies, link away unused IL • Self-contained .exe (WPF + WinForms) * .NET Core = Modern Desktop
  • 10. Big Picture #XeOneDay 10 Highly-compatible, targeted improvements, like last few releases • .NET Framework support unchanged (supported for life of Windows) • Side-by-side support • Self-contained EXEs UWP Windows-only DATAWEB ASP.NET Core EF 6 EF Core AI/ML ML.NET WPF .NET Core 3.NET Framework 4.8 .NET STANDARD Existing App Highly compatible updates Install .NET Core updates per your needs Modernize Desktop Apps with .NET Core 3 Windows-only Cross-platform Windows Forms Update .NET Framework Apps • XAML Islands - WinForms & WPF apps can host UWP controls • Full access to Windows 10 APIs FEATURES IN BOTH FXs
  • 12. .NET 5 = .NET Core vNext – A Unified platform #XeOneDay 12
  • 13. .NET Core 3 current status #XeOneDay 13 • .NET Core 3 Preview 5 SDK’s WinForms & WPF • VS templates • CLI command • Visual Studio 2019 supports building and debugging • Designers not available yet (16.04) • Designers is available start 16.1 preview 3 • WPF, Windows Forms, Windows UI Library are OSS • WPF, Windows Form complete covered on .NET Core Preview 7
  • 14. .NET FW technologies unavailable on .NET Core 3 #XeOneDay 14 • AppDomains • Remoting • Code Access Security (CAS) • Security Transparency • COM* (any COM environment (e.g. C/C++) other than .NET.) https://docs.microsoft.com/en-us/dotnet/core/porting/net-framework-tech-unavailable https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/COM-activation.md Server Client Current Support COM* .NET Core Yes .NET Core COM* Yes .NET Core .NET Core Yes .NET Framework .NET Core No .NET Core .NET Framework No
  • 15. .NET Core 3 road map #XeOneDay 15 • .NET Core 3.0: September 2019 • Includes Windows forms and WPF • Open Source on “dotnet” GitHub • .NET Core 3.1: November 2019 • Long Term Support (LTS)
  • 16. Migrating a WinForm / WPF app to Core #XeOneDay 16 • Identify dependencies • Retarget to .NET Framework 4.7.2 • .NET Portability Analyzer • Packages.config -> PackageReference • Libraries first (.NET Standard or multi-target) • Convert your old project files to the new 2017 format • Test everything thoroughly (use the app) • Consider self-contained (beware risk) https://docs.microsoft.com/en-us/dotnet/core/porting/ https://devblogs.microsoft.com/dotnet/how-to-port-desktop-applications-to-net-core-3-0/ https://github.com/hvanbakel/CsprojToVs2017 https://www.michaeltaylorp3.net/migrating-to-sdk-project-format/
  • 17. Migrate Windows Form / WPF Apps #XeOneDay 17 DEMO
  • 18. Detection Platform Compatibility Issues #XeOneDay 18 • API Analyzer • Roslyn analyzer that notifier you about the usage of APIs that don’t work across all platforms and about deprecate APIs https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack
  • 19. Windows Compatibility Pack #XeOneDay 19 • Provided as NuGet Package • Microsoft.Windows.Compatibility • Can be referenced from .NET Core & .NET Standard • Has more 21K APIs (Windows-only as well as cross-platform) https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack • Code Pages • CodeDom • Configuration • Directory Services • Drawing • ODBC • Permissions • Ports • Windows Access Control Lists (ACL) • Windows Communication Foundation (WCF) • Windows Cryptography • Windows EventLog • Windows Management Instrumentation (WMI) • Windows Performance Counters • Windows Registry • Windows Runtime Caching • Windows Services
  • 21. #XeOneDay 21 www.proxsoft.it info@proxsoft.it @MircoVanini Contatti Mirco Vanini Microsoft® MVP Windows Development AllSeen Alliance - AllJoyn® Ambassador Open Connectivity Foundation - OCF® Ambassador