...
...

Альтернативы Visual Studio NET 2

Альтернативы Visual Studio NET

Продолжение.Начало в КГ №32

Ставим Borland C#Builder
Установка среды разработки проводилась на свежеустановленную операционную систему Windows XP Professional. Такой мой подход позволяет выявить зависимости устанавливаемого пакета от других приложений, уже установленных на моем компьютере.
С первой неочевидной проблемой при установке я столкнулся практически сразу. Винить в этом Borland, впрочем, не стоит — сам виноват. Заметив, что установщик (CSB1_ENT_TRIAL.EXE) первым делом развернул все свое содержимое в папку TEMP, я тут же прервал процесс установки. В дальнейшем мной планировалось записать дистрибутив пакета на компакт-диск. Поэтому, для того чтобы избежать в дальнейшем разворачивания файлов во временную папку, я решил записать дистрибутив на компакт-диск уже в распакованном виде.
Дистрибутив сравнительно небольшой: он без труда уместится на одной "болванке" вместе со всеми остальными файлами, доступными для загрузки на сайте Borland, даже в развернутом виде. Сказано — сделано.

Файл установщика развернулся в каталоге Temp в иерархию вложенных папок. Я переместил их все на другой диск, сохранив структуру каталогов. Говоря простым языком, просто взял и скопировал папку C:\Temp\Borland C#Builder 1.0 на диск E.
В корне этой папки обнаружился файл INSTALL.EXE. Недолго думая, я взял и запустил этот файл.
Выскочило красивое окно, в котором мне предлагалось выбрать нужное приложение для установки. Я выбрал Install Product. В следующем окне выбираю Borland C#Builder for Microsoft Net Framework и… появляется окошко, сообщающее мне, что пакетом не обнаружен некий файл "PREREQS.EXE", и мне необходимо вставить в CD-ROM следующий диск. Хм...

Я решил, что, по всей видимости, установщик не обнаружил необходимых для Borland C#Builder файлов .NET Framework. Ладно. Выхожу из установщика и устанавливаю самостоятельно следующие пакеты:
1) Microsoft .NET Framework version 1.1. (23 Мб).
2) Microsoft .NET Framework SDK version 1.1 (106 Мб).
3) Microsoft Visual J# Net Redistributable Package (7 Мб).

Все три пакета доступны к загрузке на сайте "Майкрософт". О том, что они потребуются для работы C#Builder, я выяснил еще на сайте Borland.
Запускаю install.exe опять… и опять получаю то же самое сообщение. Что-то здесь не так. Совершаю краткий вояж по вложенным папкам дистрибутива и в папке E:\Borland C#Builder 1.0\INSTALL натыкаюсь на искомый файл PREREQS.EXE. Причем рядышком с ним лежит файл, называющийся SETUP.EXE. Очень интересно. Запускаю его — и обнаруживаю второй вариант установщика. Этот установщик не такой шикарный, как предыдущий вариант, но, в отличие от него, свое дело делает исправно.
Несколько раз, нажав кнопку Next, я согласился с лицензией, выбрал Custom-установку и добрался до экрана выбора компонентов.
Подумав, выбрал все, что возможно. После этого пришлось соглашаться с лицензией на пакет Crystal Report и выбирать каталог установки. Следом выскакивает окошко с галочками, на котором вам предлагается выбрать дополнительные пакеты, не являющиеся частью среды разработки.

Enterprise-версия предлагает нам следующий выбор:
Пакет Component One Studio Enterprise for Borland C# Builder.
Набор из большого количества компонентов для Win Forms и ASP.NET. Под термином "компонент" я подразумеваю то, к чему мы все привыкли во времена Delphi. Этот набор компонентов, в основном, интерфейсных, размещается впоследствии на палитре в виде иконок. Вы их перетаскиваете на форму своего проекта и получаете готовую нужную вам функциональность. В комплект входят поля ввода, архиватор ZIP, проверка орфографии и тому подобные штуки. Есть довольно симпатичная таблица а-ля Excel (DataGrid), да и вообще много чего интересного.
Все бы хорошо, да одна незадача. Все это богатство, как и сама среда разработки, "триальное". Если вы используете их в своем проекте, то сразу после запуска скомпилированной вами программы выскакивает экран, сообщающий пользователю вашей программы о том, что вы использовали незарегистрированную версию пакета Component One по ознакомительной 30-дневной лицензии. Возможно, это еще не все сюрпризы, приготовленные нам разработчиками пакета компонентов. Я этого не проверял.

