FRONT-END

DOTNET

.NET - nowoczesna platforma programistyczna

.NET to kompleksowa, wieloplatformowa platforma programistyczna stworzona przez firmę Microsoft, przeznaczona do budowy aplikacji webowych, desktopowych, mobilnych, chmurowych oraz systemowych.

W przeciwieństwie do pojedynczego języka programowania, .NET jest całym ekosystemem, który obejmuje: języki, środowisko uruchomieniowe, biblioteki standardowe, narzędzia developerskie oraz frameworki aplikacyjne.

Nowoczesny .NET (dawniej .NET Core) jest w pełni open source i działa na Windows, Linux oraz macOS.

Historia i ewolucja .NET

Platforma .NET została zaprezentowana w 2000 roku jako odpowiedź Microsoftu na rosnącą popularność Javy. Początkowo była ściśle związana z systemem Windows.

Kluczowe etapy rozwoju:

  • .NET Framework – klasyczna wersja dla Windows
  • .NET Core – wersja wieloplatformowa
  • .NET 5+ – zunifikowana platforma (.NET)

Od wersji .NET 6 platforma rozwijana jest jako jedna spójna linia produktowa.


Architektura platformy .NET

  • CLR (Common Language Runtime)
  • BCL (Base Class Library)
  • Języki programowania
  • Frameworki aplikacyjne

CLR – Common Language Runtime

CLR to środowisko uruchomieniowe odpowiedzialne za:

  • zarządzanie pamięcią (Garbage Collector)
  • bezpieczeństwo
  • obsługę wyjątków
  • kompilację JIT

Języki programowania w .NET

  • C# – najpopularniejszy język .NET
  • F# – język funkcyjny
  • VB.NET – Visual Basic

W praktyce zdecydowana większość aplikacji .NET powstaje w języku C#.


C# – główny język platformy .NET

C# to nowoczesny, statycznie typowany język programowania, łączący cechy programowania obiektowego, funkcyjnego oraz imperatywnego.


Podstawowy program w C#


using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, .NET!");
    }
}

Zmienne i typy danych


int age = 30;
string name = "Jan";
bool isActive = true;

C# posiada bogaty system typów oraz mechanizm type inference z użyciem var.


Instrukcje warunkowe i pętle


if (age >= 18)
{
    Console.WriteLine("Pełnoletni");
}
else
{
    Console.WriteLine("Niepełnoletni");
}

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

Programowanie obiektowe w .NET

Klasy i obiekty


class User
{
    public string Email { get; set; }

    public void Login()
    {
        Console.WriteLine("User logged in");
    }
}

Dziedziczenie i polimorfizm


class Admin : User
{
    public void ManageUsers()
    {
        Console.WriteLine("Managing users");
    }
}

Interfejsy


interface ILogger
{
    void Log(string message);
}

Obsługa wyjątków


try
{
    int result = 10 / 0;
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

.NET posiada rozbudowany system wyjątków, który jest integralną częścią platformy.


.NET i aplikacje webowe

Platforma .NET oferuje nowoczesny framework webowy ASP.NET Core.

  • API REST
  • aplikacje MVC
  • aplikacje Razor Pages
  • aplikacje minimal API

app.MapGet("/hello", () => "Hello from ASP.NET Core");

Dostęp do baz danych

.NET korzysta z technologii Entity Framework Core, czyli ORM mapującego obiekty na rekordy bazy danych.


public class User
{
    public int Id { get; set; }
    public string Email { get; set; }
}

Aplikacje desktopowe

  • Windows Forms
  • WPF
  • MAUI

.NET umożliwia budowę zarówno klasycznych aplikacji desktopowych, jak i nowoczesnych aplikacji wieloplatformowych.


.NET w chmurze

Platforma .NET jest ściśle zintegrowana z chmurą Microsoft Azure, ale działa również w AWS i Google Cloud.

  • Azure App Services
  • Azure Functions
  • kontenery Docker
  • Kubernetes

Narzędzia i ekosystem

  • Visual Studio
  • Visual Studio Code
  • dotnet CLI
  • NuGet

dotnet new webapi
dotnet run

Wydajność i bezpieczeństwo

  • kompilacja JIT i AOT
  • automatyczny Garbage Collector
  • silny system typów
  • wbudowane mechanizmy bezpieczeństwa

Zastosowania platformy .NET

  • systemy enterprise
  • aplikacje webowe
  • aplikacje desktopowe
  • mikroserwisy
  • aplikacje chmurowe

Zalety i ograniczenia .NET

Zalety

  • dojrzała platforma enterprise
  • świetne narzędzia
  • wysoka wydajność
  • wieloplatformowość

Ograniczenia

  • stosunkowo duży ekosystem do opanowania
  • cięższy stack niż języki skryptowe

Podsumowanie

.NET to jedna z najbardziej kompleksowych i dojrzałych platform programistycznych na świecie. Łączy wysoką wydajność, bezpieczeństwo oraz ogromny ekosystem.

Dzięki nowoczesnemu podejściu, otwartości i wsparciu dla wielu platform, .NET pozostaje jednym z najważniejszych filarów współczesnego oprogramowania.

1
HOME | CSS | HTML | CONTACT
RED | LIME | ORG |copy(Ⓒ)2023:xyh