Безплатни инструменти за разработка от Microsoft

Категория: Интернет
Етикети: visual studio
10.2.2004

Това определено звучи като оксиморон, но е самата истина. С цел повече начинаещи, а и напреднали програмисти да се докоснат до приложенията за разработка, които предоставя, Microsoft създадоха набор от продукти, които нарекоха с общото наименование Visual Studio Express. Според тях това са “олекотени, лесни за научаване и употреба инструменти за непрофесионални разработчици, ентусиасти и начинаещи, желаещи да изграждат динамични приложения за Windows или Web сайтове.”
Express фамилията включва: C#, C++, Visual Basic, J#, WebDev, SQL Server .Разбира се, в пълните наименования фигурира и по едно “2005 Express” в края.
С какво тези инструменти привлякоха вниманието ни? Първо и може би най-основно: Express приложенията са безплатни. Точно така, всеки може да ги свали от Internet и да ги използва. (това е вярно за бета версиите, все още не е напълно известна политиката на Microsoft относно ценообразуването и дали въобще ще струват нещо).
Всички Express приложения ще присъстват в някаква степен и в цялостната версия на Visual Studio, разбира се, с много допълнителни приложения и разширения. Затова в някакъв смисъл описанието на Express продуктите се явява и като кратко описание на новото Visual Studio 2005 (което, съдейки по името, се очаква догодина).
Преди да се започне работа, обаче е необходима инсталация на .NET 2.0 framework. Текущата версия, която се предлага от Microsoft, e beta, но е относително стабилна и не създава проблеми. Въпреки че не е задължително, горещо препоръчваме да се инсталира и MSDN Express Edition (около 170 MB). Последното предоставя информация (непълна и оскъдна на места, но все пак много полезна) за новостите в .NET 2.0 и в самите .NET езици.
Ако искате да пробвате всичко докрай - на разположение е и SQL Server 2005 Express отново бета. Това е безплатен вариант на MS SQL Server 2005 (с кодово име Yukon) с някои ограничения. Всъщност това не е нещо ново - и досега съществуваше безплатен вариант на MS SQL - MSDE, който се отличаваше само с някои разлики във функционалността.
След тези предварителни знания може да пристъпим към инсталацията на някой от Express продуктите. Всеки от тях може да се свали поотделно и да се инсталират само тези, от които има нужда.
Инсталацията обикновено протича без проблеми (да не забравяме, че тези продукти са все още в бета разработка). В Start менюто се появяват препратки към всяко едно от инсталираните приложения.
Първото, което се забелязва още със стартирането, е по-шареният и приятен за окото графичен интерфейс. Менютата изглеждат по-красиво и усещането по време на работа е далеч по-приятно. За разлика от досега всички настройки на редактора, интерфейсът и цялата среда може да се запазят и да се прехвърлят на друг компютър с помощта на Import/Export wizard.
Графичният редактор винаги е бил в основата и едно от главните предимства на Visual Studio още от самото начало. Express версиите не остават по-назад и включват някои съществени подобрения в тази насока:
- визуално подравняване (alignment) - край на “меренето на око” или ръчното променяне на координатите на контролите. В Express се появяват линии, помагащи за по-точно разположение на компонентите и подреждането им един до друг
- смяна на най-често използваните свойства на група от компоненти - за да смените полето Text на няколко бутона, вече е необходимо само да се изберат и да се даде “Property Editing View” от контекстното меню.
- нови визуални компоненти - какво би било нова версия на .NET без нови компоненти? Този път промените са много - два нови layout-a : FlowLayoutPanel и TableLayoutPanel (имената са почти същите, както и в Java Swing, както и функционалността). Така се предоставя възможност за два нови контейнера за компоненти като при FlowLayout те са “изсипани” един след друг, а при TableLayout се задава брой клетки и компонентите се разполагат в тях.
- WebBrowserControl - името обяснява всичко: компонент, който позволява рендериране на web страници.
- Ветеранът DataGrid е оставен на заден план и се появява неговият наследник DataGridView. С нови възможности и съществени преимущества пред “стария” DataGrid.
- Други промени в Windows forms включват SoundPlayer (вече не е нужна работа с DirectX, за да просвирите един аудио файл), икони в менютата (нещо, което според нас е просто недопустимо да отсъства)
Разработчиците на Microsoft са се постарали и в редактора за изходен код. Вече на разположение на програмиста има шаблони за код (Code snippets), сносно работещ refactoring, както и “surround with” възможност. Последното позволява с едно натискане на бутон избрана област от кода да бъде заградена в #if, #region или друг блок.
Refactoring съдържа всички основни неща, които може да се очакват - Extract Method, преименуване, разменяне реда на параметри, Encapsulate field - въобще все неща, които правят живота на програмиста малко по-лек и лесен.
Visual Studio се развива паралелно с .NET, затова ще споменем и някои от новостите във версия 2.0. Ще се ограничим в C# синтаксис, но промените са почти без изключение за всички .NET езици.
Най-после се появява поддръжка за Generics - нещо подобно на C++ templates, но не съвсем: Това е един кратък пример за използването:
public class List
{
private T[] elements;
private int count;

public void Add(T element) {
if (count == elements.Length) Resize(count * 2);
elements[count++] = element;
}

public T this[int index] {
get { return elements[index]; }
set { elements[index] = value; }
}

public int Count {
get { return count; }
}
}

