Visual Studio 2005

Zapowiadana na przyszły rok wersja Visual Studio będzie zawierać rozbudowane narzędzia do pracy grupowej, zarządzania cyklem życia projektu oraz refaktoringu kodu.

Zapowiadana na przyszły rok wersja Visual Studio będzie zawierać rozbudowane narzędzia do pracy grupowej, zarządzania cyklem życia projektu oraz refaktoringu kodu.

Na konferencji TechEd Microsoft zaprezentował wersję Beta 1 pakietu narzędzi programistycznych Visual Studio 2005. Przedstawił także wstępną wersję Visual Studio Team Architect Edition - nowego zestawu narzędzi, którego rolą jest uproszczenie komunikacji między członkami zespołów projektowych - architektów, projektantów, programistów, testerów itd. Nowy pakiet, który ma być częścią Visual Studio Team System, obejmuje funkcjonalnie cały cykl tworzenia aplikacji. Niezależnie od tego, do oferty Redmond będzie wprowadzona niedługo także przebudowana wersja narzędzia do kontroli wersji SourceSafe.

Anonsowane zmiany nie są tego formatu, co różnica pomiędzy Visual Studio 6.0 a Visual Studio .Net. Migracja do Visual Studio .Net 2005 będzie w sumie bezproblemowa - nawet wersja beta otwiera starsze projekty i pozwala na wykonywanie i inspekcję kodu tworzonego w aktualnych wersjach Visual Studio. Co więcej, Microsoft przygotował dedykowane mechanizmy ułatwiające migrację właśnie z Visual Studio 6 (głównie Visual Basic 6) do .Net. Narzędzia ASP.Net 2.0 są zgodne w stu procentach ze swoim poprzednikiem, zaś w przypadku innych bibliotek .Net Framework różnice są bardzo subtelne. Gdyby jednak okazały się istotne, wersje 1.0, 1.1 i 2.0 narzędzi .Net Framework można instalować "obok siebie", a co więcej, równolegle działające różne wersje mogą nawzajem wywoływać swoje funkcje.

Wysokie C#

Automatyczna synchronizacja zawartości folderu projektu oraz witryny internetowej w Visual Studio 2005 ułatwia aktualizowanie aplikacji ASP.NET.

Automatyczna synchronizacja zawartości folderu projektu oraz witryny internetowej w Visual Studio 2005 ułatwia aktualizowanie aplikacji ASP.NET.

Visual Studio 2005 przyniesie kilka istotnych zmian w C# - sztandarowym języku .Net. Przede wszystkim wprowadzono mechanizm typów ogólnych (generics), które, w uproszczeniu, pozwalają "sparametryzować" definicję klasy określonym typem. Typy ogólne są stosowane w algorytmach zawierających "ogólną" definicję sposobu postępowania, mogącą dotyczyć różnych typów, np. lista "pojemnik" może przechowywać dowolne elementy.

Warto tu podkreślić, że typy ogólne pojawią się wkrótce również w Javie - będą jednak działać zupełnie inaczej. Jeżeli w .Net zostanie zdefiniowany typ "parametryzowany", w wyniku kompilacji powstanie i zostanie odpowiednio skompilowany nowy obiekt typu wskazanego przez parametr. Tymczasem w JDK 1.5 jest wykorzystywana koncepcja opracowana w ramach projektu "Pizza". Typy ogólne obowiązują w niej tylko w czasie kompilacji - potem typ składowy jest zamieniany na Object (ogólny typ danych) i przy każdym dostępie jest wykonywane kosztowne rzutowanie. Rozwiązanie to jest mało wydajne, ale nie trzeba wprowadzać zmian w maszynie wirtualnej.

W wyniku użycia typów ogólnych w C# 2.0 powstaje wydajny obiekt .Net, który może być analizowany przy użyciu mechanizmów refleksji itp. Cały czas wiadomo, że np. jest to lista wartości typu int. Równocześnie w .Net Framework 2.0 będzie dostępna rozbudowana biblioteka realizująca różne struktury danych - stosy, kolejki itp. - zrealizowana jako gotowe do użycia wzorce generics. Dzięki typom ogólnym w C# 2.0 pojawiły się typy z wartością null. Często w programie (zwłaszcza w aplikacjach bazodanowych) trzeba wyróżnić "wartość pustą". W przypadku typów obiektowych było to zawsze możliwe, ale typy proste (np. liczba całkowita) takiej możliwości nie miały. Mechanizm generics pozwala opakować typ prosty w taki sposób, aby miał dodatkową wartość - null. Co ciekawe, dzieje się to niemal bez utraty wydajności.

W C# wprowadzono także iteratory. Uproszczą one tworzenie konstrukcji, za pomocą których programista chce "wyliczyć" pewną kolekcję danych. Nie będzie konieczne, jak w .Net 1.x, stosowanie interfejsu IEnumerable. Ponadto dużą wygodę przyniosą tzw. klasy częściowe. Definicję jednej klasy będzie można rozbić między wiele plików, co zwiększy znacznie elastyczność, np. pozwoli, by część kodów była automatycznie generowana (z czego korzysta IDE z budowanymi projektantami). W Visual Studio 2003 projektanci generowali kod w obrębie klasy. W VS 2005 kod znajduje się już w oddzielnych plikach. W ten sposób kod pisany przez programistę zostaje logicznie oddzielony od kodu generowanego automatycznie. Dodatkowa korzyść polega na tym, że błędy składniowe w kodzie pisanym nie zakłócają funkcjonowania IDE. Także ASP.Net 2.0 korzysta z tego mechanizmu. Klasy częściowe ułatwiają również tworzenie pakietów złożonych z wielu fizycznych plików.

