.Net Eco Systems Overview
As the .Net
System has grown over the last few years it can get confusing as to witch
pieces are for what. Here is a breakdown
of the current frameworks available.
Runtimes:
.Net Framework
· Around since the beginning (2002)
· Only runs on Windows
· Win Forms, WPF, ASP.Net Forms
· Provides a rich set of Libraries and
3rd party components
· Partly open source
· C#, VB.Net, F#
.Net
Core
· Fairly new (2016)
· Runs cross platform
o
Windows
o
OSX
o
Linux
· Supports
o
ASP.Net
Core
o
UWP
· Fully open source
· C#, VB.Net (Core 2.0)
· Can run truly side by side
· Can be self-contained (Published)
Xamarin
· Started as Mono
· Runs on
o
iOS
o
Linux
o
Android
· Runs native on device
· Supports C# only
· Uses AOT (A head of time) compiler
.Net Standard
This is not
a frame work but a API specification that when you create an assembly you are started
what API set it can be used on.
1. The lower the number the more
run-times it can support
2. The higher the number the more APIs
it supports
3. Note, just because a lib compiles does
not mean it will run.
a. You need to make sure the runtime you
are using still support the API calls you are making
b. Use the .Net Portability Analyzer to
validate
Nuget
You need to make sure the nuget
packages you need to use are supported in the run-time you are building
for. When you add a nuget package, make
sure you review the support run-times:
Guideline on when to use which one
.Net Framework
§ Windows only
§ Forms application
.Net Core
§ Cross Platform
§ High performance
§ Side by side
§ Self-contained
§ When running on a MAC you must set
permissions to run
· Admin$ sudo chmod +x Application.DLL
/ exe
Xamarin
§ Cross-platform
§ Mobile
§ Native
Share Code
§ With .Net standard – Cross platform
§ Run time specific within run-time
Did you know?
1. .Net Frame work major changes are the
only ones that have breaking changes
2. Major releases include new CLR
3. Minor releases are new functions
4. Revisions are bug fixes
Comments
Post a Comment