.NET to środowisko stworzone przez firmę Microsoft. Jest to framework, platforma programistyczna dla wielu jęzków programowania m.in C++, C#, VB. Na tą platformę składają się środowisko uruchomieniowe CLR, interpreter oraz biblioteki klas języków. Platforma .NET istnieje od około 2002 roku, stąd też pewnie gigant z Redmond zdecydował się na zmianę i zaczął wdrażać .NET Core.
Z kolei .NET Core to wersja środowiska .NET, która wspódzieli część bibliotek z wersją standardową, stworzona specjalnie dla Linuxa i mac OS. Aktualnie .NET Core jest dość “młody”, ale aktualnid Microsoft rozwija go bardzo sprawnie i zapewnia blog oraz pełną dokumentację i tutoriale dla tej wersji.
Co daje nam .NET Core?
.NET Core zapewnia nam wiele tych samych możliwości co .NET. Większość klas ma te same nazwy i znajdują się w tych samych bibliotekach co w standardowej wersji frameworka. Nazywa się to jako .NET Native. Oprócz tego mamy możliwość programowania w ASP.NET na Linux i mac OS, zatem i tworzenie aplikacji webowych będzie możliwe dla każdej platformy.
Dwie podstawowe części .NET Core:
- .NET Native
- ASP.NET
Ogółem rzecz ujmując .NET Core ma najprawdopodbniej zastąpić standardowy, leciwy już .NET Framework. Jego głównym zastosowaniem ma być oczywiście web apps i enterprise, ale dzięki gtk-core mozliwe będzie budowanie aplikacji desktopowych na Linuxa czy maca.
Aktualnie .NET Core, jak już wspomniałem ma część wspólną z .NET Framework, po prostu współdzielą niektóre biblioteki między sobą, gdzie jednak w miarę jak .NET Core będzie rozwijany ilość bibliotek, którymi oba frameworki będą się różnić będzie rosnąć.
Bardzo prawdopodobny jest fakt, że .NET Core zastąpi klasyczny .NET w niedalekiej przyszłości, jednak wszystko zależy od tego jak szybko Microsoft przystąpi do rozwoju tej platformy.
.NET Core na pewno wspiera UWP, czyli nasze aplikacje będą na pewno wspierać UWP, czyli nasza aplikacja będzie mogła być uruchamiana na komputerach, telefonach, tabletach czy TV z systemami bazującymi na systemie operacyjnym Windows.
Niestety jednak .NET Core nie daje nam możliwości programowania przy użyciu WinForms czy też WPF, dlatego, że częśto składowe (np. InteropHelpers) tych frameworków są zależne od Win32 API, a to nie jest dostępne na Linuxach(na wine, ale jednak lepiej się tam sprawdzają “native apps”, czyli takie, które są pisane w C/C++, oczywiście w dużym skrócie ujmując) czy macu.
Aktualnie .NET Core nie jest w żaden sposób połączony z Xamarinem przez co należałoby wnioskować, że jeszcze jakiś czas .NET developerzy będą używać klasycznego .NET do budowy w raz z Xamarin framework.
Oficjalnie wspiera go już Visual Studio oraz tworzony aktualnie Rider. Niem ma też problemu by podłączyć go pod Visual Studio Code i po dodaniu poprzez NuGet gtk-core zacząć z nim pracę na systemach Linux czy mac.
A co z kodem środowiska .NET Core?
.NET Core jest środowiskiem otwartym. Tak samo gtk-core oraz inne dostępne biblioteki dla .NET Core.
Oznacza to, że kod jest otwarty i dostępny na GitHubie do wglądu. Dodatkowo każdy też może stworzyć własną bibliotekę i dodać ją do NuGet tak, by każdy mógł sobie zaimplementować ją do swojej aplikacji.
WARTO PRZECZYTAĆ: