Средства разработки для Windows: слово за лидерами

23 декабрь, 2005 - 00:00Вячеслав Колдовский

Вряд ли кому-то удастся точно определить тот уровень, при достижении которого инструментальный пакет или интегрированная среда разработки могут быть смело отнесены к категории RAD. Однако трудно назвать лучших кандидатов на это гордое звание, чем Microsoft Visual Studio и Borland Delphi. И уж тем более выход новых версий этих продуктов никогда не был рядовым событием...

Так получилось, что два ведущих поставщика инструментальных пакетов практически одновременно выпустили очередные версии своих продуктов. Конечно, подробно рассмотреть их на страницах еженедельника не представляется возможным, но даже краткий обзор основных новшеств, надеемся, поможет читателям оценить тенденции данного рынка.

MS Visual Studio 2005

Поскольку пакет Visual Studio 2005 (VS) вышел несколько раньше BDS 2006, начнем обзор именно с него. Не так давно мы уже писали о новейшем комплекте инструментальных средств от Microsoft (itc.ua/21878), однако в тот раз основное внимание уделялось обеспечению коллективной разработки. С тех пор в этой сфере изменений не произошло, поэтому поговорим о других новшествах.

Главное направление

VS 2005 для Microsoft во многом является знаковым продуктом. В этом релизе решены сразу несколько весьма принципиальных вопросов. Во-первых, инструментарий базируется на самой современной версии среды исполнения приложений .NET Framework 2.0, в которой обнаруживается множество усовершенствований по сравнению с версией 1.1. Во-вторых, его выход знаменует собой своеобразный прорыв Microsoft на рынок средств коллективной разработки: соответствующие подсистемы VS 2005 Team System действительно весьма многообещающи, обладают богатой функциональностью и высокой степенью интеграции. В-третьих, отказ от политики «все в одном» и переход к созданию персонализированных рабочих мест, ориентированных на конкретные потребности и роли участников программных проектов, повлек за собой значительное расширение продуктового ряда пакетов инструментальных средств.

Одновременный выпуск VS 2005 и Microsoft SQL Server 2005 стал недвусмысленным намеком на то, что оба продукта «рекомендуется употреблять вместе», а заявление о том, что в грядущей Windows Vista основной средой исполнения приложений будет надстройка над .NET Framework 2.0, означает, что к новым технологиям пора приобщаться уже сегодня.

На самом деле нововведения в .NET Framework 2.0 настолько значительны, что, пожалуй, нет смысла даже их перечислять – достаточно сказать, что вторая версия среды исполнения управляемого кода от Microsoft является зрелым продуктом и все сомнения по поводу того, пригодна ли она для практического использования, уже беспочвенны.

Нужно также отметить, что Microsoft приложила максимальные усилия к тому, чтобы популяризовать свой комплект инструментальных средств и сделать его доступным для широких кругов программистов – как профессиональных, так и потенциальных. Сегодня семейство VS 2005 включает следующие редакции (вместе с каждой распространяется соответствующая редакция Microsoft SQL Server 2005):

  • Express Edition – ориентирована на начинающих специалистов и любителей, посему бесплатна (как и соответствующая версия Microsoft SQL Server 2005);
  • Standard Edition – рассчитана на создание обычных «настольных» программ. Так, Microsoft призывает мигрировать на нее разработчиков на Visual Basic 6;
  • Professional Edition – наиболее функциональная редакция, адресованная профессионалам. Имеющиеся в ней инструменты позволят создавать обширный спектр приложений – от мобильных и настольных до серверных и Web-сервисов;
  • Team System – включает в себя клиентские версии Visual Studio 2005 Professional и принципиально новый для семейства Visual Studio серверный компонент – Team Foundation Server. Данная редакция ориентирована на коллективную разработку;
  • Visual Studio 2005 Tools for Microsoft Office System – инструмент для создания решений с применением Microsoft Office System.

Конкретика

Как и обещали, не будем останавливаться на средствах коллективной разработки приложений (VS 2005 Team System) – рассмотрим практические аспекты «индивидуальных» редакций.

