Co to jest platforma .NET?

Ukończone

Gdy ktoś używa terminu .NET, to, co oznaczają, znacznie zależy od kontekstu. W tej jednostce dowiesz się o platformie .NET, postrzegając ją jako ekosystem. Innymi słowy, platforma .NET jest kolekcją wielu części i osób, które razem tworzą zaawansowane środowisko do tworzenia aplikacji.

.NET to ekosystem do tworzenia aplikacji

Pojęcie ekosystemu opisuje wiele aspektów środowiska deweloperskiego aplikacji oraz społeczności, która ją wspiera. Te aspekty łączą się, aby stworzyć atrakcyjny powód, aby zainwestować w uczenie się platformy .NET i tworzenie aplikacji platformy .NET.

Używanie języków platformy .NET i kompilatorów do uruchamiania aplikacji w środowisku uruchomieniowym platformy .NET

Deweloperzy oprogramowania używają języków platformy .NET, takich jak C# i F# do pisania kodu źródłowego. Każdy wiersz kodu, który pisze, wyraża instrukcję lub polecenie, które komputer powinien wykonać podczas działania programu.

Zanim deweloperzy oprogramowania będą mogli uruchomić swój kod, muszą najpierw go skompilować. kompilatora platformy .NET to program, który konwertuje kod źródłowy (w dowolnym obsługiwanym języku programowania) na język przenośny o nazwie języka pośredniego (IL). Kompilator platformy .NET zapisuje kod IL w pliku o nazwie zestawu .NET. Kompilując kod w formacie pośrednim, można użyć tej samej bazy kodu, gdziekolwiek uruchamiasz kod, zarówno w systemie Windows, jak i Linux, lub na sprzęcie komputerowym 32-bitowym lub 64-bitowym.

Środowisko uruchomieniowe platformy .NET to środowisko wykonawcze dla skompilowanego zestawu .NET. Innymi słowy, środowisko uruchomieniowe platformy .NET wykonuje aplikację i zarządza nią podczas uruchamiania w systemie operacyjnym hosta. Porozmawiamy więcej o tym, co robi środowisko uruchomieniowe platformy .NET, już za chwilę.

Na szczęście deweloper oprogramowania dopiero zaczyna pracę z platformą .NET, nie musisz uzyskiwać szczegółowych informacji o sposobie działania tych mechanizmów. Dzięki doświadczeniu dowiesz się, jak w pełni zrozumieć i docenić podstawową moc języków i kompilatorów platformy .NET oraz środowiska uruchomieniowego.

Napiwek

Czasami ludzie myślą, że język programowania C# jest .NET. Jednak język C# i platforma .NET są odrębne. C# to składnia języka programowania. W ramach składni można odwoływać się do metod zdefiniowanych w bibliotekach kodu platformy .NET lub zestawów. Następnie użyjesz kompilatora języka C#zainstalowanego z zestawem .NET SDK, aby utworzyć zestaw .NET na podstawie kodu języka C#. Następnie środowisko uruchomieniowe platformy .NET uruchamia zestawy .NET. Te różnice są ważnymi pojęciami, ponieważ dowiesz się więcej na temat platformy .NET i języka C#.

Korzystanie ze wstępnie utworzonych funkcji przy użyciu struktur aplikacji i bibliotek platformy .NET

Całe oprogramowanie jest wbudowane w warstwy, co oznacza, że oprogramowanie działa na różnych poziomach abstrakcji na komputerze:

  • Na najniższym poziomie oprogramowanie komunikuje się bezpośrednio ze sprzętem komputera. Steruje przepływem danych na płycie głównej, procesorach, pamięci i dyskach twardych.
  • Na następnym poziomie oprogramowanie umożliwia użytkownikowi końcowemu dostarczanie instrukcji za pośrednictwem systemu operacyjnego.
  • Na następnym poziomie oprogramowanie, takie jak .NET, umożliwia tworzenie i uruchamianie aplikacji.
  • Na następnym poziomie struktury aplikacji i biblioteki funkcji umożliwiają szybkie tworzenie rozbudowanych aplikacji z mniejszym nakładem pracy niż starsze metody programowania.

