C#, .Net History , Versions & Application Types ( 01-A - Beginner)

Table of contents

Most absolute Beginners always struggle with where to start from when programming C# or developing .Net Application. In this article i will be diving into all major concepts , terms they will need to get started with C# programming language and .Net development. This is 1st part of my C# Language Series.
C# Language
Itβs a Programming language used to write code that runs on the .NET platform and Unity framework . It designed by Microsoft, led by Anders Hejlsberg. C# has the following core features which makes highly suitable for modern enterprise application development.
Features:
Fully object-oriented with support for encapsulation, inheritance, and polymorphism
Type Safety : Strongly typed, Static typing & Generic types for type-safe collections and algorithms
Modern language features like LINQ, async/await, pattern matching, etc.
Memory Management : Automatic garbage collection. No direct pointer manipulation (except in unsafe context)
LINQ (Language Integrated Query) for data manipulation
Async/await pattern for asynchronous programming
Cross-platform via .NET Core/.NET 5+ (Windows, macOS, Linux)
Compatible with Microsoft ecosystem (Azure, Windows, etc.)
Native support for web, desktop, mobile, and cloud applications
Comprehensive standard library
Usage :
C# can be used to write or build the following applications:
Web Applications ( MVC, Razor & Blazor )
Web APIs ( Asp.Net Web API )
Desktop Applications ( Win Form , WPF, UWP, Win UI, MAUI )
Mobile Applications ( MAUI ) - Cross - Platform
Games ( Unity ) : used in buidling 2D, 3D , Augmented Reality , Virtual Reality Applications.
.Net Framework
Itβs a framework or platform for building enterprise applications. It was introduced in 2000, built for windows operating system only. Provides a runtime environment and libraries to build and run applications (web, desktop, mobile, cloud, etc.) It Supports multiple languages including C#, F#, VB.NET, etc. Nowadays C# has become the go to language for .Net development.
.Net Core Framework
.NET Core is a cross-platform, open-source framework developed by Microsoft for building modern applications. It was introduced to overcome the limitations of the original .NET Framework, especially its Windows-only nature. It was released in 2016 which support most of the old features in .net with better improvement in performance and tooling.
Unified .Net Framework
The term "Unified .NET Framework" generally refers to the .NET 5+ platform, which consolidates the previously separate .NET technologies into a single, unified platform for building all types of applications. It started with .Net 5 launched in 2020 , βCoreβ was removed . No more Old windows only .Net and Cross platform .Net Core , now we have .Net as a unified framework .
Going forward , you can hear .Net 5, 6, 7, 8 , 9 , 10 et.c . With a single BCL ( Base Class Library) and a single SDK ( Software Development Kit) , you can now build
Web apps
APIs
Desktop apps (WinForms, WPF)
Mobile apps (via MAUI)
Cloud apps
Games (via Unity)
IoT apps
.Net Version Support Length
When youβre working in the new era of .Net, you should know about versions and different support cycles. .Net releases differ based on Current or Long Term Support (LTS)
LTS : are versions supported at least 3 years or 1 year after the next LTS version is released. (recommended for production apps)
Standard/ Short Term Support : Supported for 18 months (good for early access to new features)
.Net 1, .Net 1.1 , .Net 2.1 , .Net 3.1 , .Net 6 , .Net 8 & .Net 10 ( to be released Nov, 2025) : Are all LTS Support Level
.Net 2.0 , .Net 2.2 , .Net 3, .Net 5 & .Net 7 : STS
Microsoft follows a yearly release schedule for .NET:
Even-numbered years (e.g., .NET 6, .NET 8) β LTS
Odd-numbered years (e.g., .NET 5, .NET 7, .NET 9) β STS
Application Types
As a developer , the major reason you learn programming is to solve some problems and build applications. The following are various application types you can build with C# and .Net .
πΉ 1. Console Application
β What It Is: A text-based application that runs in a terminal or command prompt window β no graphical interface.
β Use Cases:
Utility tools
Data migration scripts
Test programs
Background processes
β Create With CLI:
> dotnet new console -n MyConsoleApp
β Example Code:
Console.WriteLine("Hello, world!");
π 2. Web Application
β What It Is:
An application that runs in a web browser. Built using ASP.NET Core, often with Razor Pages, MVC, or Blazor for a single page application. Blazor is the .net equivalent of popular SPA like React, Angular & Vue.js.
β Use Cases:
E-commerce websites
Dashboards
Admin panels
Web-based CRMs
β Frameworks:
ASP.NET Core MVC
Blazor Server / Blazor WebAssembly
Razor Pages
β Create With CLI:
> dotnet new mvc -n MyWebApp
π 3. Web Services / API
β What It Is:
Backend services (usually RESTful APIs) that expose endpoints which can be consumed by web apps, mobile apps, IoT devices, etc.
β Use Cases:
Backend for mobile apps
Microservices
Public/Private APIs
β Framework:
- ASP.NET Core Web API
β Create With CLI:
> dotnet new webapi -n MyApi
π₯οΈ 4. Desktop Application
β What It Is:
Apps that run on Windows (sometimes cross-platform) desktop computers. Built with GUI frameworks like WPF, WinForms, or MAUI.
β Use Cases:
Accounting software
Point-of-sale (POS) systems
Rich client applications
β Technologies:
WinForms (oldest)
WPF (modern, XAML-based)
.NET MAUI (for cross-platform desktop + mobile)
β Create WPF Project:
> dotnet new wpf -n MyDesktopApp
π± 5. Mobile Application
β What It Is:
Apps that run on Android and iOS, built using .NET MAUI or formerly Xamarin.
β Use Cases:
Business mobile apps
Social network apps
Hybrid cross-platform tools
Consumer apps (To-do, Finance, etc.)
β Framework:
.NET MAUI (recommended)
Xamarin (older, being phased out)
β Create With CLI:
> dotnet new maui -n MyMobileApp
π 6. Class Library
β What It Is:
A reusable collection of code (DLL) that can be shared across multiple projects.
β Use Cases:
Shared business logic
Utility/helper functions
Domain models
Custom libraries (NuGet packages)
β Create With CLI:
> dotnet new classlib -n MyLibrary
π οΈ 7. Dev Tools
β What It Is:
Tools or apps built to assist developers, often running as CLI apps, analyzers, generators, or even IDE extensions.
β Use Cases:
Code generators
Linting tools
Project scaffolding
CLI-based workflows
β Can be built with:
Console apps
Roslyn analyzers
Custom CLI commands (
System.CommandLine
,Spectre.Console
)
Subscribe to my newsletter
Read articles from Olayinka U. Kareem directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