Воспользовавшись случаем, замечу, что на пиратских дисках мне уже попадался этот набор компонентов. Причем, если ничего не путаю, там еще и версия посвежее была. Так что кто ищет, тот всегда найдет. Сам я еще со времен Delphi стараюсь пользоваться только стандартным, входящим в IDE набором компонентов. Такой подход существенно облегчает мне переход на свежие версии среды разработки.

Wise OWL Demeanor Obfuscator
Утилита предназначена для защиты ваших скомпилированных программ от возможного взлома. Зашифровывает идентификаторы, убирает из кода ненужные для работы вашей программы метаданные и другими способами мешает злоумышленнику дизассемблировать и сломать вашу программу. "Ассемблер" (IL) в NET Framework — это достаточно высокоуровневый объектный язык. Поэтому для того, чтобы в нем разобраться, большого ума не надо — достаточно терпения. Да и документация по нему доступна любому желающему. Поэтому, если вы пишете на NET коммерческие программы и не желаете, чтобы кто-либо копался в их внутренностях, эта утилита может вам пригодиться.

Borland Janewa
Насколько я понял документацию, это промежуточный слой (враппер) между средой NET Framework и приложениями J2EE и CORBA. Тут я вам не советчик, так как никогда не использовал в своем коде ни J2EE, ни CORBA.

Interbase Client
Тут все и так ясно. Клиент для доступа к родному для Borland движку баз данных. Если вы его не использовали раньше, то и не надо — в наличии есть SQL Server и MSDE. Если же вы приверженец Interbase, то и без меня знаете, что с этим клиентом делать.

CaliberRM IDE Plug-in
Средство для совместного ведения проектов. Облегчает, теоретически, совместную работу разработчиков программ, менеджеров и тестеров. Пока не смотрел, хотя заранее предчувствую, что это не та софтина, которая может понадобиться нашему разработчику программного обеспечения. По моим наблюдениям, все попытки различных организаций как-либо упорядочить процесс разработки программного обеспечения еще ни разу не заканчивались чем-то путным. Либо подобная задача становилась самоцелью, тормозящей сам процесс разработки, либо ее быстро забрасывали за полной никчемностью.

Ну да ладно, я опять отвлекся. Выбираете те пакеты, которые вас заинтересовали (меня лично ничто из вышеперечисленного не заинтересовало) и жмете Next. Каждый выбранный вами дополнительный пакет запускается из собственного установщика. Это натолкнуло меня на мысль поискать дистрибутивы этих пакетов внутри папок дистрибутива самого C#Builder. Мое предположение оказалось верным. Все вышеперечисленные пакеты не интегрированы внутрь дистрибутива, а лежат в отдельных папках. Вы можете при необходимости установить их отдельно на Personal-версию.
После того как отработают установщики всех выбранных вами пакетов, установка дистрибутива заканчивается. Настала пора регистрации. Если вы проходили регистрацию на сайте Borland (я вам рассказывал о ней в предыдущей статье — КГ №32), то должны были получить на свой e-mail-адрес письмо с прикрепленным к нему текстовым файлом. Копируете полученный по e-mail текстовый файл REG351.txt в папку C:\Documents and Setting\<ваша домашняя папка> . Говоря простыми словами — в корень вашей домашней папки Windows. После того как вы скопируете файл, вы можете запускать среду разработки, щелкнув по иконке C#Builder.

Первые впечатления
После того как программа запустится, вы оказываетесь в рабочей среде, очень похожей на привычную Visual Studio. Как нам и обещали в документации, в наличии имеются окна Project Manager, Object Inspector и Tool Palette. Даже в центральной части экрана при первом запуске оказывается знакомая Welcome Page.
Похоже, разработчики Borland приложили максимум усилий для того, чтобы сделать переход на новую среду программистов, привыкших к Visual Studio, наиболее легким и безболезненным. Если же вы приверженец Delphi, то можете одним кликом мыши превратить среду в практически полное ее подобие. Для этого необходимо в меню View -> Desktops указать, что вы предпочитаете стиль "Classic Undocked".

Из любопытства я посмотрел на отладочный вариант рабочей среды. Этот стиль можно включить в том же меню View -> Desktops. Этот вид адаптирован для отладки вашего кода, среда самостоятельно на него переключается в тот момент, когда вы начинаете отладку своего приложения. На экране появились знакомые окна Call stack, Watch List, Local Variables и Thread Status. Ну что ж, на первый взгляд, уже все неплохо. Мы явно имеем на руках полноценную среду разработки, а не очередной "редактор с подсветкой синтаксиса", которых много расплодилось в последнее время.