Средства разработки для Windows слово за лидерами
Выделение цветом измененных строк, новое окно для операций с закладками, смарт-теги – все для удобства работы
Средства разработки для Windows слово за лидерами
Новый режим стыковки окон делает этот процесс более наглядным и предсказуемым
Средства разработки для Windows слово за лидерами
Визуализаторы существенно упрощают процесс отладки, делая его более наглядным и менее трудоемким

Прежде всего, обратим внимание читателей на ряд достаточно интересных нововведений редактора исходного кода. Например, теперь измененные или добавленные строки кода выделяются цветом с левой стороны рабочей области, а в процессе набора появляются смарт-теги, знакомые нам по продуктам семейства Microsoft Office System, – они позволяют вносить различные исправления на основе интеллектуальной системы анализа кода, к примеру исправлять опечатки в именах функций и переменных. Есть возможность автоматически переформатировать код, который создан без соблюдения правил стилевого оформления, что может быть весьма полезно при коллективной работе. Новое окно для управления закладками позволяет делать с ними все что угодно – создавать, удалять, отключать, распределять по папкам и т. д. Кроме того, утверждается, что при сбое в функционировании IDE на экране появится такое же диалоговое окно, как и у офисной линейки продуктов Microsoft, однако, к сожалению (или, скорее, к счастью), во время тестирования продукта спровоцировать подобный инцидент так и не удалось, а следовательно, не получилось и проверить, как работает данное новшество. Удобным является и новый режим стыковки (docking) окон, делающий процесс более наглядным и предсказуемым.

Значительные усовершенствования коснулись отладки приложений, которая теперь представляется гораздо менее трудоемким процессом – во многом благодаря средствам, увеличивающим ее наглядность. Для этого режима добавлены «визуализаторы» (visualizers) – инструменты, обеспечивающие просмотр информации различных типов – от чисел и строк до целых XML-документов или наборов данных. Кстати, их можно использовать не только для просмотра информации, но и для удобного ее редактирования. После знакомства с подобными решениями остается лишь недоумевать: почему их не придумали раньше и как без них обходились?

Другое нововведение VS 2005, заслуживающее особого внимания, – рабочее место Visual Web Developer, визуальный конструктор Web-страниц и среда для разработки ASP.NET-приложений в одном лице. Microsoft продолжает развивать заложенную в ASP.NET стратегию на отказ от низкоуровневого HTML-кодирования в пользу конструирования Web-приложений с помощью визуальных средств. И Visual Web Developer действительно является мощным инструментом, позволяющим существенно сократить объемы «самописного» программного кода при создании проектов для Web. В нынешнем виде с его помощью можно строить несложные Web-решения, в том числе и интегрированные СУБД, фактически без ручной работы.

Естественно, изменения, направленные на интенсивное применение новых возможностей второй версии .NET Framework, коснулись также самих языков программирования, в том числе платформы ASP.NET: теперь связь с источником данных можно установить без написания кода, обновились элементы управления. Кроме того, создание и отладка ASP.NET-приложений теперь не требуют наличия доступа к IIS-серверу.

Выводы

Отметим, что MS Visual Studio 2005 – интегрированный инструмент для создания приложений под все распространенные платформы Microsoft. Так, кроме традиционных Windows, ASP.NET и Microsoft Office System, в VS 2005 поддерживается и Compact Framework. Это значит, что в текущей версии можно разрабатывать программы для Pocket PC 2003, Smartphone 2003 и Windows CE 5.0. К тому же в комплект поставки включены так называемые starter kits – готовые шаблоны для создания приложений на основе типичных решений, а дополнительные компоненты можно загрузить с сайта Microsoft.

В целом Visual Studio 2005 выглядит весьма продуманным и качественным продуктом. Несмотря на обилие усовершенствований и значительных изменений, во время тестирования пакет продемонстрировал себя как стабильное и надежное решение – видимо, сказывается продолжительный срок и масштабы тестирования, проведенного Microsoft.

Borland Developer Studio 2006

Для многих из нас, и не только программистов, слово Borland неразрывно связано с Delphi, однако недавно была представлена новая марка – Borland Developer Studio 2006 (BDS), и одноименный пакет имеет все шансы стать флагманским. Попробуем разобраться, что же он собой представляет.

