[PL] Czym jest .NET Framework?

Podczas instalacji środowiska Visual Studio na naszej maszynie instaluje się również .NET Framework. Ale nie jest on instalowany, tylko przy tej okazji. Wcześniej możemy spotkać się z instalacją chociażby w momencie wgrania poprawek systemowych.

Jednak czemu jest potrzebny ten .NET Framework?

Po pierwsze po to, aby działały aplikacje, które zostały napisane na tej platformie. Po drugie, aby móc pisać te aplikacje.

Więc czym jest .NET Framework i dlaczego jest aż tak potrzebny?

.NET Framework to platforma programistyczna, która dostarcza środowisko uruchomieniowe w czasie rzeczywistym – Common Langugae Runtime (CLR) oraz bibliotek klas, które dostarczają standardowej funkcjonalności dla aplikacji.

Dzięki .NET Framework możliwe jest tworzenie aplikacji na platformy:

  • Desktop (np. WinForms, WPF)
  • Mobile (Windows Mobile)
  • Web (np. ASP.NET, SilverLight)
  • Modern UI

W skrócie architektura .NET została pokazana na poniższym rysunku.

architektura_.NET

Na bazie systemu operacyjnego działa środowisko uruchomieniowe (CLR). CLR, to podstawa platformy .NET, która zarządza wykonywaniem danego procesu oraz co najważniejsze zarządza pamięcią (programując na platformie .NET programista nie musi za bardzo przejmować się, czy dany zasób niepotrzebnie zajmuje pamięć, ponieważ Framework sam zwalnia ten zasób, kiedy zobaczy, że jest już nie wykorzystywany przez aplikację)

Na bazie CLR działa biblioteka klas – FCL (Framework Class Library), czyli zbiór standardowych klas, interfejsów czy typów danych.

Oczywiście CLR oraz FCL możemy zmieniać po swojemu, tworząc na tej podstawie własne klasy czy biblioteki.

Dodatkowo możemy stworzyć aplikacje zarządzane, które kontrolują wywoływanie bibliotek czy klas napisanych czy zmodyfikowanych przez nas.

Dzięki platformie .NET nie musimy się również przejmować językiem programowania, w jakim piszemy aplikacje (oczywiście język musi być wspierany przez .NET), ponieważ Framework tłumaczy napisany kod w danym języku na język pośredni (zwany MSIL – Microsoft Intermediate Language), a następnie przekazywany do wspólnego środowiska uruchomieniowego i kompilator tłumaczy w momencie uruchomienia aplikacji na kod maszynowy i przekazuje go do procesora.