Меню создания нового проекта
Меню File -> New порадовало меня четырьмя типами проектов: ASP.Net Application, С# Application, С# Class Library и C# Component Library. Ниже располагаются пункты меню Other и Customize.
Первый пункт запускает хорошо знакомое всем пользователям Visual Studio окно выбора типа нового файла. Полазив по ним, я к своему огромному удивлению обнаружил в разделе Other Files такие типы, как VB.NET Application и прочие варианты проектов, связанных с языком Visual Basic NET. Разумеется, я тут же попробовал создать и скомпилировать VB.NET-приложение. Оно удачно создалось, скомпилировалось и запустилось. Так что эта версия C#Builder, помимо C#, поддерживает и проекты на VB.Net. Сюрприз!

Второй пункт меню Customize предназначен для подстройки под ваши нужды раздела меню выбора нового проекта. Вы можете добавить к уже имеющимся трем проектам еще и другие типы файлов, перечисленных в Other Files. Так, я сам добавил к типам проекта, доступным сразу после открытия File -> New, еще и вновь обнаруженный тип проекта VB.NET Application.

Редактор кода и дизайнер форм
Давайте попробуем создать приложение C#. Говорим, что хотим создать проект C# Application. Первое, что сразу меня удивило, — это очень высокая скорость работы C#Builder по сравнению с Visual Studio. Окна нового проекта прорисовались передо мной практически мгновенно. Дизайнер формы внешне очень сильно напоминает тот, который входит в состав Visual Studio. Исключение составляют лишь кнопки на специальной панели, предназначенные для выравнивания компонентов на форме и между собой. В Visual Studio таких кнопок нет. Внизу расположены две закладки. С их помощью вы можете переключаться между дизайнером и окном редактора кода. Мне лично этот подход показался более удобным, чем тот, который принят в Visual Studio. Напомню: в этой среде окна дизайнера форм и окна с кодом не связаны между собой.
Щелчок по брошенному на форму компоненту приводит к автоматической генерации кода процедуры обработки щелчка по этому компоненту. После того как процедура будет автоматически создана, вы переключаетесь в редактор кода для ее модификации. В этом функциональность C#Builder копирует поведение Visual Studio.

Да и вообще, создавая редактор кода, Borland постаралась создать максимальное подобие среды разработки от фирмы "Майкрософт". Редактор имеет возможность сворачивать и разворачивать блоки кода ("плюсики"). Точно так же, набрав название объекта (или пространства имен) и поставив точку, вы получаете возможность выбрать нужный метод или нужное свойство из выпадающего списка. Основное отличие, сразу бросившееся в глаза, — это отсутствие обилия всевозможных мастеров, встроенных в Visual Studio. К примеру, нет мастера, автоматически создающего конструктор для нового класса. Зато в C#Builder палитра компонентов при переходе в режим редактирования кода самостоятельно заменяет свое содержимое на окно, называемое Code Snippets. Так в Borland обозвали заготовки кусков кода, которые вы можете перетащить с палитры прямо в редактор с помощью мыши. После того как вы это сделаете, в ваш код добавится текст этой заготовки. Я долго пытал среду, пытаясь отредактировать эти "Snippets", но штатного способа так и не обнаружил. С другой стороны, все их содержимое хранится в XML-файле, который вы легко можете отредактировать по своему вкусу. Находится он в каталоге C:\Program Files\ Borland\ BDS\ 1.0\Objrepos и называется CodeSnippets.xml.

Палитра компонентов
Палитра компонентов смотрится довольно-таки своеобразно. Общая идеология расположения элементов взята от Visual Studio, но оформлена палитра совершенно по-другому. Закладки — контейнеры компонентов покрашены в веселенькие цвета, каждая в свой собственный. Вы можете их сворачивать в одну строку для экономии места или разворачивать так, чтобы было доступно их содержимое.
С помощью выпадающего списка, расположенного сверху закладок, можно быстро переместиться на ту, которая вам необходима. Помимо этого списка, предусмотрено поле быстрого поиска нужного вам компонента. По мере того, как вы набираете его название, закладки внизу фильтруются по тем буквам, которые вы уже успели набрать. Так, для примера, если вы набрали в этом поле "Li", то на единственной закладке останутся только Link Label, List Box и List View. Все остальные компоненты будут спрятаны. За счет этого механизма вы сможете быстро найти нужный элемент, даже в том случае, если точно не помните, как он полностью называется.