Biblioteka kodu zamyka funkcjonalność określonego celu w jednym module. W przypadku platformy .NET dostępne są tysiące bibliotek. Te biblioteki mogą być własnymi lub firm trzecich i mogą być komercyjne lub otwartoźródłowe. Biblioteki udostępniają szeroką gamę funkcji, których można używać w aplikacjach. Wystarczy odwołać się do tych zestawów i wywołać potrzebne metody. W ten sposób jako deweloper opierasz się na pracy innych deweloperów oprogramowania. Oszczędzasz czas i energię, ponieważ nie musisz tworzyć i utrzymywać każdej funkcji samodzielnie.

Struktura aplikacji łączy kilka powiązanych bibliotek wraz z projektami startowymi, szablonami plików, generatorami kodu i innymi narzędziami. Tych zasobów można używać do tworzenia całych aplikacji w określonym celu. Te struktury aplikacji są nazywane modelami aplikacji . Na przykład platformy aplikacji .NET są dostępne dla popularnych modeli aplikacji, takich jak tworzenie aplikacji internetowych, tworzenie aplikacji klasycznych i mobilnych oraz tworzenie gier.

Zestaw .NET SDK można zainstalować bezpośrednio lub instalować program Visual Studio 2022. Zestaw SDK platformy .NET preinstaluje kompleksowy zestaw bibliotek i struktur aplikacji nazywanych biblioteką klas bazowych . Możesz użyć tej biblioteki kodu w programach niezależnie od platformy lub modeli aplikacji, które chcesz skompilować.

W przypadku innych bibliotek innych firm deweloperzy używają menedżerów pakietów, takich jak NuGet, aby znaleźć i zintegrować biblioteki kodu z repozytoriów pakietów, takich jak Galeria NuGet.

Jakie są główne modele aplikacji?

Możesz się zastanawiać, które struktury obsługują modele aplikacji. Poniższa tabela służy do mapowania modelu aplikacji na platformę .NET Framework.

Model aplikacji Ramowy system Notatki
Sieć ASP.NET Core Struktura tworzenia logiki po stronie serwera.
Sieć ASP.NET Core MVC Struktura tworzenia logiki po stronie serwera dla stron internetowych lub internetowych interfejsów API.
Sieć ASP.NET Core Razor Pages Struktura do tworzenia wygenerowanego przez serwer kodu HTML.
Klient internetowy Blazor Blazor jest częścią ASP.NET Core. Jego dwa tryby umożliwiają manipulowanie modelem obiektów dokumentów (DOM) za pośrednictwem gniazd jako pojazdu komunikacyjnego do uruchamiania kodu po stronie serwera lub implementacji zestawu WebAssembly na potrzeby uruchamiania skompilowanego języka C# w przeglądarce.
Pulpit .NET dla komputerów Mac Umożliwia deweloperom platformy .NET tworzenie aplikacji dla urządzeń Mac z natywnym interfejsem użytkownika i dostępem do interfejsu API.
Pulpit Formularze Windows Forms Struktura do tworzenia aplikacji typu "battleship gray" w stylu systemu Windows.
Ekran główny Windows Presentation Foundation (WPF) System do tworzenia dynamicznych aplikacji komputerowych, które są zgodne z różnymi formatami. WPF umożliwia elementom formularza wykonywanie ruchu, zanikania, szybowania i innych efektów dzięki bogatej bibliotece animacji.
Mobilny .NET dla systemu Android Umożliwia deweloperom platformy .NET tworzenie aplikacji dla urządzeń z systemem Android przy użyciu natywnego interfejsu użytkownika i dostępu do interfejsu API.
Mobilny .NET dla systemu iOS Umożliwia deweloperom platformy .NET tworzenie aplikacji dla systemów iOS i iPadOS przy użyciu natywnego interfejsu użytkownika i dostępu do interfejsu API.
Interfejs użytkownika aplikacji wieloplatformowej .NET MAUI Pierwszą metodą tworzenia aplikacji dla systemów iOS, Android, Mac i Windows z poziomu pojedynczej bazy kodu udostępnionego z natywnym interfejsem użytkownika i dostępem do natywnych interfejsów API.

Platforma .NET obsługuje również popularne środowiska i silniki do tworzenia gier open source, takie jak Unity.

