Język .NET

Nowa strategia Microsoft.NET umożliwia tworzenie rozwiązań integrujących rozmaite usługi sieciowe z samodzielnymi aplikacjami czy wręcz z interfejsem użytkownika. W niedalekiej przyszłości z nowego, wspólnego środowiska mają korzystać najróżniejsze urządzenia, które dziś trudno sobie wyobrazić - nie tylko komputer biurkowy, palmtopowy telefon komórkowy, interaktywna telewizja czy "inteligentna" lodówka.

Nowa strategia Microsoft.NET umożliwia tworzenie rozwiązań integrujących rozmaite usługi sieciowe z samodzielnymi aplikacjami czy wręcz z interfejsem użytkownika. W niedalekiej przyszłości z nowego, wspólnego środowiska mają korzystać najróżniejsze urządzenia, które dziś trudno sobie wyobrazić - nie tylko komputer biurkowy, palmtopowy telefon komórkowy, interaktywna telewizja czy "inteligentna" lodówka.

W ciągu najbliższych dwóch lat Microsoft zamierza zaoferować całą gamę produktów z rodziny .NET, a wśród nich Windows.NET - system operacyjny komputerów biurkowych, którego prototypem jest Windows Whistler. Końcową formą ma być - już w pełni zgodny z .NET - system Blackcomb, zapowiadany na rok 2002. Oprócz sprawnego systemu operacyjnego, o powodzeniu przedsięwzięcia decydować będzie też dostępność zróżnicowanych narzędzi programistycznych do budowy i rozwoju aplikacji dla platformy .NET. Tu Microsoft ma dużo do zaoferowania, gdyż (rozwijając szeroko pomysł "komputerminala sieciowego" firmy Sun) udostępnia Visual Studio.NET (VS.NET) - przystosowywane do potrzeb .NET środowisko programistyczne IDE Visual Studio 6.0.

Platformę .NET można określić jako swoistą ramę (.NET Framework) wspólnego <font color="red">środowiska uruchomieniowego CLR (Common Language Runtime), a także zestaw usług systemowych dla aplikacji. Są to zarówno usługi podstawowe (np. zapis do pliku, wczytywanie danych), jak i bardziej zaawansowane, związane na przykład z obsługą danych. W skład CLR wchodzi wiele mechanizmów, m.in. do obsługi wątków, identyfikacji wyjątków, śledzenia aplikacji, automatycznego debugowania czy kompilacji na kod pośredni IL. Fragmenty aplikacji mogą jednak pomijać CLR i bezpośrednio odwoływać się do systemu operacyjnego.

Koncepcja .NET opiera się na wyraźnym wyodrębnieniu warstwy usługowej systemu operacyjnego i stanowi kolejny - po wykorzystaniu komponentów -etap rozwoju aplikacji. Podobnie jak w Javie, jest tu specjalna warstwa CLS (Common Language Specification), która izoluje b-kod aplikacji od systemu operacyjnego. Dzięki CLS i temu, że różne aplikacje mogą korzystać ze wspólnego CLR bardzo ułatwiono współpracę między elementami opracowanymi za pomocą niemal dowolnych (byle zgodnych z CLS) języków i narzędzi. Na przykład z komponentu napisanego w C# można dziedziczyć w kodzie Visual Basic (VB), a z kolei w VB przechwycić wyjątek zgłoszony przez fragment kodu C++. Komponent napisany w Perlu może być osadzony w formatce VB do generowania raportów, a rozwiązania .NET można tworzyć nawet w Pythonie i Smalltalku, byle tylko kompilator IL spełniał wymagania CLS.

Ujawniła się tu kolejna wojna koncepcji firm Sun-Microsoft: najpierw Sun postawił na Javę i/lub XML - uniwersalny język "do wszystkiego"; Microsoft po kilkuletnim namyśle odpowiedział jednym wspólnym środowiskiem VS, ale dla wielu języków, w tym XML (niemal wszystkie usługi udostępniane przez .NET są w pewnym stopniu związane z XML). Są tu zarówno mechanizmy udostępniania pewnych funkcji aplikacji za pośrednictwem protokołów internetowych HTTP, jak i narzędzia do zdalnego wywoływania procesów, oparte na SOAP. Są dwie klasy obiektów odpowiadających za interfejs - jeden dostosowany do HTML, drugi do bogatych możliwości graficznych interfejsów Windows.

