.NET Applications & Cloud Meetup at 7 Peaks 18th September 2019.
At our .NET Applications & Cloud meetup we explored new features in .NET Core 3 and C# 8.0. And learn about .NET on the cloud.
See more details and photos from the event here: https://7peakssoftware.com/dotnet-applications-and-cloud-2019/
Automating Google Workspace (GWS) & more with Apps Script
.NET Applications & Cloud Meetup at 7 Peaks
1.
2.
3. ● Part 1
○ Looking into the new features plus consideration and suggestion for
application development and deployment
■ .NET Core 3 (preview)
■ C# 8.0 preview
● Part 2
○ .NET on the Cloud
■ Azure
■ AWS
■ GCP
○ Audience Open-discussion
10. .NET CORE 3
is a formal specification of .NET APIs that are intended to be available on all .NET
implementations.
.Net Standard 2.1
11. .NET CORE 3
dotnet publish
● Default executables,
● Single-file executables,
● R2R = Ready To Run image,
12. .NET CORE 3
dotnet publish (Single-file executable)
Framework Dependent Normal Single-file
HelloWorld.exe X X
HelloWorld.dll X X
HelloWorld.deps.json X embedded
HelloWorld.runtimeconfig.json X embedded
HelloWorld.pdb X embedded
https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md
13. .NET CORE 3
dotnet publish (Single-file executable)
Self-Contained Normal Single-file
HelloWorld.exe X X
HelloWorld.dll X embedded
HelloWorld.deps.json X embedded
HelloWorld.runtimeconfig.json X embedded
HelloWorld.pdb X X
https://github.com/dotnet/designs/blob/master/accepted/single-file/design.md
14. .NET CORE 3
dotnet publish (R2)
You can improve the startup time of your .NET Core application by compiling your
application assemblies as ReadyToRun (R2R) format. R2R is a form of ahead-of-time
(AOT) compilation.
R2R binaries improve startup performance by reducing the amount of work the just-in-
time (JIT) compiler needs to do as your application loads. The binaries contain similar
native code compared to what the JIT would produce
16. C# 8 (Preview)
Asynchronous streams
https://www.infoq.com/articles/Async-Streams/
1. It's declared with the async
modifier.
1. It returns an
IAsyncEnumerable<T>.
1. The method contains yield
return statements to return
successive elements in the
asynchronous stream.
18. C# 8 (Preview)
Default Interface Member
You can now add members to interfaces and provide an implementation for those
members.
This language feature enables API authors to add methods to an interface in later
versions without breaking source or binary compatibility with existing
implementations of that interface.
Existing implementations inherit the default implementation .... Default interface
members also enable scenarios similar to a "traits" language feature.
https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/default-interface-members-versions
19. What I miss / leave
DotNet Core
● Improved .Net Core Version APIs
● .Net Platform-Dependent
● Major-version Roll Forward
● Local Tools
C# 8
● Readonly Number
● Pattern Matching
● Using declaration
● Indices and ranges
● Disposable ref structs
● Nullable reference type
● Null-coalescing assignment
● Unmanaged constructed types
https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0