Все большую и большую полулярность в мире .NET приобретает .Net Core - кросс-платформенная опен-сорс альтернатива .NET Framework, которая содержит основные библиотеки .NET Framework и при этом обладает существенными преимуществами, такими как улучшенной производительностью, возможностью деплоймента .Net Core вместе с приложением и многими другими. В конце 2018 года выйдет новая превью версия .NET Core 3.0, где, наряду с прочими усовершенствованиями, будет добавлена возможность создавать Windows десктоп приложения с помощью WinForms и WPF. В этом доколаде Вы услышите о новинках .NET Core 3, узнаете как выбрать между .NET Framework and .NET Core для ваших приложений, и как портировать существующие приложения на .NET Core.
3. .NET LEVEL UP
Agenda
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
1. About .NET Core
2. What’s new is coming up
3. What to use for your apps: .NET Core or .NET Framework
4. How to port from .NET Framework to .NET Core
5. Future of .NET Framework and .NET Core
4. About .NET Core
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
5. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
What is .NET Core
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
.NET Core is a cross-
platform, open source,
lighter, and faster .NET
6. .NET Core History
v2.0
v1.0
.NET Standard 2.0
(~20k more APIs)
.NET Framework
compatibility mode
Initial release
Open source
Cross-platform
ASP.NET Core
7. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core 2.1 Major Features
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
8. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core 2.2 Major Features
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
9. .NET Core History
v2.0
v3.0
v1.0
.NET Standard 2.0
(~20k more APIs)
.NET Framework
compatibility mode
Initial release
Open source
Cross-platform
ASP.NET Core
+ Desktop
+ IoT
+ AI
10. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core Differentiators
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
• Light and fast
• Side-by-side
• Self-contained
• SDK-based .csproj
• Fundamental runtime
improvements
• Better container
support
13. .NET Core 3.0
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
14. DESKTOPWEB CLOUD IoT AI
LIBRARIES
INFRASTRUCTURE
.NET CORE 2.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
.NET Core 23
15. .NET LEVEL UP
Why Desktop?
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
+50%
In the last 20 months
2.4Million
Developers building
desktop apps in Visual
Studio every month
16. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core 3 Desktop Improvements
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
• Support for WinForms and WPF
Wrapped UWP controls: WebView, Ink, Media Player
XAML Islands: WinForms & WPF can host UWP
High DPI fixes for WinForms
• Access to all Windows 10 API’s
• Single self-contained .exe
• Small apps by removing unused dependencies
Link away unused IL
• and more …
17. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Core 3 Desktop – Already Available
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
• WinForms and WPF in internal builds
https://aka.ms/netcoredaily
• Visual Studio supports building and debugging
Designers not available yet
18. Demo: WinForms and WPF
HelloWorld
on .NET Core 3.0
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
19. Porting from .NET Framework
to .NET Core
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
20. To Port or not to Port?
.NET CONFERENCE #1 IN UKRAINE KYIV 2018.NET LEVEL UP
Only
maintenance,
no active
development
Active
development,
new apps
Stay on Framework Try Core 3.0
21. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Find Out What it Takes to Port Your App
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
Comes in three flavors:
• Desktop application
(the easiest way to check your app compatibility with Core 3.0)
• Visual Studio extension
(to check compatibility with any .NET platform and version)
• Console application
(to check compatibility with any .NET platform and version)
with Portability Analyzer
22. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Portability Analyzer Desktop App
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
aka.ms/portabilityAnalyzer
.NET Blog: “Are your Windows Forms and WPF applications ready for .NET Core 3.0?”
24. Demo: Porting your App.
Windows Compat Pack
& API Analyzer
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
25. What the future will be…
(for .NET Framework and .NET Core)
t WITH PASSION TO TECHNOLOGY
.NET CONFERENCE #1 IN UKRAINE, KYIV 2018
26. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Future of .NET Framework and .NET Core
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
.NET Framework
• will be fully supported
(the latest networking protocols, security standards, Windows features)
• will move forward at a slower pace
.NET Core
• fast-moving version of .NET
• will get new APIs and language features that .NET Framework cannot
27. .NET LEVEL UP
.NET Framework and .NET Core: Past
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
Framework
Core
28. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
.NET Framework and .NET Core: Future
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
Framework
Core
29. Тема доклада
Тема доклада
Тема доклада
.NET LEVEL UP
Try and Contribute!
.NET CONFERENCE #1 IN UKRAINE KYIV 2018
• Daily builds of .NET Core 3.0:
https://aka.ms/netcoredaily
• Preview version
December 4th, 2018
• Release
Spring 2019
Open source – our devs develop it in the open, you can interact with them, you can submit bugs and proposals, person who develops the GC is on GitHub , you can ask questions.
We use “API” for Types and Members. Types (classes, interfaces, delegates), Members (ctors, fields, properties, events, methods)
We use “API” for Types and Members. Types (classes, interfaces, delegates), Members (ctors, fields, properties, events, methods)
We use “API” for Types and Members. Types (classes, interfaces, delegates), Members (ctors, fields, properties, events, methods)
Один из вопросов, которые мне чаще всего задают: «в чем приемущества Core?», …
Сайд-бай-сайд: Фреймворк сейчас установлен на более 2 билионов компьютеров,...
In VS create New Console Project targeting FX, right click on project, Unload, show .csproj – lots of stuff
Create New Console targeting Core, right click. First – no need to unload. Second – just a few lines.
Right click, go to containing folder, create .cs file by hand. It automatically shows in VS in the new proj, not in old proj.
Edit that file – it automatically updates changes.
ANIMATED SLIDE – shows progression of entire .NET platform into .NET Core specific workloads.
.NET Core is our cross-platform, open source implementation of .NET and is perfectly suited for requirements of cloud-native, cross-platform services. We’ve made significant investments in the core performance as well as the web stack so that you can easily take advantage of cloud patterns and scale.
.NET Core 3 will expand on the supported workloads to include IoT, AI and Windows Desktop.
Template from command line
*************************WinForms*************************
cd C:\Users\olgavrys\source\repos\Core3\WinForms
dotnet new winforms
dotnet run
Открыть в VS, показать дебаг
*************************WPF*************************
(if I have time)
1. cd C:\Users\olgavrys\source\repos\Core3\WPF
2. dotnet new wpf
3. Open Developer Command Prompt for VS 2017
4. cd C:\Users\olgavrys\source\repos\Core3\WPF
5. msbuild
6. cd bin\Debug\netcoreapp3.0
7. dotnet HW1.dll
CompatPack: NuGet Microsoft.Windows.Compatibility
API Analyzer: Microsoft.DotNet.Analyzers.Compatibility