0% found this document useful (0 votes)
51 views

5.0 Slide Deck e

Davin Mickelson presented on Understanding .NET 5.0. He provided a brief history of .NET and discussed key aspects of .NET 5 such as it being a unification of popular frameworks. He explained the differences between just-in-time (JIT) and ahead-of-time (AOT) compilation and outlined the .NET 5 release timeline. Finally, he covered how to set up development environments for .NET 5 and discussed considerations for migrating existing applications.

Uploaded by

asfd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views

5.0 Slide Deck e

Davin Mickelson presented on Understanding .NET 5.0. He provided a brief history of .NET and discussed key aspects of .NET 5 such as it being a unification of popular frameworks. He explained the differences between just-in-time (JIT) and ahead-of-time (AOT) compilation and outlined the .NET 5 release timeline. Finally, he covered how to set up development environments for .NET 5 and discussed considerations for migrating existing applications.

Uploaded by

asfd
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

A Summit Series Event:

Understanding .NET 5.0

May 7 th — 2020
Featured Speaker – Davin Mickelson

About Davin…

• Developed Application Since 1995 – C/C++, C#, VB, F#


• Intertech Consultant/Instructor/Author – Since 2005
• Courses:
v Complete Angular
v Complete React
v Complete ASP.NET Core 3.0 (5 days)
v Programming in HTML5 with JavaScript and CSS3 (5 days)
v Developing ASP.NET MVC 5 Web Applications (5 days)
v Programming in C# (5 days)
v Complete WPF 4.8
v SQL Server Business Intelligence Courses
v Custom Courses

• Intertech Blog – www.intertech.com/blog


• Loves To Fish…

Davin Mickelson
Featured Speaker
Understanding .NET 5.0

Seminar Agenda
1. Welcome!
2. A Brief History of .NET
3. What is .NET 5?
4. JIT vs AOT
5. .NET 5 Release Timeline
6. Setting up and Developing with 5
7. Migrating Existing Apps to 5

Presentation Length: 60 to 90 Minutes


Understanding .NET 5.0

1: Welcome!

Thank you for Attending!


• Want this to be Helpful

Slides/Recording Available Afterwards


• Send me an email and I’ll respond with slides
• Davin Mickelson, [email protected]
Understanding .NET 5.0

2: A Brief History of .NET


.NET Framework 1.0 Released - February 2002 (18 years old!)
• ECMA 334, C# - https://www.ecma-international.org/publications/standards/Ecma-334.htm
• ECMA 335, .NET CLI - https://www.ecma-international.org/publications/standards/Ecma-335.htm
• Fun fact: Generics are also registered with ECMA!
Microsoft has always struggled to version their software consistently
• .NET 1.0, 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.6, 4.7, 4.8
• Windows 1.0, 2.0, 3.0, 3.1, 95, 98, ME, XP, 2000, Vista, 7, 8, 8.1, 10, 10X
• Microsoft’s love affair with the letter “X” (ActiveX, XNA, .aspx, .docx, DirectX, Surface Pro X, Xbox, etc.)
.NET Mono Released - 2004
• .NET for Linux, UNIX, Apple, Windows
• Xamarin for Mobile Apps
• https://www.mono-project.com/
• Ximian (1999), Novell (2003), Attachmate (2011), Xamarin (2011), Microsoft (2016)
Understanding .NET 5.0

2: A Brief History of .NET


.NET Standard for .NET Framework, Core, Mono, UWP, Xamarin, Unity
• Create portable libraries that are usable across .NET implementations
• .NET Standard 2.1+ Broke Compatibility with .NET Framework! L
• Announcement: https://docs.microsoft.com/en-us/dotnet/standard/net-standard
• Docs: https://docs.microsoft.com/en-us/dotnet/standard/net-standard
• .NET Standard probably going away with .NET 5
Xamarin 2016+
• Use to create applications on mobile devices (iOS and Android) with C# and .NET
• After acquiring Xamarin, Microsoft made it free and OSS
• Compiled for native performance
• Develop in Windows and Mac
• https://dotnet.microsoft.com/apps/xamarin
Understanding .NET 5.0

