Microsoft wydał drugą wersję bety, najnowszej wersji środowiska
programistycznego Visual Studio. Opublikowana wersja testowa ma gotowe
prawie wszystkie funkcje. Udostępniono ją na zasadzie "go live" co oznacza, że
będzie ją można używać nawet wtedy, gdy wersja finalna pojawi się w sklepach.
Możemy ściągnąć wersje : Standard, Professional, Express oraz
Team System. Pierwsza beta - Visual Studio 2008, które nosi teraz
nazwę kodową Orcas, została wydana w kwietniu. Powstała ona z myślą o
tworzeniu aplikacji dla Windows Vista oraz Windows Server 2008.
Prawdopodobnie będzie to ostatnia wersja testowa przed wydaniem wersji RTM,
które nastąpi 27 lutego.
Udostępnione wersje to:
Jako obrazy:
-
Visual Studio 2008 Standard Edition Beta 2
-
Visual Studio 2008 Professional Edition Beta 2
- Visual Studio Team System 2008 - Team Suite Beta 2
- Visual Studio Team System 2008 - Team Foundation Server Beta 2
-
Visual Studio Team System 2008 - Test Load Agent Beta 2
-
MSDN Library for Visual Studio 2008 Beta 2
Jako wirtualne maszyny:
- Visual Studio Team System 2008 - Team Suite Beta 2 VPC
-
Visual Studio Team System 2008 - Team Suite & Team Foundation Server Beta 2 VPC
Nowa wersja programu dla programistów korzystających z Visual Studio 2005
jest długo wyczekiwanym narzędziem zawierającym już wbudowane rozszerzenia,
które pojawiły się po wydaniu wersji 2005.
Dlatego w artykule przedstawimy różnice pomiędzy ostatnią wersją 2005, a najnowszą beta 2.
Wbudowane rozszerzenia powstałe po wydaniu Visual Studio 2005
Pierwsze różnice jakie widać w Microsoft Visual Studio 2008 Professional
Edition Beta 2 to wbudowane w program rozszerzenia powstałe po wersji 2005.
W części aplikacyjnej są to głównie projekty dostępne już wcześniej w Framework
3.0, a teraz zawarte jako narzędzia Framework 3.5, czyli technologie
:
Windows Presentation Foundation (część graficzna API WinFX), Windows
Communication Foundation (część komunikacyjna API WinFX), Windows
Workflow Foundation (pozwala tworzyć szkielet przepływu aplikacji z użyciem
stanów i activities) i Windows CardSpace ( zarządzanie tożsamością i
identyfikacją).

Dla części webowej jest to technologia Ajax, microsoftowa implementacja
biblioteki
AJAX dla ASP .Net 2.0, zawierająca model DOM, w części
klienckiej pozwalająca na obsługę
JavaScriptu, a w części serwerowej dodająca asynchroniczny Postback do
serwera w obiektach klasy UpdatePanel. Wcześniej musieliśmy doinstalowywać
narzędzia Ajax. Niestety wciąż samemu musimy dodać bibliotekę extenderów
z oficjalnej strony Ajax, czyli pakiet rozszerzający bibliotekę ASP .NET
o dodatkowe kontrolki.

Rozbudowany IntelliSense
Dla programistów używających technologii Ajax w Microsoft Visual
Studio 2005
na pewno problemem był brak IntelliSense przy programowaniu w
JavaScript.
Drobne błędy przy programowaniu jak brak litery w którymś z wyrazów był ciężki
do znalezienia, szczególnie przy dużej ilości kodu. Dlatego już od dawna
Microsoft
obiecał rozszerzenie nowej wersji o IntelliSense także do języka
JavaScript.

Sam IntelliSense pomaga w pisaniu kodu, na bieżąco podpowiadając
użytkownikowi zbiorem słów kluczowych języka. Jednak w przypadku błędu potrzebne
jest narzędzie analizujące kod i wskazujące, gdzie znajduje się potencjalna jego
przyczyna. Taka opcja dla JavaScriptu znajduje się w Microsoft Visual
Studio 2008, jest to Run Code Analysis on Web Site w menu
Build.

