Czym jest .NET
Firma Microsoft w roku 2000 przedstawiła nowy pomysł standaryzacji w tworzeniu oprogramowania na platformę Windows . Zamierzeniem firmy jest udostępnienie programistom bibliotek, narzędzi do tworzenia oprogramowania, które będzie charakteryzowało się pewnym standardem.
Spis treści
1 .NET Framework
2 Produkty dla deweloperów
2.1 ASP.NET
3 Niezależność językowa
3.1 Czym jest COM?
3.2 Kontrolka w rozumieniu COM
3.3 Odrobinę historii
3.4 ActiveX
4 Język pośredni IL
5 Wspólny system typów
6 Wspólny język wykonywania
7 Biblioteka klas
8 Usługi sieciowe
9 HTTP
10 XML
11 SOAP
12 UDDI
13 WSDL
14 Konkluzja
Platforma .NET stawia największy nacisk na Internet jako źródło komunikacji między poszczególnymi komputerami czy ogólnie - urządzeniami (telefony komórkowe, laptopy). Należy zaznaczyć, że .NET nie jest żadnym systemem operacyjnym - jest to pewna idea, strategia.
Podstawowym i najbardziej nas interesującym elementem .NET jest .NET Framework, który stanowi infrastrukturę tworzenia aplikacji. Realnie Microsoft .NET Framework to szereg niezbędnych bibliotek umożliwiających tworzenie aplikacji na platformę .NET. Zadaniem .NET Framework jest zarządzanie przeróżnymi elementami systemu, których obsługa do tej pory zajmowała programistom najwięcej czasu.
Należy w tym momencie zaznaczyć, że programowanie pod .NET różni się znacząco w stosunku do dotychczasowego programowania pod Windows. Microsoft .NET Framework udostępnia nowe klasy, biblioteki, których wykorzystanie także różni się tym od standardowego modelu w dotychczasowym Windows. Mówimy o tym z myślą o programistach Delphi , którzy mieli wcześniej styczność z tym językiem, ale teraz chcieliby spróbować swoich sił w .NET. Nowi użytkownicy, którzy dopiero od Delphi 8 zaczynają swoją przygodę z programowaniem, mają bardziej komfortową sytuację. Dla nich będzie to coś nowego i zarazem stanie się naturalne. Starzy użytkownicy muszą uczyć się nowych elementów języka, chociaż podstawowe zasady programowania w Delphi nadaj obowiązują.
Wraz z ujawnieniem idei .NET, Microsoft rozpoczął pracę nad narzędziami dla programistów, którzy chcieliby tworzyć swoje aplikacje w oparciu o .NET. Dzięki temu mamy stare języki programowania unowocześnione o nowe możliwości platformy .NET takie jak: Visual Basic.NET , ASP.NET , C# oraz środowisko tworzenia aplikacji Visual Studio.NET .
To jeszcze nie wszystko. Istnieje bowiem baza danych MS SQL.NET oraz serwer Microsoftu IIS. Wszystko to umożliwia sprawne tworzenie aplikacji niezależnych. Oznacza to, że praktycznie nie istotne jest to, czy piszemy w C# czy w Visual Basic.NET. W obu tych językach (różniących się w końcu składnią) wykorzystujemy te same mechanizmy platformy .NET Framework osiągając w tym te same cele.
Firma Borland (producent Delphi) również postanowiła, iż będzie wspierać .NET i stworzyła nowe Delphi. Delphi 8 .NET przystosowane do nowej platformy.
Szeroko promowaną i stosowaną w połączeniu z .NET technologią, jest technologia ASP (ang. Active Server Pages). Technologia ASP umożliwia tworzenie dynamicznych stron WWW (np. pisanie for dyskusyjnych, ksiąg gości, czy całych systemów portalowych) z wykorzystaniem jednego z jęków wspieranych przez .NET - np. C#.
Pierwowzorem tej idei jest COM (ang. Component Object Model), COM+, DCOM. COM zapewniał niezależność języka programowania, lecz .NET wprowadza integracje języka.
Rozwinięciem angielskiego skrótu COM jest nazwa Component Object Model (obiektowy model komponentów). Jest to specyfikacja firmy Microsoft, która w założeniu dotyczy tworzenia obiektów wielokrotnego użytku, niezależnie od języka programowania.
Aby zrozumieć ActiveX , musisz poznać COM. Postaram się zwięźle Ci to wytłumaczyć. Otóż firma Microsoft stworzyła model obiektów, które wykorzystywane mogą być w każdym środowisku programistycznym Windows. Wynikiem powstania obiektu COM jest kontrolka - plik binarny z rozszerzeniem .ocx. Kontrolka taka może być wykorzystana zarówno w Delphi, jak i Visual C++, C++ Builder czy Visual Basic.
Na razie obiekty COM są jedynie obiektami działającymi w różnych środowiskach Windows i niemożliwe jest wykorzystanie ich poza tym systemem.
Na typ etapie będę używał słowa "kontrolka" w znaczeniu obiektu COM. Można powiedzieć, że obiekty COM są takim uniwersalnym komponentem, podobnym do biblioteki DLL . Raz utworzona kontrolka może być wykorzystywana wiele razy, przez wielu programistów oraz w różnych środowiskach programowania. Jeżeli ktoś już napisał kontrolkę spełniającą daną funkcję, to po co wyważać otwarte drzwi i tworzyć jeszcze raz to samo? Przykładem może być przeglądarka WWW. Napisanie programu analizującego kod HTML jest niezwykle czasochłonnym i żmudnym zadaniem. Niekiedy jednak w naszym programie konieczne staje się wyświetlenie jakiegoś dokumentu w formie strony WWW. Dzięki technologii COM i ActiveX (o ActiveX powiemy nieco później) możemy zaimportować udostępnione przez twórców przeglądarki obiekty COM i wykorzystać je w Delphi w bardzo prosty sposób.
COM jest technologią stosunkowo nową, bo powstałą kilka lat temu. Wprowadzenie jej miało na celu stworzenie jednolitego standardu komunikacji, tak aby np. (by jeszcze raz posłużyć się powyższym przykładem) programiści mogli korzystać z możliwości przeglądania stron WWW w swoich aplikacjach. Firma Microsoft wyszła naprzeciw temu zadaniu i utworzyła moduł obiektów (COM), który umożliwia udostępnianie innym aplikacjom swoich metod.
ActiveX to technologia oparta na COM. Pozwala na tworzenie kontrolek .ocx lub .dll. Tak naprawdę ActiveX to obiekt COM, tyle że posiadający własny interfejs dostępny na poziomie projektowania. Wygląda to w ten sposób, że tworzony jest zwykły formularz VCL, będący w rzeczywistości kontrolką ActiveX. Można korzystać ze wszystkich komponentów i, ogólnie rzecz biorąc, projektowanie jest łatwiejsze niż w przypadku zwykłych obiektów COM.
Dodatkowo ActiveX pozwala na wygenerowanie kodu pozwalającego na umieszczenie aplikacji na stronie WWW.
Więcej na temat tworzenia kontrolek COM/ActiveX oraz wykorzystania ich w aplikacjach, znajdziesz w 13. rozdziale książki Delphi 7. Kompendium programisty, wyd. Helion 2003.
Platforma .NET jest następcą COM, która zakłada integralność pomiędzy programami. Do tej pory programiści mogli budować osobne kontrolki mogące zostać później wykorzystane w innych aplikacjach. Wiązało się to z rejestracją tej kontrolki, dodawaniem odpowiednich wpisów w rejestrze Windows. W .NET komunikacja pomiędzy programami będzie ułatwiona i dany program będzie mógł dziedziczyć z klasy z innej aplikacji, obsługiwać wyjątki innej aplikacji itp.
Języka Java zyskał sporą popularność głównie dlatego, iż może zostać uruchomiony na różnych platformach. Wszystko dzięki maszynom wirtualnym. Microsoft zaczerpnął ten pomysł do platformy .NET. Microsoft Intermediate Language (MSIL), bo to o nim mowa, stanowi pewnego rodzaju kod pośredni pomiędzy kodem źródłowym, a kodem maszynowym (wykonywalnym). Platforma .NET zawiera instrukcję umożliwiające kompilowanie na kod maszynowy i uruchamianie programów, zarządzanie i zwalnianie pamięci. Dzięki temu MSIL pozwala na pełną integrację z różnymi językami programowania.
Możliwość wykonywania aplikacji .NET na procesorach innych niż Intel x86 daje perspektywy na tworzenie programów na inne urządzenia jak telefony komórkowe, czy palmtopy.
Kod IL przypomina nieco język Asemblera, fragment takiego kodu znajduje się poniżej:
Ciekawostką jest to, że oprócz kodu pośredniego, w pliku umieszczane są także informacje, tzw. metadane. Można powiedzieć, że metadane to opis kodu, lista parametrów funkcji, opis zmiennych oraz innych operacji. To wszystko umieszczane jest w jednym pliku PE (ang. Portable Executable) dając przy tym wrażenie zwykłej aplikacji wykonywalnej z rozszerzeniem *.exe.
Możliwe jest również jednorazowe skompilowanie danego programu od razu na kod maszynowy dzięki temu przy każdym uruchamianiem programu, oszczędzane są zasoby systemowe potrzebne na uruchomienie kompilatora JIT (ang. Just-In-Time).
Microsoft wprowadził pewną nowość w tym zakresie nazwaną wspólnym systemem typów (ang. Common Type System). Polega ona na tym, że każdy język programowania wspierany przez platformę .NET będzie miał identyczne typy danych, programy będą mogły wzajemnie się ze sobą integrować i wymieniać dane.
Wspólny język wykonywania, czyli Common Language Runtime (w skrócie CLR), to podstawowy komponent .NET Framework. CLR jest odpowiedzialny za uruchamianie programów, zarządzanie kodem i pamięcią. Zajmuje się również bezpieczeństwem danych, obsługą błędów oraz konwersją języka IL do postaci maszynowej.
Aby korzystać z .NET wymagane jest zainstalowanie odpowiedniego oprogramowania, które w przyszłości standardowo będzie zintegrowane z systemem Windows. Teraz jednak wymagane jest ściągnięcie pakietu Microsoft .NET Framework SDK (ang. Software Developer Kit). Ów pakiet możesz ściągnąć (oczywiście za darmo) ze strony Microsoftu.
.NET posiada również coś co nazywa się Windows Forms. Dla programisty Delphi będzie to jasne - są to zwykłe komponenty udostępnione przez .NET. W Delphi odpowiednikiem Windows Forms było VCL; w VC++ była biblioteka MFC. Teraz zarówno Visual Studio.NET oraz Delphi.NET korzystają z Windows Forms, który trochę różni się od starego VCL i - niektórzy mogą mieć kłopoty z przyzywczajeniem się do nowego modelu programowania.
Podstawową ideą platformy .NET jest komunikacja między komputerami i ogólnie - urządzeniami przenośnymi takimi jak telefony komórkowe, palmtopy, laptopy za pośrednictwem Internetu.
Usługi sieciowe (ang. Web Service) to interfejsy umożliwiające innym aplikacjom wykorzystanie i ogólnie - komunikowanie się między sobą. W niedalekiej przyszłości usługi sieciowe będą zapewne wbudowane w każde oprogramowanie Microsoft łącznie z Windows oraz Office. Dzięki usługom sieciowym będziemy mogli podzielić program na kilka modułów, które komunikować się mogą poprzez Internet.
Chyba każdy słyszał o HTTP (ang. Hypertext Transfer Protocol). Jest to standard komunikowania się przez Internet. Przykładem może być sieć WWW . Użytkownik chcący zobaczyć stroną WWW, wpisuje jej adres, a przeglądarka korzystając z protokołu HTTP komunikuje się z serwerem, który przesyła nam zawartość danej strony WWW.
Stosunkowo nowym standardem opracowanym przez World Wide Web Consortium ( W3C ) jest standard XML (ang. eXtensible Markup Language) służący do przechowywania danych.
Tak samo jak protokół HTTP jest niezależny od platformy systemowej i pozostałych czynników, tak samo XML może być wykorzystywany na każdym sprzęcie i każdym systemie. XML to w rzeczywistości język znaczników (podobny do HTML ), który służy do przechowywania danych. Struktura takiego pliku musi być oczywiście określona, ale ta tematyka wykracza poza ramy tego artykułu.
Działanie XML jest często porównywane do bazy danych. XML również służy gromadzeniu danych lecz te dwa pojęcia nie są równoznaczne.
SOAP (ang. Simple Object Access Protocol) jest kolejnym protokołem opracowanym przez W3 w celu komunikacji pomiędzy aplikacjami.
Protokół HTTP nie został zaprojektowany w celu komunikacji między aplikacjami, a pomiędzy serwerem a przeglądarką. Aby zapełnić tę lukę zaprojektowano SOAP.
UDDI (ang. Universal Description, Discovery and Integration) to po prostu katalog, usługa katalogowa. Użytkownicy mogą rejestrować się w owym katalogu i wyszukiwać potrzebnych informacji.
WSDL to w rzeczywistości dokument zapisany w XML opisujący daną usługę sieciową. Na razie wiedz, że coś takiego istnieje, nie musisz zawracać sobie tym głowy.
Idea .NET dopiero zaczyna się rozwijać więc nie od razu wszystkie aplikacje będą zgodne z tą platformą. Na to potrzeba czasu i Microsoft zdaje sobie z tego sprawę. Planowane jest wydanie systemu Windows.NET całkowicie zgodnego z .NET, ale data premiery nie jest jeszcze znana (pierwsze plany wskazują na rok 2006 lub 2007).
Podsumujmy pokrótce, czym jest .NET
Odniosę się w tym momencie do starego powiedzenia. Owszem, .NET ma działać na każdej platformie, ale... pod warunkiem, że będzie to produkt firmy Microsoft. Powstaje jednak darmowy projekt ( OpenSource ), którego założeniem jest stworzenie platformy zintegrowanej z .NET. Projekt nosi nazwę dotGNU, a jego strona główna to: www.dotgnu.org.
Spis treści
1 .NET Framework
2 Produkty dla deweloperów
2.1 ASP.NET
3 Niezależność językowa
3.1 Czym jest COM?
3.2 Kontrolka w rozumieniu COM
3.3 Odrobinę historii
3.4 ActiveX
4 Język pośredni IL
5 Wspólny system typów
6 Wspólny język wykonywania
7 Biblioteka klas
8 Usługi sieciowe
9 HTTP
10 XML
11 SOAP
12 UDDI
13 WSDL
14 Konkluzja
Platforma .NET stawia największy nacisk na Internet jako źródło komunikacji między poszczególnymi komputerami czy ogólnie - urządzeniami (telefony komórkowe, laptopy). Należy zaznaczyć, że .NET nie jest żadnym systemem operacyjnym - jest to pewna idea, strategia.
.NET Framework
Podstawowym i najbardziej nas interesującym elementem .NET jest .NET Framework, który stanowi infrastrukturę tworzenia aplikacji. Realnie Microsoft .NET Framework to szereg niezbędnych bibliotek umożliwiających tworzenie aplikacji na platformę .NET. Zadaniem .NET Framework jest zarządzanie przeróżnymi elementami systemu, których obsługa do tej pory zajmowała programistom najwięcej czasu.
Należy w tym momencie zaznaczyć, że programowanie pod .NET różni się znacząco w stosunku do dotychczasowego programowania pod Windows. Microsoft .NET Framework udostępnia nowe klasy, biblioteki, których wykorzystanie także różni się tym od standardowego modelu w dotychczasowym Windows. Mówimy o tym z myślą o programistach Delphi , którzy mieli wcześniej styczność z tym językiem, ale teraz chcieliby spróbować swoich sił w .NET. Nowi użytkownicy, którzy dopiero od Delphi 8 zaczynają swoją przygodę z programowaniem, mają bardziej komfortową sytuację. Dla nich będzie to coś nowego i zarazem stanie się naturalne. Starzy użytkownicy muszą uczyć się nowych elementów języka, chociaż podstawowe zasady programowania w Delphi nadaj obowiązują.
Produkty dla deweloperów
Wraz z ujawnieniem idei .NET, Microsoft rozpoczął pracę nad narzędziami dla programistów, którzy chcieliby tworzyć swoje aplikacje w oparciu o .NET. Dzięki temu mamy stare języki programowania unowocześnione o nowe możliwości platformy .NET takie jak: Visual Basic.NET , ASP.NET , C# oraz środowisko tworzenia aplikacji Visual Studio.NET .
To jeszcze nie wszystko. Istnieje bowiem baza danych MS SQL.NET oraz serwer Microsoftu IIS. Wszystko to umożliwia sprawne tworzenie aplikacji niezależnych. Oznacza to, że praktycznie nie istotne jest to, czy piszemy w C# czy w Visual Basic.NET. W obu tych językach (różniących się w końcu składnią) wykorzystujemy te same mechanizmy platformy .NET Framework osiągając w tym te same cele.
Firma Borland (producent Delphi) również postanowiła, iż będzie wspierać .NET i stworzyła nowe Delphi. Delphi 8 .NET przystosowane do nowej platformy.
ASP.NET
Szeroko promowaną i stosowaną w połączeniu z .NET technologią, jest technologia ASP (ang. Active Server Pages). Technologia ASP umożliwia tworzenie dynamicznych stron WWW (np. pisanie for dyskusyjnych, ksiąg gości, czy całych systemów portalowych) z wykorzystaniem jednego z jęków wspieranych przez .NET - np. C#.
Niezależność językowa
Pierwowzorem tej idei jest COM (ang. Component Object Model), COM+, DCOM. COM zapewniał niezależność języka programowania, lecz .NET wprowadza integracje języka.
Czym jest COM?
Rozwinięciem angielskiego skrótu COM jest nazwa Component Object Model (obiektowy model komponentów). Jest to specyfikacja firmy Microsoft, która w założeniu dotyczy tworzenia obiektów wielokrotnego użytku, niezależnie od języka programowania.
Aby zrozumieć ActiveX , musisz poznać COM. Postaram się zwięźle Ci to wytłumaczyć. Otóż firma Microsoft stworzyła model obiektów, które wykorzystywane mogą być w każdym środowisku programistycznym Windows. Wynikiem powstania obiektu COM jest kontrolka - plik binarny z rozszerzeniem .ocx. Kontrolka taka może być wykorzystana zarówno w Delphi, jak i Visual C++, C++ Builder czy Visual Basic.
Na razie obiekty COM są jedynie obiektami działającymi w różnych środowiskach Windows i niemożliwe jest wykorzystanie ich poza tym systemem.
Kontrolka w rozumieniu COM
Na typ etapie będę używał słowa "kontrolka" w znaczeniu obiektu COM. Można powiedzieć, że obiekty COM są takim uniwersalnym komponentem, podobnym do biblioteki DLL . Raz utworzona kontrolka może być wykorzystywana wiele razy, przez wielu programistów oraz w różnych środowiskach programowania. Jeżeli ktoś już napisał kontrolkę spełniającą daną funkcję, to po co wyważać otwarte drzwi i tworzyć jeszcze raz to samo? Przykładem może być przeglądarka WWW. Napisanie programu analizującego kod HTML jest niezwykle czasochłonnym i żmudnym zadaniem. Niekiedy jednak w naszym programie konieczne staje się wyświetlenie jakiegoś dokumentu w formie strony WWW. Dzięki technologii COM i ActiveX (o ActiveX powiemy nieco później) możemy zaimportować udostępnione przez twórców przeglądarki obiekty COM i wykorzystać je w Delphi w bardzo prosty sposób.
Odrobinę historii
COM jest technologią stosunkowo nową, bo powstałą kilka lat temu. Wprowadzenie jej miało na celu stworzenie jednolitego standardu komunikacji, tak aby np. (by jeszcze raz posłużyć się powyższym przykładem) programiści mogli korzystać z możliwości przeglądania stron WWW w swoich aplikacjach. Firma Microsoft wyszła naprzeciw temu zadaniu i utworzyła moduł obiektów (COM), który umożliwia udostępnianie innym aplikacjom swoich metod.
ActiveX
ActiveX to technologia oparta na COM. Pozwala na tworzenie kontrolek .ocx lub .dll. Tak naprawdę ActiveX to obiekt COM, tyle że posiadający własny interfejs dostępny na poziomie projektowania. Wygląda to w ten sposób, że tworzony jest zwykły formularz VCL, będący w rzeczywistości kontrolką ActiveX. Można korzystać ze wszystkich komponentów i, ogólnie rzecz biorąc, projektowanie jest łatwiejsze niż w przypadku zwykłych obiektów COM.
Dodatkowo ActiveX pozwala na wygenerowanie kodu pozwalającego na umieszczenie aplikacji na stronie WWW.
Więcej na temat tworzenia kontrolek COM/ActiveX oraz wykorzystania ich w aplikacjach, znajdziesz w 13. rozdziale książki Delphi 7. Kompendium programisty, wyd. Helion 2003.
Platforma .NET jest następcą COM, która zakłada integralność pomiędzy programami. Do tej pory programiści mogli budować osobne kontrolki mogące zostać później wykorzystane w innych aplikacjach. Wiązało się to z rejestracją tej kontrolki, dodawaniem odpowiednich wpisów w rejestrze Windows. W .NET komunikacja pomiędzy programami będzie ułatwiona i dany program będzie mógł dziedziczyć z klasy z innej aplikacji, obsługiwać wyjątki innej aplikacji itp.
Język pośredni IL
Języka Java zyskał sporą popularność głównie dlatego, iż może zostać uruchomiony na różnych platformach. Wszystko dzięki maszynom wirtualnym. Microsoft zaczerpnął ten pomysł do platformy .NET. Microsoft Intermediate Language (MSIL), bo to o nim mowa, stanowi pewnego rodzaju kod pośredni pomiędzy kodem źródłowym, a kodem maszynowym (wykonywalnym). Platforma .NET zawiera instrukcję umożliwiające kompilowanie na kod maszynowy i uruchamianie programów, zarządzanie i zwalnianie pamięci. Dzięki temu MSIL pozwala na pełną integrację z różnymi językami programowania.
Możliwość wykonywania aplikacji .NET na procesorach innych niż Intel x86 daje perspektywy na tworzenie programów na inne urządzenia jak telefony komórkowe, czy palmtopy.
Kod IL przypomina nieco język Asemblera, fragment takiego kodu znajduje się poniżej:
.method family hidebysig virtual instance void
Dispose(bool Disposing) cil managed
{
// Code size 30 (0x1e)
.maxstack 2
IL_0000: ldarg.1
IL_0001: brfalse.s IL_0016
IL_0003: ldarg.0
IL_0004: ldfld class [System]System.ComponentModel.Container WinForm.TWinForm1::Components
IL_0009: brfalse.s IL_0016
IL_000b: ldarg.0
IL_000c: ldfld class [System]System.ComponentModel.Container WinForm.TWinForm1::Components
IL_0011: callvirt instance void [System]System.ComponentModel.Container::Dispose()
IL_0016: ldarg.0
IL_0017: ldarg.1
IL_0018: call instance void [System.Windows.Forms]System.Windows.Forms.Form::Dispose(bool)
IL_001d: ret
} // end of method TWinForm1::Dispose
Dispose(bool Disposing) cil managed
{
// Code size 30 (0x1e)
.maxstack 2
IL_0000: ldarg.1
IL_0001: brfalse.s IL_0016
IL_0003: ldarg.0
IL_0004: ldfld class [System]System.ComponentModel.Container WinForm.TWinForm1::Components
IL_0009: brfalse.s IL_0016
IL_000b: ldarg.0
IL_000c: ldfld class [System]System.ComponentModel.Container WinForm.TWinForm1::Components
IL_0011: callvirt instance void [System]System.ComponentModel.Container::Dispose()
IL_0016: ldarg.0
IL_0017: ldarg.1
IL_0018: call instance void [System.Windows.Forms]System.Windows.Forms.Form::Dispose(bool)
IL_001d: ret
} // end of method TWinForm1::Dispose
Ciekawostką jest to, że oprócz kodu pośredniego, w pliku umieszczane są także informacje, tzw. metadane. Można powiedzieć, że metadane to opis kodu, lista parametrów funkcji, opis zmiennych oraz innych operacji. To wszystko umieszczane jest w jednym pliku PE (ang. Portable Executable) dając przy tym wrażenie zwykłej aplikacji wykonywalnej z rozszerzeniem *.exe.
Możliwe jest również jednorazowe skompilowanie danego programu od razu na kod maszynowy dzięki temu przy każdym uruchamianiem programu, oszczędzane są zasoby systemowe potrzebne na uruchomienie kompilatora JIT (ang. Just-In-Time).
Wspólny system typów
Microsoft wprowadził pewną nowość w tym zakresie nazwaną wspólnym systemem typów (ang. Common Type System). Polega ona na tym, że każdy język programowania wspierany przez platformę .NET będzie miał identyczne typy danych, programy będą mogły wzajemnie się ze sobą integrować i wymieniać dane.
Wspólny język wykonywania
Wspólny język wykonywania, czyli Common Language Runtime (w skrócie CLR), to podstawowy komponent .NET Framework. CLR jest odpowiedzialny za uruchamianie programów, zarządzanie kodem i pamięcią. Zajmuje się również bezpieczeństwem danych, obsługą błędów oraz konwersją języka IL do postaci maszynowej.
Biblioteka klas
Aby korzystać z .NET wymagane jest zainstalowanie odpowiedniego oprogramowania, które w przyszłości standardowo będzie zintegrowane z systemem Windows. Teraz jednak wymagane jest ściągnięcie pakietu Microsoft .NET Framework SDK (ang. Software Developer Kit). Ów pakiet możesz ściągnąć (oczywiście za darmo) ze strony Microsoftu.
.NET posiada również coś co nazywa się Windows Forms. Dla programisty Delphi będzie to jasne - są to zwykłe komponenty udostępnione przez .NET. W Delphi odpowiednikiem Windows Forms było VCL; w VC++ była biblioteka MFC. Teraz zarówno Visual Studio.NET oraz Delphi.NET korzystają z Windows Forms, który trochę różni się od starego VCL i - niektórzy mogą mieć kłopoty z przyzywczajeniem się do nowego modelu programowania.
Usługi sieciowe
Podstawową ideą platformy .NET jest komunikacja między komputerami i ogólnie - urządzeniami przenośnymi takimi jak telefony komórkowe, palmtopy, laptopy za pośrednictwem Internetu.
Usługi sieciowe (ang. Web Service) to interfejsy umożliwiające innym aplikacjom wykorzystanie i ogólnie - komunikowanie się między sobą. W niedalekiej przyszłości usługi sieciowe będą zapewne wbudowane w każde oprogramowanie Microsoft łącznie z Windows oraz Office. Dzięki usługom sieciowym będziemy mogli podzielić program na kilka modułów, które komunikować się mogą poprzez Internet.
HTTP
Chyba każdy słyszał o HTTP (ang. Hypertext Transfer Protocol). Jest to standard komunikowania się przez Internet. Przykładem może być sieć WWW . Użytkownik chcący zobaczyć stroną WWW, wpisuje jej adres, a przeglądarka korzystając z protokołu HTTP komunikuje się z serwerem, który przesyła nam zawartość danej strony WWW.
XML
Stosunkowo nowym standardem opracowanym przez World Wide Web Consortium ( W3C ) jest standard XML (ang. eXtensible Markup Language) służący do przechowywania danych.
Tak samo jak protokół HTTP jest niezależny od platformy systemowej i pozostałych czynników, tak samo XML może być wykorzystywany na każdym sprzęcie i każdym systemie. XML to w rzeczywistości język znaczników (podobny do HTML ), który służy do przechowywania danych. Struktura takiego pliku musi być oczywiście określona, ale ta tematyka wykracza poza ramy tego artykułu.
Działanie XML jest często porównywane do bazy danych. XML również służy gromadzeniu danych lecz te dwa pojęcia nie są równoznaczne.
SOAP
SOAP (ang. Simple Object Access Protocol) jest kolejnym protokołem opracowanym przez W3 w celu komunikacji pomiędzy aplikacjami.
- SOAP to protokół komunikacji pomiędzy aplikacjami;
- SOAP został zaprojektowany w celu komunikacji przez Internet;
- SOAP jest niezależny od platformy systemowej;
- SOAP komunikuje się wysyłając komunikaty;
- SOAP jest oparty na XML;
Protokół HTTP nie został zaprojektowany w celu komunikacji między aplikacjami, a pomiędzy serwerem a przeglądarką. Aby zapełnić tę lukę zaprojektowano SOAP.
UDDI
UDDI (ang. Universal Description, Discovery and Integration) to po prostu katalog, usługa katalogowa. Użytkownicy mogą rejestrować się w owym katalogu i wyszukiwać potrzebnych informacji.
WSDL
WSDL to w rzeczywistości dokument zapisany w XML opisujący daną usługę sieciową. Na razie wiedz, że coś takiego istnieje, nie musisz zawracać sobie tym głowy.
Konkluzja
Idea .NET dopiero zaczyna się rozwijać więc nie od razu wszystkie aplikacje będą zgodne z tą platformą. Na to potrzeba czasu i Microsoft zdaje sobie z tego sprawę. Planowane jest wydanie systemu Windows.NET całkowicie zgodnego z .NET, ale data premiery nie jest jeszcze znana (pierwsze plany wskazują na rok 2006 lub 2007).
Podsumujmy pokrótce, czym jest .NET
- .NET jest nową strategią firmy Microsoft;
- .NET wytycza nowe standardy programowania;
- .NET bazuje na infrastrukturze związanej z Internetem;
- .NET ma w założeniu działać na każdym systemie lub platformie
- .NET to nie system operacyjny;
- .NET bazuje na nowoczesnych standardach (XML, SOAP itp.);
Odniosę się w tym momencie do starego powiedzenia. Owszem, .NET ma działać na każdej platformie, ale... pod warunkiem, że będzie to produkt firmy Microsoft. Powstaje jednak darmowy projekt ( OpenSource ), którego założeniem jest stworzenie platformy zintegrowanej z .NET. Projekt nosi nazwę dotGNU, a jego strona główna to: www.dotgnu.org.



Widzisz, swoja opinie opierasz tylko na tym, ze jest to wymslone przez Microsoft. I co? Wiesz czym jest ta platforma, programowales pod .NET?
O ile wogole nastawiacie sie na "programowanie" a nie np. "sprzedaż" lub "administrowanie"...
To, ze .NET wystepuje w Delphi 8.
Nie tak dawno zwilennik M$ wspomiał o "drobnej" wadzie - zwolnieniu obliczeń. To nie jest dorbnostka. To poważne niedociągnięcie.
I ta komunikacja użądzeń przez internet ....
Ja wolałbym przesyłać dane bezpośrednio z palm- czy laptopa do komputera. Bez czułej opieki M$.
Chyba jednak pora pożegnać microsoft.
A tak z innej beczki, jak się płaci tyle kasy za program to można by się spodziewać że dostanę jakiś opis do zamieszconych programów, przecież nie wszyscy wszystko wiedzą.
jak zwykle nad wszystkim Macrokasa będzie miała kontrolę. I nie sądzę aby dotGNU miał większe znaczenie.