The .NET Ecosystem
🎯 What You'll Learn
- What .NET is and how it evolved
- The difference between .NET Framework, .NET Core, and .NET (modern)
- Understanding the .NET runtime (CLR) and libraries (BCL)
- What the .NET SDK includes
- Cross-platform capabilities
- The role of C# in the .NET ecosystem
- Why .NET is perfect for building InvenTrack
What is .NET?
.NET is a free, open-source, cross-platform development platform created by Microsoft. It's a complete ecosystem for building applications—from web apps and APIs to desktop software, mobile apps, cloud services, games, and IoT devices.
Think of .NET as a complete workshop for building software. It provides: Tools (compilers, debuggers), Materials (libraries, frameworks), and Instructions (documentation, patterns). You bring your code (written in C#, F#, or VB.NET), and .NET handles the rest.
A Brief History: From .NET Framework to Modern .NET
.NET Framework (2002-2019)
The original .NET Framework was released in 2002 and ran only on Windows. It powered millions of enterprise applications but had limitations—it was Windows-only, monolithic, and slow to evolve.
.NET Core (2016-2020)
In 2016, Microsoft released .NET Core—a complete rewrite from scratch. It was:
- Cross-platform: Runs on Windows, macOS, and Linux
- Open-source: Community-driven development on GitHub
- Modular: Install only what you need
- High-performance: Optimized for modern workloads
- Side-by-side: Multiple versions can coexist
.NET (2020-Present)
In November 2020, Microsoft unified everything under a single name: .NET (dropping "Core"). Starting with .NET 5, the version numbers jumped to avoid confusion with .NET Framework 4.x.
| Version | Release Date | Status |
|---|---|---|
| .NET 5 | November 2020 | Out of support |
| .NET 6 (LTS) | November 2021 | Supported until Nov 2024 |
| .NET 7 | November 2022 | Out of support |
| .NET 8 (LTS) | November 2023 | Supported until Nov 2026 |
| .NET 9 | November 2024 | Current (STS) |
LTS (Long-Term Support): Supported for 3 years. Use for production apps.
STS (Standard Term Support): Supported for 18 months. Use for latest features.
We'll use .NET 8 (LTS) for InvenTrack. It's stable, well-supported, and will receive updates until November 2026. All examples work on .NET 6+ with minimal changes.
The .NET Architecture
.NET has three main components that work together to run your applications:
1. The Runtime (CLR - Common Language Runtime)
The CLR is the execution engine that runs your code. It handles:
- Just-In-Time (JIT) compilation: Converts your C# code to machine code
- Garbage collection: Automatic memory management
- Exception handling: Manages errors gracefully
- Type safety: Ensures code correctness
- Security: Enforces code access security
2. The Libraries (BCL - Base Class Library)
The BCL is a massive collection of pre-built code that handles common tasks:
- Collections: Lists, dictionaries, queues (you've used these!)
- File I/O: Reading and writing files
- Networking: HTTP clients, TCP/IP sockets
- Data access: Database connections, JSON parsing
- Security: Encryption, authentication
- Threading: Parallel processing, async/await
File.ReadAllText(). Need to make an HTTP request? Use HttpClient.
You don't build these from scratch—they're ready to use.
3. The SDK (Software Development Kit)
The SDK contains everything you need to build .NET applications:
- Compilers: Roslyn (C# compiler), F# compiler
- dotnet CLI: Command-line tools for creating, building, running apps
- MSBuild: Build system for compiling projects
- NuGet: Package manager for third-party libraries
- Templates: Project templates (console app, web API, etc.)
- Runtime: Includes the runtime for running apps
SDK: Install this for development. Includes everything.
Runtime: Install this for running apps only (production servers).
How .NET Code Executes
Understanding how your C# code becomes a running application helps you write better code.
1. You write C# code (.cs files)
↓
2. C# compiler (Roslyn) compiles to Intermediate Language (IL)
↓
3. IL is stored in assemblies (.dll or .exe files)
↓
4. When you run the app, the CLR loads the assembly
↓
5. JIT compiler converts IL to native machine code
↓
6. CPU executes the native code
↓
7. Your application runs!
C# → IL: Makes code portable across platforms (Windows, Linux, macOS)
IL → Machine Code: Optimized for the specific CPU at runtime
Result: Write once, run anywhere, with native performance!
Cross-Platform: Write Once, Run Anywhere
Modern .NET runs on Windows, macOS, and Linux. You can develop on any OS and deploy to any OS.
| Platform | Development | Deployment |
|---|---|---|
| Windows | ✅ Visual Studio, VS Code, Rider | ✅ IIS, Windows Server, Azure |
| macOS | ✅ VS Code, Visual Studio for Mac, Rider | ✅ Docker, Kubernetes, Cloud |
| Linux | ✅ VS Code, Rider, CLI | ✅ Docker, Kubernetes, Cloud, Nginx |
You can develop InvenTrack on Windows with Visual Studio 2022, then deploy it to: Azure App Service (Windows or Linux), Docker containers, AWS, Google Cloud, or even a Raspberry Pi!
The .NET Family: Different Frameworks for Different Needs
.NET includes several frameworks built on top of the core platform:
ASP.NET Core (Web Applications)
The framework we'll use for InvenTrack! Build web APIs, MVC apps, Razor Pages, and real-time apps with SignalR.
Entity Framework Core (Database Access)
An Object-Relational Mapper (ORM) that lets you work with databases using C# objects instead of SQL. We'll use this extensively in InvenTrack.
Blazor (Web UI with C#)
Build interactive web UIs using C# instead of JavaScript. Runs in the browser via WebAssembly or on the server.
MAUI (Cross-Platform Mobile/Desktop)
Build native mobile and desktop apps for iOS, Android, macOS, and Windows with a single codebase.
ML.NET (Machine Learning)
Add machine learning capabilities to your .NET apps—predictions, classifications, anomaly detection.
Why .NET for InvenTrack?
Let's talk about why .NET is the perfect choice for building our mini-ERP system:
| Feature | Why It Matters for InvenTrack |
|---|---|
| Performance | Handle thousands of products, customers, and orders efficiently |
| Scalability | Start small, grow to enterprise-scale without rewriting |
| Security | Built-in authentication, authorization, data protection |
| Productivity | Rich libraries, tooling, and IntelliSense speed up development |
| Type Safety | Catch errors at compile-time, not runtime |
| Async/Await | Handle database and API calls without blocking |
| Cross-Platform | Deploy to Windows, Linux, Docker, or cloud |
| Free & Open Source | No licensing costs, community-driven |
.NET powers applications at Stack Overflow, Bing, Visual Studio, Azure DevOps, and thousands of enterprise systems worldwide. It's battle-tested and production-ready.
The C# Language and .NET
While .NET supports multiple languages (C#, F#, VB.NET), C# is the primary language and the one we'll use for InvenTrack.
C# and .NET co-evolve. Each .NET release brings new C# features. .NET 8 ships with C# 12, which includes primary constructors, collection expressions, and more. You get the latest language features automatically!
Key Takeaways
- .NET is a free, open-source, cross-platform development platform
- Modern .NET (5+) unified .NET Core and .NET Framework
- .NET 8 (LTS) is the recommended version for production apps
- The CLR executes your code, the BCL provides libraries
- The SDK includes everything needed for development
- C# code compiles to IL, then JIT-compiles to native code
- .NET runs on Windows, macOS, and Linux
- ASP.NET Core is the web framework we'll use for InvenTrack
- .NET offers performance, security, and productivity for enterprise apps
Now that you understand what .NET is and how it works, it's time to get hands-on! In the next section, we'll install the .NET SDK and set up your development environment. You'll be writing and running .NET code in minutes!