.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

Popular posts from this blog

Yes, Blazor Server can scale!

Blazor new and improved Search Box

Blazor Wizard Step Component