.NET Framework, w skrócie .NET (wym. dot net) – platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (Common Language Runtime – CLR) oraz biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. Technologia ta nie jest związana z żadnym konkretnym językiem programowania, a programy mogą być pisane w jednym z wielu języków – na przykład C++/CLI, C#, F#, J#, Delphi 8 dla .NET, Visual Basic .NET. Zadaniem platformy .NET Framework jest zarządzanie różnymi elementami systemu: kodem aplikacji, pamięcią i zabezpieczeniami.
W programowaniu komputerowym framework albo platforma programistyczna jest szkieletem do budowy aplikacji. Definiuje on strukturę aplikacji oraz ogólny mechanizm jej działania, a także dostarcza zestaw komponentów i bibliotek ogólnego przeznaczenia do wykonywania określonych zadań. Programista tworzy aplikację, rozbudowując i dostosowując poszczególne komponenty do wymagań realizowanego projektu, tworząc w ten sposób gotową aplikację.Kod bajtowy (ang. bytecode) – nazwa reprezentacji kodu używanej przez maszyny wirtualne oraz przez niektóre kompilatory. Kod składa się z ciągu instrukcji (których kody operacji mają zwykle długość jednego bajta, stąd nazwa), które nie odpowiadają bezpośrednio instrukcjom procesora i mogą zawierać instrukcje wysokiego poziomu (takie jak np. stwórz obiekt klasy X, połącz dwa łańcuchy itd.), jednak w przeciwieństwie do kodu źródłowego wymagają analizy tylko pojedynczych poszczególnych operacji.
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. Z racji jej pochodzenia najpełniej obsługiwane są systemy z rodziny Microsoft Windows, jednak ponieważ zasadnicza część platformy została zgłoszona jako standard ECMA, powstają także jego niezależne wdrożenia, np. Mono i dotGNU.
Międzynarodowa Organizacja Normalizacyjna, ISO (ang. International Organization for Standardization, fr. Organisation internationale de normalisation) – organizacja pozarządowa zrzeszająca krajowe organizacje normalizacyjne.COBOL (ang. COmmon Business Oriented Language) – język programowania stworzony z głównym przeznaczeniem do prac programistycznych w dziedzinach ekonomii i biznesu.
Microsoft ogłosił, że następca systemu Windows XP będzie pracował w środowisku .NET, a aplikacje starszego typu (EXE) będą miały dostęp do zasobów maszyny przez przekształcenie na wywołania. W 2006 niewielki procent nowej wersji Windows korzystał z .NET.
W skład platformy wchodzą:
kompilatory języków wysokiego poziomu – standardowo C++/CLI, C#, Visual Basic .NET, J#
kompilator just-in-time kodu zarządzanego wraz z debuggerem.
W listopadzie 2014 Microsoft zapowiedział udostępnienie .NET na zasadach Open Source na licencji MIT.
DotGNU – projekt GNU mający na celu stworzenie i rozwijanie implementacji platformy .NET, która będzie stanowić Wolne Oprogramowanie. Jest to inicjatywa podobna do projektu Mono.Windows XP (nazwa kodowa Whistler) – wersja systemu operacyjnego Microsoft Windows z rodziny Windows NT (oparty na jądrze NT) firmy Microsoft, wydana oficjalnie 25 października 2001 roku. Koniec wsparcia technicznego dla tego systemu operacyjnego planowany jest na 8 kwietnia 2014.
Wersja 4.8 jest ostateczną wersją tego frameworka, jednak wciąż będzie otrzymywać poprawki zabezpieczeń i niezawodności. Do tworzenia nowych aplikacji Microsoft zaleca użycie następcy, otwartoźródłowego i wieloplatformowego - .NET.
.NET jako rozwiązanie problemów z API[ | edytuj kod]
Aplikacje w obecnie funkcjonujących systemach operacyjnych firmy Microsoft są kompilowane do kodu maszynowego procesora, a z systemem operacyjnym komunikują się poprzez zestaw funkcji, dostarczanych przez system, zwanych Win32API (API). Takie rozwiązanie nastręcza wielu problemów, a głównymi z nich są:
Mono – zestaw narzędzi umożliwiający uruchamianie programów stworzonych dla platformy .NET Framework, w skład których wchodzi między innymi kompilator języka C# oraz środowisko CLR (Common Language Runtime).
Programowanie komputerów to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych (mikrokontrolery). Kod źródłowy jest napisany w języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych, znajomość języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów komputera. W inżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.
nieprzenośność programów między różnymi procesorami lub niewykorzystywanie przez aplikacje wszystkich możliwości procesora,
nieprzenośność aplikacji między wersjami systemu ze względu na różnice w zestawie i działaniu funkcji z zestawu API.
Microsoft postanowił rozwiązać ten problem, stosując rozwiązania podobne do zastosowanego w Javie:
J# – wersja języka Java opracowana przez Microsoft. Po licznych procesach sądowych Microsoft zaprzestał rozwijania języka. Ostatnia wersja – Visual J# 2.0 Redistributable Second Edition – została wydana w drugim kwartale 2007 roku i będzie wspierana do 2017 roku. Natomiast wersja rozpowszechniana z Visual Studio 2005 będzie wspierana do 2015 roku.C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.
kompilatory kompilują kod źródłowy do postaci uniwersalnego kodu zwanego kodem pośrednim (nazywa się on obecnie CIL – wcześniej zaś nazywany był MSIL),
metoda klasy jest kompilowana do kodu maszynowego w momencie pierwszego wywołania, kolejne wywołania metody prowadzą już bezpośrednio do skompilowanego kodu. Jest to realizowane przez dołączenie do każdej metody w czasie ładowania modułu tymczasowego fragmentu kodu (ang. stub), który przekazuje sterowanie do kompilatora i jest następnie zastępowany przez skompilowany kod. Jest to tzw. kompilacja w locie (ang. just in time). Dostępna jest także możliwość skompilowania całego modułu w trakcie instalacji. Przy okazji przebudowano biblioteki klas ułatwiające dostęp do elementów systemu.
Bloki składowe platformy .NET[ | edytuj kod]
CLR (ang. Common Language Runtime) odpowiedzialny za lokalizowanie, wczytywanie oraz zarządzanie typami .NET. To trzon całej platformy .NET ponieważ to właśnie do CLR należy zadanie kompilowania i uruchamiania kodu zapisanego językiem kodu pośredniego (CIL).
CTS (ang. Common Type System) jest odpowiedzialny za opis wszystkich danych udostępnianych przez środowisko uruchomieniowe.
CLS (ang. Common Language Specification) to zbiór zasad definiujących podzbiór wspólnych typów precyzujących zgodność kodu binarnego z dostępnymi kompilatorami .NET
Embarcadero Delphi – nazwa środowiska programistycznego rozwijanego obecnie przez firmę Embarcadero (środowisko zostało stworzone w 1995 roku przez firmę Borland jako Borland Delphi).MonoDevelop to wolne zintegrowane środowisko programistyczne dla GNOME, pierwotnie przeznaczone dla C# oraz innych języków platformy .NET. Początkowo MonoDevelop był tylko portem SharpDevelop dla Gtk#, od tego czasu bardzo się rozwinął.
Podstrony: 1 [2] [3] [4] [5]
Warto wiedzieć że... beta
Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.
SharpDevelop (#develop) - jest darmowym i otwartym IDE dla platformy .NET. Obsługuje takie języki programowania jak: C#, Visual Basic .NET oraz Boo.
Borland (w latach 1998-2001 pod nazwą Inprise) – amerykańskie przedsiębiorstwo dostarczające oprogramowanie i rozwiązania programistyczne do tworzenia aplikacji. Najbardziej znane z produktów Borland to kompilatory i zintegrowane środowiska programistyczne: Turbo Pascal, Delphi, C++ Builder, JBuilder; Kylix oraz C#Builder. W roku 2005 Borland zatrudniał ponad 1300 pracowników na całym świecie. W 2006 roku firma ogłosiła, że postanowiła się skupić na rynku zarządzania życiem produktu oraz projektowaniem oprogramowania i zarządzania projektami, w związku z tym oddział firmy odpowiedzialny za tworzenie i rozwijanie kompilatorów i środowisk oprogramowania został wydzielony jako zależna spółka - CodeGear, która później została sprzedana Embarcadero Technologies. Obecnie firma udostępnia głównie oprogramowanie oraz usługi związane z zarządzaniem cyklem życia aplikacji.
.NET Compact Framework – platforma programistyczna umożliwiająca tworzenie i uruchamianie aplikacji oraz usług napisanych dla technologii .NET w urządzeniach mobilnych wyposażonych w system operacyjny oparty na Windows CE (na przykład komputery kieszonkowe Pocket PC, telefony Smartfon bądź handheldy). Podobnie jak w przypadku odpowiednika przeznaczonego na komputery PC – .NET Framework nie jest związana z żadnym konkretnym językiem programowania. Od wersji PC różni ją ograniczona funkcjonalność oraz obecność specyficznych klas odpowiadających za dostęp do specyficznych funkcji platformy Windows CE.
Nemerle – hybrydowy język programowania. Zawiera elementy programowania funkcyjnego i obiektowego, jest tworzony przez grupę osób z Instytutu Informatyki Uniwersytetu Wrocławskiego. Nemerle jest językiem opartym na platformie .NET.
.NET Core – wolne i otwarte oprogramowanie pozwalające tworzyć i uruchamiać wysoce wydajne aplikacje na platformach Windows, Linux, macOS. Framework ten umożliwia programowanie aplikacji przeznaczonych dla chmury obliczeniowej oraz IoT, a także back-endu aplikacji internetowych z użyciem wzorca MVC. Programy na .NET Core mogą być pisane przy pomocy języków C#, F# oraz Visual Basic.
EXE (od ang. executable [file], [plik] wykonywalny; pot. „egzek” od skr. exec) – rozszerzenie nazwy pliku wykonywalnego w systemach Microsoft Windows i MS-DOS; pliki o tym rozszerzeniu w zamierzeniu zawierają przede wszystkim skompilowany kod wykonywalny programu, choć może zawierać także inne zasoby (np. dotyczące np. struktury okien, ikony, obrazy, dźwięki, itp.).