Aplikacje w .Net

Największa rewolucja dokonała się w języku <font color="#A55129">VS.Net. Chyba po raz pierwszy Microsoft zdecydował się zrezygnować z pełnej zgodności wstecz i dostarczyć nowoczesny, w pełni obiektowy język Visual Basic.

VB.Net pozwala na pełne dziedziczenie. Zniknęły globalne moduły - każda z funkcji musi znajdować się w określonej przestrzeni nazw. Zamiast niewygodnego mechanizmu On Error, w VB.Net można wykorzystywać wyjątki.

VB.Net obsługuje jawne tworzenie wielu wątków. Pozwala na tworzenie dzielonych składowych klasy, które są wspólne dla wszystkich instancji. Uporządkowano koncepcję interfejsów, co znacznie uprościło ich implementację w klasie pochodnej. Udogodnieniem jest automatyczna inicjalizacja zmiennej podczas deklarowania. Dzięki temu ten język w pełni korzysta z możliwości .Net. W nowym VB można również tworzyć nowe typy projektów - na przykład aplikacje konsolowe, co wcześniej było niemożliwe.

Należy jednak podkreślić, że VB.Net nie jest w 100% zgodny z poprzednią wersją Visual Basic. Pierwszy element tablic (zgodnie ze specyfikacją CLS) ma indeks 0. Nie można deklarować łańcuchów o stałej długości. Typy danych odpowiadają definicji w CLS (np. typ integer ma długość 32, a nie 16 bitów). Zawsze wymagane są nawiasy otaczające parametry procedury i funkcji. Zmienił się także sposób odwoływania się do funkcji API Win32. Przenoszenie istniejącej aplika-cji do VB.Net nie jest procesem automatycznym!

<font color="#A55129">C# to nowy język proponowany przez Microsoft jako "wzorcowy", przeznaczony dla platformy .Net.

Wersje trzy

Visual Studio .Net jest dostępne w trzech edycjach

Wersja Professional zawiera wszystkie elementy potrzebne do tworzenia aplikacji przeznaczonych dla Windows, a także tych, które mają działać na platformie .Net.

Wersje Enterprise - Developer i Architect zawierają dodatkowe narzędzia, przydatne podczas tworzenia dużych systemów IT. Zapewniają wsparcie dla modelowania aplikacji - jest tu wykorzystywany interfejs Visio; analityk może projektować rozwiązanie w standardzie UML, ale może także skorzystać z metodologii Object Role Modeling (ORM), która znacznie upraszcza komunikację wśród członków zespołu. Oczywiście, na podstawie modelu można wygenerować szkielet aplikacji. Można też na podstawie istniejącego kodu programu stworzyć model.

Język ten stanowi unowocześnione C++, gdzie wiele konstrukcji, zwykle powodujących problemy, zostało wyeliminowanych. Podobnie jak w Javie, połączono definicję interfejsu oraz implementację. Nie ma oddzielnych plików nagłówkowych. Nie są dostępne szablony ani makrodefinicje, jednak można korzystać z kompilacji warunkowej. Oprócz metod czy właściwości, w C# można definiować zdarzenia. Mechanizm obsługi zdarzeń przypomina model nadawca-odbiorca i wykorzystuje delegację (delegacja przypomina wskaźnik do prototypu funkcji w C). W klasie definiowany jest specjalny element odpowiadający za dystrybucję zdarzeń. Klienci rejestrują swoje procedury obsługi, które będą wywoływane w momencie zajścia zdarzenia.

Z punktu widzenia RAD, podstawową zaletą C# jest to, że wykorzystanie w tym języku zewnętrznych komponentów jest tak samo proste jak w VB. Po dołączeniu do pliku odwołań do konkretnego komponentu (jedna linijka kodu), można bez kłopotu deklarować zmienne będące instancjami importowanego obiektu. W C++ konieczne było stosowanie złożonych wrapperów i dodatkowo należało wygenerować pliki nagłówkowe, odpowiadające interfejsowi COM.

Funkcjonalnie C# odpowiada w 100% VB.Net (jest także językiem RAD). Na pytanie, który z języków wybrać, nie ma jednoznacznej odpowiedzi - niektórzy wolą składnię przypominającą C++, inni VB. Jednak ktoś, kto na poważnie myśli o tworzeniu rozwiązań .Net, powinien co najmniej umieć czytać przykłady w obu językach.

Ostatecznie Microsoft zdecydował się dodać do VS.Net środowisko do programowania w języku Java - J#. Obsługiwana jest większość bibliotek zgodnych z JDK 1.1.4, a także rozszerzenia Microsoft (takie jak J/Direct czy Java-COM), wprowadzone w Visual J++ 6.0.


TOP 200