VS.NET

Charakteryzując jednym zdaniem pakiet VS.NET (obecnie jeszcze w wersji beta, ale już stabilnej), można powiedzieć, że to chyba pierwsze narzędzie RAD, które zaciera różnice między językami programowania. Programista może się skupić na tworzeniu rozwiązania, a nie nad tym, w jaki sposób skleić rozmaite fragmenty aplikacji. Równocześnie może bez większych trudności integrować starsze rozwiązania z nowymi (np. kod intensywnie korzystający ze wskaźników połączyć z kodem zarządzalnym, działającym na podstawie CLR).

VS.NET, nadbudowany niejako na .NET Framework, stanowi wspólne środowisko IDE różnych języków - Visual C (VC), Visual Basic, C# oraz częściowo Visual FoxPro. Pozwala to programiście ustawić własny profil, w którym określi wygląd okien czy skróty klawiaturowe lub wykorzysta predefiniowane zestawy "preferences" według swoich przyzwyczajeń do VB, VC, czy InterDev.

VS.NET ma spore wymagania sprzętowe: dużo pamięci i szybki procesor. Można wprawdzie zaczynać z PII 266/ 128 MB RAM, ale do efektywnej pracy przyda się co najmniej dwa razy więcej i nie mniej pamięci wirtualnej! Zdarza się, że po chwili pracy VS.NET i sam NET.Framework zajmują około 200 MB. Wersja finalna będzie podobno miała mniejsze wymagania sprzętowe.

Pomoc

Sporo zmian można dostrzec już w systemie pomocy i MSDN dołączonym do programu - przy czym wygląd dokumentacji przypomina zastosowany w VC 4.0, a nie w VS 6.0. W środowisku IDE dostępne jest małe okno pomocy, które w trakcie poruszania się po środowisku wyświetla odsyłacze do różnych tematów. W przypadku edycji kodu są to na przykład odsyłacze do opisu danego słowa kluczowego czy funkcji. Programista może zdecydować, czy pomoc otwierana jest w tym samym oknie co IDE, czy jako oddzielna aplikacja.

Edytor

Visual Studio .NET 7.0 Enterprise - wybór profilu instalacji.

Visual Studio .NET 7.0 Enterprise - wybór profilu instalacji.

Edycja kodu w C# i VB została znacznie usprawniona. Oprócz technologii intellisense, podpowiadającej możliwe zakończenia danego wyrażenia, można bardzo łatwo zwijać i rozwijać definicje klas, a nawet kod procedur i/lub funkcji. Środowisko zapamiętuje, które elementy są zwinięte, więc programista może znacznie skrócić przeglądany kod.

W edytorze kodu źródłowego błędy składniowe podkreślane są na bieżąco, jak w Wordzie. To znacznie wygodniejsze niż mechanizm VB 6.0, który uparcie wyświetla okno dialogowe z komunikatem...Syntax Error!

Projekty

VS.NET pozwala na tworzenie różnego typu projektów. Wszystkie ich elementy pogrupowane są w tak zwane rozwiązania (podobnie jak w InterDev 6.0). Same projekty to w rzeczywistości specjalna konfiguracja danego kompilatora. W przypadku VB można tworzyć na przykład aplikację konsolową, usługę WWW czy kontrolkę. Analogiczne projekty dostępne są w C#. W C++ są dwie główne grupy projektów: aplikacje korzystające z .NET lub klasyczne aplikacje Win32. Jednym z typów rozwiązań, jakie można utworzyć w VS.NET, jest także pakiet instalacyjny lub mechanizm pozwalający automatycznie instalować produkt w sieci przedsiębiorstwa.

Ciekawym pomysłem jest dostarczenie nie tylko kreatorów pozwalających szybko wygenerować szkielet aplikacji w określonym języku, ale także gotowych szablonów całego rozwiązania typu enterprise, w którym od razu narzucana jest organizacja i podział projektu. Elementem każdego projektu może być jego model, przygotowany w specjalnej wersji Visual Modeler - zubożonej wersji pakietu Rational Rose. W wersji finalnej VS.NET będzie miało prawdopodobnie specjalne interfejsy pozwalające na łatwą integrację z innymi pakietami modelowania aplikacji.


Zobacz również