poniedziałek, 3 lutego 2014

.NET Framework - z czym to się je

Co to .NET?

Ogólnie rzecz biorąc .NET to framework - ogromna biblioteka wypuszczona przez Microsoft umożliwiająca nam pisanie programów z gotowymi już do tego funkcjami. Za pomocą .NET'u możemy pisać aplikacje typowe dla systemu Windows, aplikacje sieciowe, strony WWW etc. To biblioteka typowo skierowana w OOP (object oriented programming, lista języków znajduje się tutaj). Jako, że dot Net jest tworem Microsoftu to jesteśmy praktycznie zmuszeni do używania Visual Studio, by pisać pod niego efektywne programy.

Wikipedia mówi:
Zadaniem platformy .NET Framework jest zarządzanie różnymi elementami systemu: kodem aplikacji, pamięcią i zabezpieczeniami. W środowisku tym można tworzyć oprogramowanie działające po stronie serwera internetowego (IIS) oraz pracujące na systemach, na które istnieje działająca implementacja tej platformy (czyli nie tylko systemy z rodziny Windows, jednak implementacja .NETu na innych platformach jest dość "na siłę")

Jedne z ważniejszych elementów .NET
CLI - Common Language Infrastructure- struktura Microsoft .NET do obsługi programów wymagających różnych środowisk
CIL - Common Intermediate Language - wspólna platforma językowa .NET
CLR - Common Language Runtime - platforma uruchomieniowa danego programu

Tak więc wg tego obrazka



Kod z języka .NET (np. C# / VB etc.) jest kompilowany do neutralnego kodu jakim jest CIL, następnie owy język jest zamieniany w kod maszynowy przez CLR. Teraz jaki jest sens tego? O ile zadanie CIL jest dość proste, o tyle CLR musi zamienić kod CIL'a pod polecenia procesora i jego architekturę.

Dzięki tej metodzie twórcy języka muszą przeportować go tylko do CIL, reszta należy do CLR. Roboty jest o wiele mniej, wystarczy wyszukać w google ile możliwch architektur aktualnie występuje.

Plusy:
- Obsługa wielu języków
- Języki oferują podobną składnie (VB / C#), lecz może być wykorzystany w inny sposób
- Możliwość tworzenia potęznych stron WWW (ASP.NET, artykuł)
- Garbage Collector (kwestia dyskusyjna, dla lajków bardzo fajna rzeczy anyway)

Minusy:
- Host wymaga zainstalowanej biblioteki do uruchomienia danego programu (napisanie Hello Word w .NET 4.0 wymaga, by ktoś próbujący go otworzyć również go potrzebował, czyt. pobrał te 90+ MB)
- Wersja platformy podlega wersji Visual Studio, czyli na VS2008 nie stworzymy aplikacji w .NET 4.0, gdyż jest ono obsługiwane dopiero w VS2010
- Projektu z VS2010 nie otworzy się w VS2008, niezależnie od jego treści (trzeba tu trochę grzebać w plikach i pozmieniać ustawienia ręcznie)

Jest to telegraficzny skrót, gdyż rozpis wszystkich komponentów mógł bym zamieścić w oddzielnych artykułach. Imo jest to przerost formy nad treścią, ponieważ o dużo większe detale można zapytać
www.google.com