Tworzenie aplikacji platformy .NET przy użyciu narzędzi platformy .NET

Deweloperzy oprogramowania korzystają z narzędzi do pisania kodu, dodawania odwołań do bibliotek kodu, kompilowania kodu i debugowania kodu. W tej sekcji opisano kilka narzędzi platformy .NET, których będziesz używać do tworzenia aplikacji platformy .NET.

Visual Studio 2022 to flagowe środowisko programistyczne firmy Microsoft. Miliony deweloperów używają go do tworzenia aplikacji platformy .NET. Graficzny interfejs użytkownika (zawierający menu, okna, projektantów wizualnych, okna dialogowe i kreatory) prowadzi deweloperów przez proces tworzenia aplikacji. Program Visual Studio 2022 jest dostępny w trzech wersjach: Community, Professional i Enterprise. Każda wersja zawiera różne narzędzia i jest licencjonowana do różnych celów.

Visual Studio Code to flagowy edytor kodu firmy Microsoft, który obsługuje wiele języków programowania i działa na systemach Windows, Mac i Linux. rozszerzenie zestawu deweloperskiego języka C# oferuje ulepszone programowanie w języku C# w edytorze w programie Visual Studio Code i zwiększa możliwości pracy z projektami platformy .NET z obsługą eksploratora rozwiązań, systemu projektu, ulepszeń testowania i eksploratora, programowania wspomaganego przez sztuczną inteligencję oraz zaawansowanych usług językowych dla najlepszych w klasie funkcji języka C#, takich jak nawigacja w kodzie, refaktoryzacja, świadomość semantyczna i nie tylko.

Deweloperzy, którzy preferują przepływ pracy wiersza polecenia, mogą używać kombinacji programu Visual Studio Code, najpopularniejszego edytora kodu na świecie, oraz interfejsu wiersza polecenia platformy .NET, znanego również jako .NET CLI.

Ponadto można wybrać spośród wielu narzędzi pierwszo- i zewnętrznych firm, dostępnych dla zaawansowanych przypadków użycia platformy .NET. Opcje obejmują profilery kodu, uruchamiacze testów jednostkowych i analizatory pokrycia kodu.

Inne narzędzia platformy .NET można znaleźć w innych scenariuszach. Na przykład w dalszej części tego modułu będziesz pracować z Spróbuj .NET. Użyjesz tego interfejsu opartego na przeglądarce, aby napisać proste aplikacje, aby ułatwić naukę języka programowania C#.

Znajdowanie rozwiązań i odpowiedzi w dokumentacji i samouczkach

Firma Microsoft aktywnie udostępnia bogaty zestaw dokumentacji, samouczków i szkoleń. Materiały szkoleniowe znajdziesz w popularnych modalnościach, które pomogą Ci na każdym etapie procesu uczenia się.

Poniższa tabela zawiera kilka wspaniałych zasobów, do których warto dodać zakładkę i wrócić.

Zasób Cel
Microsoft Learn Zawiera samouczki szybkiego startu i definitywną dokumentację referencyjną.
wzorce i praktyki Ułatwia deweloperom i architektom oprogramowania znajdowanie rozwiązań typowych potrzeb związanych z tworzeniem aplikacji. Zasoby często wykraczają poza szczegóły niskiego poziomu pisania kodu i zagłębiają się w wybieranie produktów i usług, które umożliwiają pozornie nieskończone skalowalne architektury.
.NET wideo Zawiera samouczki wideo od zespołu platformy .NET. Te filmy wideo przeprowadzą deweloperów przez typowe scenariusze użycia.
Rozpoczynanie pracy z C# Zapewnia praktyczne laboratoria ułatwiające rozwijanie umiejętności dzięki połączeniu instrukcji, ćwiczeń, multimediów, testów wiedzy i środków śledzenia postępu.

Interakcja ze społecznością platformy .NET w celu nauki i udostępniania rozwiązań