2: A Brief History of .NET


.NET Core 1, 2, 3 (2016+)
• Intended to run on multiple platforms (Linux, macOS, Windows)
• Initially only included Console, EF, and Web APIs
• Each new version added APIs ported from .NET Framework.
• .NET Core 3.x included desktop APIs WinForms and WPF
• “Microsoft is done porting APIs to .NET Core with 3.x”
https://docs.microsoft.com/en-us/dotnet/core/
Understanding .NET 5.0

3: What is .NET 5?
Understanding .NET 5.0

3: What is .NET 5?
It is the gathering and culmination of all the popular frameworks into one
• .NET Core, Xamarin, ported .NET Framework APIs, Mono, Unity, ML.NET, and more
• It will be officially released in November 2020
• Early preview version are being released now!
Parts of .NET Framework were left behind
• ASP.NET Web Forms (consider Web Pages as a possible port)
• WCF (consider CoreWCF OSS project. Also consider Web API or gRPC)
• WF (consider CoreWF OSS solution)
• Parts of EF, Miscellaneous (small) other stuff
• Remember, though, .NET Framework will remain!
“.NET Framework 4.8 will be the last major version of .NET Framework.”
• https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/
Understanding .NET 5.0

4: JIT vs. AOT


The .NET Framework has always used Just In Time (JIT) compilation
• Compiles .NET Intermediate Language (IL) code to machine code
• The .NET runtime would JIT-compile the IL code loaded and used
• They were optimized for the OS, architecture (x86/x64), and other environment factors (memory, etc.)
• Required an initial cost of time at first startup
• Could be forced to be AOT compiled with ngen.exe, a .NET CLI compilation tool
.NET 5.0+ will support Ahead Of Time (AOT) compilation
• The Mono team used an AOT compiler for .NET, based on the industry-leading LLVM compiler project
• It enables .NET code to be built into a single native code executable that can run on a machine
• AOT-compiled apps can run efficiently in small places, and trades throughput for startup if needed
• AOT is already supported and used with Blazor.NET!
Understanding .NET 5.0

5: .NET 5 Release Timeline


.NET 5 will be released in November 2020
• Note the General Availability (GA)
and Long-Term Support (LTS) Dates
• Everything will be under
the umbrella of .NET 5
• .NET 6.0/7.0/8.0 + will
include new features added

Right now, we can


download and install a
preview version of .NET 5
• There have already been
three releases as of today
(05/07/2020)
• .NET Core 3+ applications
can be upgraded to .NET 5
Understanding .NET 5.0

6: Setting Up and Developing with 5


First, install Visual Studio 2019 Preview Edition (v16.6.0 (Preview 5))
https://visualstudio.microsoft.com/vs/preview/
• It can be safely installed side by side with your regular Visual Studio 2019 installation
• Choose Community (free!), Professional, or Enterprise edition
• All editions will work fine unless you need a feature specific to one of the edition
• Be sure to install all the features you need in Visual Studio Installer
• NOTE: You won’t bother with this step if you work on Linux or MacOS
Second, install the appropriate .NET 5 Software Development Kit (SDK) here:
• https://dotnet.microsoft.com/download/dotnet/5.0
• You can download the Linux, macOS, or Windows versions
• The SDK includes the runtime libraries too!
• All three preview versions are available here
• Typically a new version is released every 2-4 weeks
• Using the command line, install the project templates you will use
Understanding .NET 5.0

6: Setting Up and Developing with 5


Want to check out Blazor?
• https://blazor.net
• By default, you will only be able to create server-side WebAssembly (wasm) applications
• Wasm is the exciting new 4th API support (besides HTML, CSS, and ES6) by all of today’s web browsers!
https://www.caniuse.com/#feat=wasm
• Remember that was applications are compile AOT for
higher performance

If you want to check out the upcoming Blazor


Client-Side Web projects, you’ll need to install
the project template, here:
• Notice that I have two project templates appearing!
• https://www.nuget.org/packages/
Microsoft.AspNetCore.Components.WebAssembly.Templates/
• Just use the CLI command
• Note that this is for .NET Core 3.1 – not .NET 5!
Understanding .NET 5.0