Dzięki specjalnemu operatorowi :: można odwoływać się do "nadrzędnej" przestrzeni nazw (przydaje się to wtedy, gdy pewna nazwa zostanie przesłonięta). Można tworzyć tzw. aliasy przypisywane różnym wersjom tej samej biblioteki - co pozwala wykorzystać w programie np. różne wersje komponentów. Klasy statyczne pozwalają łatwo zdefiniować obiekty, które nie mogą być tworzone dynamicznie w programie, a mają tylko przechowywać pewne elementy globalne. Właściwościom obiektów można przypisywać różne poziomy dostępu, np. określić, że odczytać wartość właściwości mogą wszystkie klasy, ale już operacja przypisania będzie chroniona. Wszystkie te zmiany sprawiają, że prościej można wyrazić skomplikowane struktury obiektowe, a mimo to kod nadal będzie czytelny.

Pewnym ułatwieniem w Visual Studio 2005 będzie możliwość przypisywania bezpośrednio do delegatu (czy zdarzenia) fragmentu kodu, który ma być wywołany za pośrednictwem danego mechanizmu. W .Net 1.1 należało zawsze tworzyć funkcje, co w przypadku krótkich procedur obsługi zdarzeń było mało wygodne.

Visual Basic .Net

W Visual Basic .Net ponownie wprowadzono kilka elementów składni, które były w wersji 6, ale nie pojawiły się w pierwszej wersji Visual Basic .Net. Chodzi m.in. o mechanizm "kontynuacji" wewnątrz pętli (co pozwala pominąć pozostałe instrukcje w bloku i od razu przejść do kolejnej iteracji). Także środowisko IDE zawiera specjalne, uproszczone opcje, przypominające te elementy, które były wybierane w czasie kompilowania programów w Visual Basic 6. Deklarując tablicę, można jawnie określić, że dolnym indeksem jest zero, co tylko zwiększa czytelność kodu, bo, niestety, nie można zmienić domyślnej wartości "dolnego" ograniczenia tablicy (wymóg CTS). Dodatkowo wprowadzono także typy liczbowe "bez znaku".

W nowej wersji, podobnie jak w wersji 6, można odwołać się do składowych za pośrednictwem nazwy formularza bez jawnego tworzenia zmiennej danego typu. Mechanizm ten był bardzo wygodny i powszechnie wykorzystywany. W Visual Basic 2005 będzie także dostępna operacja Using, która po zakończeniu korzystania z zasobów (tak samo jak w C#) będzie powodować wywoływanie funkcji Dispose. Podobnie jak w C# 2.0, w Visual Basic .Net 2005 są dostępne: mechanizm typów ogólnych, możliwość przeciążania operatorów arytmetycznych, klasy częściowe itp. Kompilator Visual Basic 2005 będzie mógł generować dokumentację (dotychczas robił to tylko kompilator csc).

Przy okazji warto podkreślić, że samym "jądrem" .Net Framework są dwa elementy: CLS (Common Language Specification) połączony z CTS (Common Type System), które określają zasady współpracy elementów napisanych w różnych językach programowania i CLR - środowiska runtime, które uruchamia kod .Net. Nic nie stoi na przeszkodzie, by język przeznaczony do .Net wykorzystywał np. tylko CLR i CTS. W ten sposób mogą w .Net istnieć różne języki: nieobiektowe, funkcyjne itp. Język Visual Basic .Net 2005 pozwala stosować pewne struktury składniowe, które powodują, że skompilowany kod nie jest zgodny z CLS (współpracę z innymi aplikacjami .Net zapewnia wspólna warstwa typów - CTS). Niemniej, od kompilatora można zażądać, by zgłosił ostrzeżenie, jeżeli kod Visual Basic .Net będzie niezgodny z CLS.

Nowy SourceSafe

W Visual Studio 2002 i 2003 narzędzie SourceSafe praktycznie nie zmieniło się w stosunku do Visual Studio 6. Wersja prezentowana wraz z Visual Studio 2005 przedstawia się bardzo obiecująco. Dane mogą być przechowywane w SQL 2005. Opracowany został mechanizm pozwalający na dostęp do repozytorium za pośrednictwem WWW.

Pojawiło się nowe okno do rozwiązywania konfliktów (gdy nie jest możliwe ich automatyczne rozwiązanie), które rzeczywiście pomaga wykonać daną operację ręcznie. W pełni obsługiwane są pliki Unicode. SourceSafe można też rozbudować. Integracja SourceSafe z Visual Studio .Net 2005 opiera się nie tyle na "plikach", ile na obiektach, np. elemencie diagramu. Łatwo można wskazać te elementy, które mają być współdzielone przez wiele projektów. SourceSafe współpracuje także z Microsoft Build, co ułatwia prowadzenie projektów przewidujących codzienną kompilację (daily build).

SourceSafe jest też częścią Visual Studio Team Foundation - opartym na Share-Point środowisku pracy rozproszonego zespołu. Środowisko łączy zarządzanie projektem, procesy śledzenia błędów, prace nad utrzymaniem kodu itp.


Zobacz również