Ekosystem platformy .NET wykracza poza języki, biblioteki i narzędzia dla ludzi. Możesz zarówno uczyć się od społeczności, jak i wnosić do niej swój wkład.

  • Learn: członkowie społeczności platformy .NET organizują na żywo wydarzenia online i osobiste spotkania. Tworzą oprogramowanie open source, uczestniczą w forach Q&A i nagrywają samouczki wideo. Piszą książki i posty na blogu, które pomagają ci się uczyć i odblokowują, gdy nie masz pewności, co robić dalej.
  • Wnieś wkład: .NET jest oprogramowaniem open source na GitHub. Projekty w tym repozytorium są zarządzane przez program .NET Foundation. Ta niezależna organizacja skupia się na rozwoju zaufanego, przyjaznego komercyjnie ekosystemu open source wokół platformy .NET. W tym repozytorium możesz podzielić się swoją unikatową perspektywą i głosem, aby pomóc innym w nauce.

W jaki sposób ekosystem platformy .NET porównuje się z innymi?

Jeśli znasz świat tworzenia oprogramowania, możesz się zastanawiać, jak ekosystem platformy .NET porównuje się z innymi. Szczerze mówiąc, inne ekosystemy mogą wysuwać podobne twierdzenia do niektórych lub wielu oświadczeń złożonych do tej pory w tej jednostce.

Jednak jedną z najbardziej charakterystycznych cech platformy .NET jest to, że jej ciągły rozwój i wsparcie pochodzi nie tylko od głównego lidera technologii, ale także społeczności. Znaczna część platformy .NET została opracowana za pośrednictwem środków typu open source. Wkład i wkład społeczności są zarówno mile widziane, jak i zachęcane. W rzeczywistości 87 procent współautorów jest spoza firmy Microsoft. Na podstawie danych wejściowych społeczności firma Microsoft aktywnie rozwija platformę dzięki ulepszeniom funkcjonalności, poprawkom błędów i ulepszeniom wydajności. Ponad 100 000 pull requestów zostało przyjętych przez społeczność.

Ponadto ekosystem platformy .NET ma rozmach:

  • Liczba deweloperów .NET przekracza 5 milionów!
  • Wyniki ankiet Stack Overflow stale pokazują, że platforma .NET Core & .NET jest najbardziej lubianą strukturą.
  • Uczniowie kochają platformę .NET; 40 procent deweloperów, którzy są nowi na platformie .NET, to studenci.
  • Repozytoria GitHub dla platformy .NET i ASP.NET są klasyfikowane wśród 30 najważniejszych projektów oprogramowania typu open source (OSS).
  • Usługa GitHub wymienia język C# w pięciu pierwszych językach programowania, a język zwiększa popularność zgodnie z indeksem społeczności programowania TIOBE w 2020 roku.
  • Platforma .NET ma najszybszą platformę internetową na świecie zgodnie z testami porównawczymi TechEmpower , niezależnym zestawem testów porównawczych wydajności sieci Web typu open source, które mierzą dziesiątki języków i struktur aplikacji.

Krótka historia platformy .NET

Oryginalny program .NET Framework został wydany na początku 2002 roku. Od tego czasu nastąpiła wiele aktualizacji i wiele innych funkcji. Po latach ulepszeń i nowych funkcji oryginalny program .NET Framework, zwłaszcza kluczowe biblioteki kodu, znacznie wzrósł.

Po 2002 roku firma Microsoft pracowała nad utworzeniem wersji platformy .NET, która miała zgodność międzyplatformową. Celem było umożliwienie deweloperom pisania jednej bazy kodu i używania jej w systemach operacyjnych macOS, Linux i Windows.

Dzięki tym wysiłkom platforma .NET Core została wprowadzona około 2014 roku. Firma Microsoft utrzymuje oryginalny program .NET Framework, ale nowe funkcje i ulepszenia są zarezerwowane dla platformy .NET Core. Core została później usunięta z nazwy. Następne główne wersje to .NET 5, .NET 6, .NET 7, .NET 8 itd. Wersje są zwykle wydawane co listopad.

Dlaczego warto wspomnieć o historii platformy .NET? Prawdopodobnie znajdziesz wpisy w blogu, filmy wideo i kod źródłowy przeznaczony dla oryginalnego programu .NET Framework. W niektórych przypadkach instrukcje lub kod nadal działają, ale w innych przypadkach może być konieczne wprowadzenie korekt, aby dopasować je do nowej platformy .NET.