Как се използва:
List intList = new List();

intList.Add(1); // No boxing
intList.Add(2); // No boxing
intList.Add(“Three”); // Compile-time error

int i = intList[0]; // No cast required


Чрез Where клауза можем да укажем от какъв тип са “базовите” типове
class Dictionary: IDictionary
where K: IComparable
where V: IKeyProvider, IPersistable, new()
{
public void Add(K key, V value) {
...
}
}
Друга промяна е възможността за разделяне на един клас в няколко файла чрез използване на ключовата дума partial. Тази възможност се използва от Express продуктите, като генерираният от визуалния дизайнер код вече се записва в друг файл.
public partial class Customer
{
private int id;
private string name;
private string address;
private List orders;
}

public partial class Customer
{
public void SubmitOrder(Order order) {
orders.Add(order);
}

public bool HasOutstandingOrders() {
return orders.Count > 0;
}
}

Използване на анонимни променливи. Това е особено полезно, ако областта на действие е сравнително малка.
addButton.Click += delegate {
listBox.Items.Add(textBox.Text);
};
Нова ключова дума : yield . Най-общо казано запазва състоянието между две извиквания на метода. Така съвсем лесно може да се пишат enumerators.
public class List
{
public IEnumerator GetEnumerator() {
for (int i = 0; i < count; i++) {
yield return elements[i];
}
}
}
Улеснено асинхронно стартиране: .NET предоставя функция, чрез която съвсем лесно се извиква асинхронно друга функция.
Вече е възможно да се обозначи setter-а и getter-a с различни нива на достъп. Например в следния код:
public string CustomerId {
get { return id; }
internal set { id = value; }
}
Така възможността за запис ще е с private ниво на права.
Една възможност, която за момента е достъпна за използване само от Visual Basic, за момента, но се очаква по-късно да се интегрира и в останалите езици. Това е тъй нареченият My namespace. В общи линии за някои често използвани операции се предоставя доста лесен начин, например:
My.Computer.FileSystem.CopyFile
(“C:Temp est.txt”, “C:Logs”) ,
както може и да се очаква копира файл от едно място на друго.

Сред останалите новости във Visual C# 2005 Express Edition са обширната документация и нагледни уроци, запознаващи програмиста чрез създаването на конзолни или Windows приложения. Windows Forms дизайнерът позволява чрез лесна работа с мишката да създавате богати интерактивни приложения. Напълно интегрираният пакет за изграждане на RSS screensaver прави научаването на новите възможности на средата не само забавно, но и полезно. Вграденият Debugger и AutoCorrect функцията ви помагат при често допускани грешки. Самият Debugger предлага datatips и помощници, които помагат при писането на сложни структури от данни. Visual C# 2005 Express Edition безпроблемно се свързва и работи с XML базирани Web услуги. Приложенията, които използват множество данни, могат да работят тестово и безпроблемно вътре в приложенията, след като осъществят връзката със SQL Server 2005 Express Edition. Новите умни маркери (Smart Tags) осигуряват лесен достъп до често използваните контролни възможности. Напълно настройваемият редактор включва в себе си над 40 настройки за форматиране, включително вид на оцветяването, подстъпи, разстояние между редове и бързи клавиатурни клавиши. Може да опростите конфигурацията на вашите приложения чрез използване на Project Pane.