Framework 3.5 - co nowego w języku ?
Razem z Microsoft Visual Studio 2008 mamy dostarczony nowy Framework
3.5, który rozszerza wcześniejsza wersję 2.0 o narzędzia dostępne w
wersji
3.0, czyli technologie
Windows Presentation Foundation, Windows Communication Foundation,
Windows Workflow Foundation i Windows CardSpace, oraz nowe
dodatki do języka.
Pierwszą zmianą są automatyczne własności (properties), które zmieniają
sposób tworzenia własności. Programiści C# przywykli do tworzenia
properties w sposób widoczny poniżej :
private string _firstName;
private string _lastName;
public string FirstName {
get {
return _firstName ;
}
set{
_firstName = value;
}
}
public string LastName {
get {
return _lastName;
}
set {
_lastName = value;
}
}
Framework 3.5 nie dodaje żadnej nowej logiki, jeżeli chodzi o technikę
get/set properties, po prostu nie musimy ręcznie deklarować prywatnego pola w
klasie, a następnie dołączać do niego własności, zamiast tego kompilator
automatycznie stworzy prywatne pole oraz operacje get/set. Przykładowo
używając automatycznych własności mogę przepisać powyższy kod w następujący
sposób :
public string FirstName {
get; set;
}
public string LastName {
get; set;
}
Object Initializers - w Framework 3.5 mamy możliwość łatwiejszej
inicjalizacji własności. Standardowo w języku C# z użyciem Framework
2.0 inicjalizacja wcześniej zadeklarowanych własności odbywa sie za pomocą
następującego kodu :
Person person = new Person();
person.FirstName = "John";
person.LastName = "Jackson";
Wraz z Framework 3.5 możemy to wszystko zawrzeć w jednej linii, dzięki
opcji zwanej
Object Initializers w następujący sposób :
Person person = new Person { FirstName="John" , LastName="Jackson" };
Collection Initializers - inicjowanie obiektów za pomocą nowej opcji
Object Initializers można także użyć w przypadku kolekcji. Standardowo w
języku C# z użyciem Framework 2.0 inicjalizacja wcześniej
zadeklarowanych własności w kolekcji odbywała się za pomocą następującego kodu :
List people = new List();
people.Add( new Person { FirstName = "John", LastName = "Jackson" } );
people.Add( new Person { FirstName = "Mark", LastName = "Johnson" } );
Z użyciem Framework 3.5 możemy całą deklarację kolekcji zawrzeć w jednej
linii kodu :
List people = new List {
new Person { FirstName = "John", LastName = "Jackson" },
new Person { FirstName = "Mark", LastName = "Johnson" },
};
Extension Methods - technologia pozwalająca dodawać nowe metody do istniejącego typu CLR bez potrzeby rekompilacji oryginalnego typu
lub tworzenia oddzielnej klasy. Przykładowo do tej pory, gdy chcieliśmy dodać metodę zliczającą ilość podanych znaków w wyrazie, robiliśmy to w następujący sposób,
wywołując metodę z innej klasy :
string text = "text txt";
CharCounter.Count(text,'t')
Korzystając z narzędzi Framework 3.5 możemy rozszerzyć klasę string o
metodę count :
string text = "text txt";
text.Count('t')
Aby to zrobić musimy zdefiniować statyczną klasę ze statyczną metodą :
public static class MyExtension {
public static int Count(this string s, char c)
{
int i = 0, n = 0;
while (i != -1)
{
i = s.IndexOf(c, i+1);
n++;
}
return n;
}
Podsumowanie
Microsoft Visual Studio 2008 Proffesional Edition Beta 2 to nowa wersja
narzędzia dla programistów zawierająca już wbudowane rozszerzenia, które
pojawiły się po wydaniu wersji 2005. Prócz tego aplikacja w znacznym stopniu
usprawnia programowanie dzięki rozbudowanemu
IntelliSense. Niestety dla języka XAML, używanego w Windows
Presentation Foundation, w dalszym ciągu brakuje
IntelliSense, na przykład w przypadku tagów służących do animacji. Mamy nadzieję,
że zostanie to poprawione już w wersji RTM.
Także Framework 3.5 dostarcza wielu udogodnień do języka zarówno C#
jak VB. Nowy kompilator Orcas zawiera innowacyjne opcje, jak wyżej
przedstawione automatyczne własności, Extension
Methods czy Object Initialazer. Musimy podkreślić,
że to nie wszystkie dodatki do języka. Możemy w nich znaleźć także
między innymi : Lambda Expressions czy Query Syntax .