7: Migrating Existing Apps to 5


First, make sure your application is upgraded to .NET Core 3.1
• Test it thoroughly to make sure the upgrade went fine
• Simply upgrading a .NET Framework app to .NET Core should demonstrate a performance increase!
Existing .NET Core 3 applications can be upgraded to .NET 5 (if installed)
• To be clear, don’t upgrade production apps yet!
• To upgrade a project to >NET 5, modify the .csproj file to netcoreapp5.0
• Steve Gordon has a great blog post and video showing how simple it is.
https://www.stevejgordon.co.uk/upgrading-from-asp-net-core-3-1-to-5-0-preview-1
Remember that this is all experimental
• You are just seeing how well it will work and what upgrade pains lie ahead
• Also remember that it’s not fully baked. Report bugs that you discover
Understanding .NET 5.0

Seminar Resources
Website: The .NET Blog: https://devblogs.microsoft.com/dotnet/
This is the best source on what is happening with .NET 5
Be careful what other blogs you read
Specifically, their age in relation to the latest release
Other links throughout the slide deck
Thank You!

Thank You For Joining Us Today!

If you would like more information on how we bring Live Education to your organization…
v James Gibbs [email protected]
v Wynne Wilfahrt [email protected]

If you would like information on how our Consulting Services can assist your organization…
v Brady Barthold [email protected]

Questions about today’s topics…

v Davin Mickelson [email protected]


Services

Intertech Impacts Your Business


With More Services…
v Custom Software Development
v Business Process Automation
v Microservices Development & Architecture
v Internet-of-Things (IoT)
v Subscription/SaaS Migration (Take Back Control)
v Systems Integration
v Digital Transformation (DX)
v Legacy Software Modernization

v Agile | Scrum Leadership


v Mentoring / Education
Technologies

…And We Specialize In More Areas! Release Management


Intertech consultants manage the entire
process from planning and scheduling to
every stage within the build process,
Back-End Development Development Operations including design, development, testing, and
deployment. Stay on track with us.
Constructing the logic that your applications rely on to (DevOps)
collect and disseminate your essential data more efficiently
We unite the people, processes, and
is one of our specialties. Intertech will set you up for the
products in a continuous loop of delivery,
data revolution. From .NET/C# to Java to Drools/KIE, C/C++,
testing, and deployment. Together, we
Quality Assurance (QA)
Scala, Spring Boot, Express, Python, JavaScript, and all the superset
get your product up and running in a In addition to rigorous automated
scripts and tools that create the entire working package.
format that is fast, organized, and adjusts developer testing, our QA consultants focus
to fit the changing world. on ensuring application quality through a
range of rigorous best practices tests that
Front-End Development deliver end products that are ready to
deploy and generate results.
How you interact with the screen is the side of development Project Delivery Leadership
that represents you to the world. No matter the
Intertech consultants bring more to the
technologies required to make your system user friendly,
data responsive, and employees more efficient, we have you
project than just development. Being an Accessibility / Compliance
Intertech consultant is having the ability to
covered. JavaScript, Visual Studio, Angular, jQuery, Bootstrap, Depending on your needs, we adhere to
lead a project, no matter the methodology,
React, Foundation, EmberJS, TypeScript, Vue.js, and more - with requirements placed on your industry by
while balancing the soft skills to mentor,
Intertech you can create the applications your business needs. law and incorporate features that make
engage, and leave you stronger.
your product a better fit with your
customer base.
Thank You

Since 1991 Intertech Has


Focused On You And Your
Satisfaction!
Thank you for taking the time to learn more about Intertech.
As the largest combined software developer training company
and research-supported consulting firm in Minnesota, I’m
proud of the team we’ve built and clients we’ve served. When
we began, I wanted to create a special place for the best
people and work with exceptional customers – customers
who share our values, see us as strategic, and whose
businesses we can impact using practical technology.
I believe we have achieved this goal.

If we can answer any questions about Intertech or help you


with an upcoming project, please let us know!

Tom Salonek
Founder / CEO

You might also like