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
- 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 .