Панель имеет контекстное меню, вызываемое правой кнопкой мыши. С его помощью вы можете изменить внешний вид как всех закладок в целом, так и каждой по отдельности. С помощью этого меню можно также добавить на закладку или убрать с нее новые компоненты. Для того чтобы скрыть неугодный вам компонент, достаточно выбрать его с помощью первой кнопки мыши, а затем выбрать в контекстном меню Hide <имя того, что вы удаляете> . Помимо удаления отдельных компонентов, можно удалять или создавать целые закладки. Для этого в меню есть соответствующие пункты.

Для того, чтобы добавить компонент в палитру, обратитесь к пункту контекстного меню Installed .NET Component. После того как вы вызовете этот пункт меню (он также доступен в главном меню Component -> Installed .NET Component) перед вами появится всплывающее окно, поделенное на три закладки. На первой перечислены все сборки NET Framework, установленные на вашем компьютере. Если нужная вам сборка в этом списке отсутствует (например, вы создали ее сами и не стали помещать в глобальный кэш), вы можете добавить ее на панель с помощью кнопки Select Assembly, расположенной под списком имеющихся сборок. Вам будет предложено указать файл DLL, в котором хранится нужный вам компонент. После этого ваш компонент будет добавлен к общему списку, и вы, поставив напротив него галочку, сможете поместить его в палитру компонентов. К слову, в этом же окне можно удалить с палитры ненужные вам компоненты. Достаточно просто снять с него галочку.
На второй закладке перечислены все ActiveX-компоненты, зарегистрированные в вашей системе. Теоретически вы точно так же сможете их поместить на палитру компонентов, но мне это так и не удалось. Точнее, на палитру-то они помещаются без какого-либо труда, а вот при попытке перенести их с палитры на форму среда выдает окно с ошибкой. Мол, этот ActiveX-элемент неправильно зарегистрирован в системе. Вероятнее всего, я просто что-то делаю не так, или же я наступил на первый глюк.

Среда Visual Studio добавляет на свой Toolbox эти же самые ActiveX-компоненты без каких-либо проблем. Надо будет потом документацию почитать. Я как истинный программист занимаюсь этим в самую последнюю очередь, если уж совсем ничего не помогло.
Третья закладка предназначена для того, чтобы вы могли с ее помощью задать пути к вашим или системным сборкам.
Окно Project Manager ничем особенно не отличается от подобного окна в Visual Studio NET. Так же, как и там, оно предназначено для манипуляции файлами, входящими в ваш проект. Вы видите в виде дерева, какие файлы задействованы в вашем проекте, и можете удалить ненужные или, напротив, добавить необходимые.

Окно Data Explorer также немногим отличается от аналогичного окна Visual Studio. С его помощью можно манипулировать данными, хранящимися как на локальных, так и на удаленных серверах баз данных. Список поддерживаемых серверов я приводил в первой части статьи.
Окно Model View повергло меня в легкое недоумение. В этом окне приводится в виде дерева список всех компонентов, расположенных на вашей форме. Если вы щелкаете мышкой по разным "веткам" этого дерева, окно редактора устанавливается на выбранный вами элемент. Также с его помощью можно построить диаграмму всех элементов вашего кода. Впрочем, "диаграмма" — это неправильный термин. Под ним Borland подразумевает просто разложенные по категориям элементы. Зачем все это нужно, я так с места не понял. Наверно, это хорошо, но, вместе с тем, глубокого смысла в этом режиме я так и не уловил.

Следующее рассматриваемое окно называется Object Explorer. Предназначено оно для отображения свойств и событий компонентов, которые установлены на вашу форму. Окно умеет сортироваться как по категориям — к примеру, все, что отвечает за внешний вид компонента, объединено в один блок, открываемый и закрываемый "плюсиком", — так и просто по алфавиту. Окно состоит из двух закладок: на первой перечислены все свойства компонента, а на второй — связанные с ним события. Подобное окно имеется как в Delphi, так и в Visual Studio, причем выглядит оно и там, и там примерно одинаково.

Вот мы с вами, галопом, и пробежались по внешнему виду и возможностям этой новой среды разработки. Как я и предполагал, для большинства программистов будет вполне достаточно и бесплатной "персональной" версии пакета. Среда Borland C#Builder проигрывает по удобству работы Visual Studio, но далеко обходит ее по скорости работы и объему места, требующегося для установки. Безусловно, она найдет своих преданных поклонников в среде программистов, пишущих на C#. Начинающему же программисту я бы все-таки посоветовал использовать Visual Studio. В ней лучше реализован справочник (MSDN) и больше мастеров, облегчающих на первых порах работу с языком программирования, который вы еще недостаточно хорошо знаете.



© Компьютерная газета

полезные ссылки
Аренда ноутбуков