Предыстория

Коротко говоря, BDS 2006 – это вершина развития многих технологий фирмы Borland, одного из старейших игроков рынка средств разработки приложений. Поэтому неудивительно, что внутренний номер версии пакета 4.0, хотя само название BDS звучит впервые.

Можно считать, что версия 1.0 создавалась как принципиально иная IDE, предназначенная для альтернативной среды разработки с использованием языка C#, и была воплощена в C# Builder. Следующая волна нововведений коснулась первой .NET-версии Delphi – Delphi 8. Однако ни C# Builder, ни Delphi 8 не получили сколь-нибудь серьезной популярности, и сегодня их следует рассматривать скорее как пробные проекты Borland: как первый, так и второй не нашли своего потребителя, в основном по причине неточного позиционирования на рынке. И если C# Builder не удостоился теплого приема у поклонников прежних решений от Borland, то основная критика Delphi 8 была направлена на несовместимость с предыдущими версиями продукта: разработчики несколько поспешно расценили ее как отказ Borland от поддержки платформы Win32, на которой Delphi вплоть до седьмой версии имела очень прочные позиции.

Учитывая нарастающее недовольство лояльных пользователей и желание сократить затраты на создание и поддержку нескольких продуктов, Borland предприняла попытку объединить в одном пакете сразу несколько языковых сред для платформы Windows. Поскольку флагманом продуктовой линейки инструментальных средств разработки Borland всегда была среда Delphi, построенная на основе одноименного объектно-ориентированного языка программирования, то новое решение, обеспечивающее в одной IDE поддержку сразу трех языков (Delphi для Win32, Delphi для .NET и C# Builder для .NET), вышло под именем Delphi 2005.

На этот продукт многие возлагали большие надежды – и в первую очередь сама Borland. Наконец-то разработчики под Win32 получили замену морально устаревшему Delphi 7, а компания смогла интегрировать ключевые продукты управления жизненным циклом проектов и сосредоточиться на продвижении комплексного решения по принципу «все в одном».

Однако выход Delphi 2005 был омрачен невысоким качеством продукта. Пожалуй, впервые Borland выпустила на рынок решение, которое фактически нельзя было использовать до появления первых исправлений к нему. Даже после того, как были устранены наиболее критичные проблемы, заметным недостатком Delphi 2005 так и осталась чрезвычайная прожорливость в отношении системных ресурсов и низкая «реактивность» интерфейса.

Хотя идейно пакет Delphi 2005 был очень хорош, внешний лоск не смог заменить более важных, качественных, характеристик, а потому рынок пребывал в ожидании реакции Borland, которая, впрочем, последовала очень скоро: новая версия была анонсирована в рекордные сроки – через год после выхода предыдущей.

В целом

Итак, продукт получил имя Borland Developer Studio, хотя его вполне можно воспринимать как развитие и доработку Delphi 2005: о революционной новизне говорить не приходится. Но это как раз хорошая новость для разработчиков, уставших от слишком частой смены ориентиров у Borland и ожидающих поступательного предсказуемого развития ее инструментов.

В текущей версии Borland достигла поставленных целей по объединению Windows-ориентированных инструментов разработки в одной IDE: в BDS 2006 включены Delphi для Windows 32, Delphi для .NET, C# Builder для .NET и C++ Builder для Win32. К сожалению, последний присутствует только в виде technology preview, финальная версия будет доступна в качестве бесплатного обновления к концу декабря.

При первом знакомстве с BDS 2006 никаких кардинальных изменений не обнаруживается – мы видим практически такой же интерфейс, как у Delphi 2005, за исключением разве что иного оформления панелей инструментов. Осязаемым отличием от предыдущей версии стала скорость загрузки и работы IDE – теперь среда запускается гораздо быстрее, а интерфейс реагирует на ваши действия заметно оперативнее. Borland действительно приложила значительные усилия, чтобы сделать работу с BDS 2006 максимально комфортной, оптимизация коснулась не только интерфейса, но практически всех аспектов функционирования – например, проекты стали компилироваться намного быстрее.

Borland также вняла мольбам пользователей, для которых отсутствовала необходимость одновременной работы с несколькими языками, – теперь IDE можно запустить с поддержкой как всех установленных языков, так и любого по отдельности. Последний вариант позволяет существенно увеличить скорость загрузки среды.

Традиционно для топовых продуктов Borland перечень технологий, поддерживаемых BDS 2006, впечатляет. Однако языковые среды неидентичны и предлагают различные возможности. Похоже, что самой вооруженной в этом плане является Delphi для .NET – для нее доступно абсолютно все из заявленного (см. таблицу). Но Borland все же не смогла удержаться на передовой прогресса, и хотя BDS 2006 выходит несколько позже VS 2005, она основана на немного устаревшей .NET Framework 1.1, поддержка актуальной второй версии .NET Framework будет включена в следующий релиз BDS, запланированный к выпуску в 2006 г.

Достаточно важной для многих разработчиков является и новость о том, что Borland не отказалась от поддержки VCL и обещает продолжить инвестировать в ее развитие.

Технологии BDS 2006
Языковая среда Delphi Win32 C++ Builder Win32 Delphi .NET C# Builder .NET
Толстые клиенты VCL
WinForms
Web IntraWeb
ASP.NET
Базы данных dbExpress, BDE, IBX, dbGO
BDP
Enterprise ECO
Управление жизненным циклом (SDO/ALM) StarTeam
CaliberRM
Together

Конкретика

Что касается конкретных нововведений, то они весьма интересны, хотя, как уже отмечалось, и не претендуют на революционность.

Средства разработки для Windows слово за лидерами
Стартовое окно BDS 2006 практически не отличается от предыдущей версии
Средства разработки для Windows слово за лидерами
Visual Web Developer 2005 – довольно удачная попытка совместить дизайнер Web-страниц и среду разработки
Средства разработки для Windows слово за лидерами
Машина состояний в ECO III выводит на качественно новый уровень возможности визуальной разработки
Средства разработки для Windows слово за лидерами
Встроенный редактор BDS 2006 стал гораздо умнее – автоматически выделяет цветом новые строки и даже дописывает код

Начнем с преимуществ, которые получат «классические» программисты на Delphi, использующие платформу Win32. Помимо обновленной среды разработки и других изменений косметического характера, Borland утверждает, что в новой версии был существенно переработан Win32-компилятор, который позволяет генерировать более быстрый код в основном за счет усиленного оптимизатора. Так, например, возросло количество вызовов функций, которые преобразовываются в inline-код. Также определенным доработкам подвергся сам язык программирования Delphi – они преимущественно направлены на сокращение разрыва между ним и C#.

Визуальный дизайнер форм при использовании компонентов VCL применяет так называемые «живые направляющие» (Live Design Guidelines), которые автоматически выводятся на экран при добавлении и перемещении элементов или изменении их размеров. Такое решение выглядит очень практичным и позволяет быстро и точно позиционировать элементы, а в результате – значительно ускорить конструирование интерфейса приложения. Еще одно новшество редактора форм, возможно, не столь полезно, но кому-то наверняка придется по вкусу. Это специальное окно для быстрого указания положения самой формы, которое она должна занимать во время исполнения.

Достаточно интересные доработки были сделаны во встроенном редакторе кода. Так, в BDS 2006 выделяются цветом те изменения, которые еще не сохранены на диск. По умолчанию они отмечаются желтой полосой по левой границе, тогда как зеленый цвет означает, что этот код не был изменен с момента последнего сохранения.

Также в редакторе появились «живые шаблоны» (Live Templates), обеспечивающие автоматическое формирование конструкций кода при вводе типичных его элементов. Даже при беглом знакомстве эта функция способна показать себя во всей красе, например можно вводить многострочные строковые константы, не заботясь о расстановке соответствующих «знаков препинания»; при вводе отдельных конструкций кода «живые шаблоны» самостоятельно декларируют переменные или даже генерируют код в зависимости от значений перечислимого типа. Интересная возможность, которую по достоинству оценят разработчики на Delphi, – объявление переменных прямо по ходу написания кода (причем они автоматически переносятся в область объявлений). Это очень оригинальное решение позволяет Delphi смотреться более конкурентоспособно по сравнению с C-подобными языками.

В целом после приобретения определенных навыков работы с «живыми шаблонами» создается впечатление, что IDE помогает сделать буквально непрерывным поток мысли разработчика, не отвлекая его на разные мелочи вроде закрытия открытых конструкций, объявления переменных и т. п.

В BDS 2006 имеется и ряд нововведений, характерных только для отдельных языковых сред. Например, в C++ Builder появилась возможность создавать и быстро переключаться между Build Configurations – наборами параметров, которые используются при сборке проектов для различных целей.

Для серьезных проектов

Более тесной стала интеграция с решениями по управлению жизненным циклом разработки. Теперь, наряду со StarTeam, IDE связана и с системой управления требованиями CaliberRM, в которой программный код соотносится с реализуемыми им требованиями посредством автоматически генерируемых и учитывающих все последующие изменения комментариев.

В BDS 2006 встроено средство для UML-моделирования Together, которое обеспечивает двунаправленную поддержку изменений (из моделей в код и наоборот), позволяет использовать шаблоны проектирования, работать с моделями, соответствующими версиям UML 1.5 и 2.0, а также обладает инструментами рефакторинга и автоматической генерации документации. Особо интересными выглядят доступные в редакциях Enterprise и Architect функции аудита и метрик, с помощью которых по заданным критериям осуществляется оценивание качества программного кода.

Значительные изменения коснулись корпоративной платформы ECO, которая в базовой функциональности входит во все редакции BDS 2006. Самое существенное усовершенствование нынешней ECO III – это поддержка машины состояний (State Machine), что позволяет моделировать не только структуру классов, но и их поведение. Кроме того, генератор интерфейсов теперь поддерживает и ASP.NET, благодаря чему можно сфокусироваться на реализации логики приложения, а проработку интерфейса отложить на более поздние этапы программирования.

Выводы

Для коммерческого использования предлагаются три различные редакции BDS 2006: самая полная – Architect, несколько упрощенная – Enterprise и базовая – Professional. Хотя Borland планирует продвигать также отдельные языковые среды, отмечается, что, покупая любую из них, остальные вы получите «в нагрузку». Учитывая конкурентное давление со стороны Microsoft, Borland несколько усилила версию Professional, например, даже в ней теперь будет присутствовать базовая функциональность ECO, хотя машины состояний и поддержка нескольких серверов СУБД доступны только в редакции Architect, а автоматическая генерация кода ASP.NET – в Architect и Enterprise. В Professional, однако, нет и других возможностей, имеющихся в более полных редакциях: расширенного доступа к СУБД, автоматической генерации документации, проведения аудита и вычисления метрик кода, усовершенствованного режима удаленной отладки и быстрой разработки Web-приложений в визуальном режиме.

К сожалению, не до конца остается ясным вопрос о поддержке Compact Framework. Ранее Borland обещала обеспечить в BDS 2006 возможность невизуальной разработки приложений для этой платформы, однако сейчас о ней не упоминается. Видимо, ознакомившись с отзывами некоторых блоггеров, допущенных к тестированию средств поддержки Compact Framework, компания решила пока не включать их в текущую версию.

В целом же первое знакомство с BDS 2006 можно расценивать как положительное: большое количество интересных функций открывает для разработчиков множество новых возможностей. Несколько в худшем положении находятся сторонники платформы .NET Framework, поскольку BDS 2006 поддерживает только предыдущую ее версию. Но для Win32-программистов этот недостаток не помеха, и если раньше у них еще были какие-либо причины использовать старые версии Delphi, то сейчас пришло время переходить к RAD-инструментам нового поколения, к которым по совокупности оригинальных решений можно смело отнести BDS 2006.

Что касается стабильности работы BDS 2006, то следует признать: при интенсивном использовании она вела себя не вполне уверенно и периодически (хотя и не очень часто) выдавала до боли знакомые сообщения «Access violation at address...» – отчасти это можно объяснить тем, что мы тестировали одну из предварительных версий Field Test. Будем надеяться, что пользователям финального релиза с такими проблемами столкнуться не доведется.

Попытка сравнения

Несмотря на то что VS 2005 и BDS 2006 предназначены для решения сходных задач, они представляют различное видение того, каким должен быть современный инструмент разработчика. По этой причине прямое сравнение продуктов является бессмысленным, ведь практически невозможно выделить единый набор критериев для определения лидера. Однако с позиций профессионала (особенно того, кто все еще программирует для Win32, но планирует перейти на .NET), который стоит перед крайне важным выбором адекватного рабочего инструмента, проблема, безусловно, требует своего решения, в связи с чем целесообразно выделить сильные и слабые стороны представленные продуктов.

К явным преимуществам VS 2005 относится поддержка .NET Framework 2.0 и Compact Framework – Borland обещает ее реализовать только в следующей версии BDS. Еще один традиционный конек Microsoft – инструментальный набор Visual Studio Tools for Office, которому Borland противопоставить просто нечего.

В свою очередь Borland располагает очень интересной и зрелой платформой для создания Enterprise-решений – ECO III. Также следует отметить, что на рынке интегрированных средств для коллективной разработки Microsoft со своим продуктом VS 2005 Team System является новичком, а Borland уже достаточно давно продвигает подобного рода решения с центральным компонентом StarTeam. Хотя сегодня Team Foundation Server от Microsoft выглядит не менее перспективно.

Казалось бы, дополнительным аргументом в пользу Borland может служить кросс-платформенность Delphi. Однако развитие проекта Kylix остановилось, и несмотря на то, что Borland обещает поддерживать компилятор в актуальном состоянии, в современных условиях без богатой библиотеки классов он будет практически бесполезен. С другой стороны, не нужно забывать о проекте Mono (mono-project.com), который хоть и развивается без прямого участия Microsoft, располагает влиятельным сообществом сторонников. Уже сегодня Mono предлагает разработчикам мощную библиотечную поддержку, так что в вопросах кросс-платформенности, как ни парадоксально это звучит, преимущество скорее у Microsoft.

Безусловно, разработчикам, до сих пор с успехом применявшим инструментальные средства Borland, нет смысла переходить на продукцию Microsoft (разве что при острой необходимости программировать для .NET Framework 2.0), но положа руку на сердце нельзя назвать и каких-то веских аргументов в пользу BDS 2006 по сравнению с VS 2005. На самом деле приходится констатировать, что прошло то время, когда Borland считалась безоговорочным технологическим лидером, а Delphi существенно обходила VS по скорости и гибкости создания корпоративных приложений. Многие нововведения в BDS 2006 (особенно это касается редактора кода) сделаны по образу и подобию VS, а ведь не так давно все было наоборот.

К сожалению, Borland растеряла многих сторонников, изначально делавших ставку именно на ее технологии, – достаточно вспомнить весьма многообещающий, но вскоре замороженный проект Kylix; скороспелый выпуск сырых версий Delphi в угоду маркетологам, а не пользователям; буквально детективную попытку превратить InterBase в Open Source-проект. Как было замечено одним из посетителей блога Марко Канту (Marco Cantu), автора выдержавшего много изданий бестселлера Mastering Delphi, сообщество программистов на Delphi стареет – хотя Delphi-разработчики со стажем и не меняют своих привязанностей, их ряды практически не пополняются молодыми коллегами. Другим неутешительным признаком является крайне малый объем литературы, посвященной Delphi, по сравнению с потоком изданий о конкурирующих решениях и технологиях.

Хочется надеяться, что выпуск BDS 2006 поможет Borland исправить ситуацию к лучшему – ведь продукт получился весьма интересным и по многим параметрам заслуживающим самых высоких оценок. Хотя компании придется приложить еще немало усилий, чтобы вернуть доверие старых пользователей, а еще больше – чтобы заинтересовать новых.

Что же касается Microsoft, то VS 2005 в очередной раз подтверждает приверженность компании собственным технологиям и завидное упорство в достижении поставленных стратегических целей.

e-mail автора: [email protected]