Наталия Елманова
Эта статья была опубликована на сайте КомпьютерПресс №12'2003
В сентябре этого года корпорация Borland анонсировала новое, весьма необычное средство кросс-платформенной разработки — Borland C++BuilderX. Настоящая статья посвящена наиболее важным особенностям данного продукта.
Borland C++BuilderX представляет собой средство разработки приложений на языке C++ для платформ Windows, Linux и Solaris и рассматривается компанией Borland как средство решения многих проблем, волнующих разработчиков и руководителей проектов в течение последних нескольких лет.
К проблемам, которые предполагается решать с помощью данного средства разработки, в первую очередь следует отнести все чаще возникающую необходимость создавать приложения для нескольких различных платформ, наличие большого количества унаследованного кода на языке C++, развитие программирования на C++ для мобильных и встраиваемых устройств, спрос на компиляторы C++, соответствующие стандартам ANSI/ISO, а также появление большого количества проектов, для реализации которых требуется команда, состоящая не только из разработчиков, но и из других специалистов — архитекторов, аналитиков, специалистов по тестированию и документированию приложений. Не секрет, что подавляющее большинство приложений, требующих реализации низкоуровневого доступа к аппаратному обеспечению, высокой производительности и минимальных ресурсов, создается с помощью языков C и C++. К настоящему моменту именно на этом языке созданы миллионы строк унаследованного кода приложений самого разнообразного назначения (среди них — подавляющее большинство операционных систем, серверных СУБД, иное инфраструктурное и прикладное программное обеспечение). Именно этот язык поддерживается практически всеми платформами — от серверных операционных систем до платформ для мобильных и встраиваемых устройств, и, согласно прогнозам аналитической фирмы IDC, специалисты по C и C++ останутся самой многочисленной группой разработчиков вплоть до конца 2005 года.
Разработчики, создававшие приложения с помощью средства разработки середины 90-х годов Borland C++, наверняка найдут в среде разработки C++BuilderX явное сходство с этим замечательным продуктом (рис. 1).
Рис.1
Однако при более внимательном изучении данного продукта можно обнаружить, что сходство это в основном внешнее. Borland C++ был предназначен только для создания приложений для операционных систем семейства Windows, и разработка с его помощью, как правило, производилась с применением специфических для этой платформы библиотек (таких как Object Windows Library); что касается его наследников — Borland C++Builder и Borland Kylix, то они позволяют создавать приложения для двух платформ — Windows и Linux, однако и в этом случае используются библиотеки, специфические для указанных платформ (VCL, CLX). В отличие от перечисленных продуктов, C++BuilderX позволяет создавать приложения, не требующие расширений компилятора и библиотек, специфических для конкретной платформы.
В состав C++BuilderX входит новый компилятор компании Borland, полностью соответствующий стандартам ANSI/ISO C++ и C99. Помимо указанного компилятора, C++BuilderX поддерживает ряд компиляторов других производителей, таких как GCC, Intel, Metrowerks, Microsoft Visual C++ и Sun Forte C++, а также средств компоновки, отладки, профилирования и контроля версий других производителей (рис. 2, 3).
Рис.2
Рис.3
Из инструментов, поддерживаемых новым средством разработки, следует особо отметить компилятор Intel и анализатор производительности приложений Intel VTune Performance Analyzer, позволяющий повысить эффективность оптимизации приложений и Web-решений на персональных и серверных платформах на базе процессоров Intel под управлением операционных систем Windows и Linux, а также библиотеку Intel Integrated Perfomance Primitives.
C++BuilderX поставляется в четырех редакциях: Personal, Developer, Enterprise и Studio для C++, которые отличаются составом входящих в них компиляторов, библиотек и других инструментов компании Borland и других производителей, таких как Intel, Metrowerks, Microsoft, Sun.
По данным исследовательской фирмы Evans Data, C++ является самым популярным языком, используемым при создании программ для мобильных и встраиваемых устройств. Учитывая этот факт, разработчики C++BuilderX предусмотрели в нем расширенную поддержку создания приложений для мобильных и встраиваемых устройств — при наличии соответствующего SDK C++BuilderX позволяет создавать всевозможные приложения для самой популярной на данный момент мобильной платформы Symbian (рис. 4). По оценкам IDC, крупнейшие в мире производители мобильных телефонов, такие как Motorola, Nokia, Samsung, Siemens и Sony Ericsson, обладающие лицензией на использование Symbian, в совокупности владеют более чем 70% рынка мобильных телефонов.
Рис.4
Borland C++BuilderX получил широкую поддержку таких известных компаний, как HP, Nokia, Sony Ericsson, Symbian. Этот продукт включен в комплект поставки последней версии продукта Borland Enterprise Studio for Mobile, предназначенной для управления жизненным циклом приложений для мобильных устройств. В числе новых возможностей, предоставляемых указанным продуктом, следует отметить встроенную поддержку всех SDK для операционной системы Symbian, в том числе для платформы Series 60 и Series 80, возможность отладки программ непосредственно на устройстве при подключении отладчика с помощью Bluetooth, поддержку расширяемых SDK для других мобильных платформ.
Старшая редакция C++BuilderX — Enterprise Studio для C++ — представляет собой набор средств для управления жизненным циклом приложений на этапах определения требований, проектирования, разработки, тестирования, развертывания и управления корпоративными системами. В комплект Studio для C++ входит новый продукт Borland Together Edition для C++BuilderX, позволяющий осуществлять одновременное создание и визуальное представление сложных проектов с подробно описанными схемами в виде моделей на языке UML для всех участников процесса разработки (рис. 5).
Рис.5
Кроме того, Enterprise Studio для C++ включает и другие инструменты поддержки жизненного цикла разработки приложений, в том числе Borland StarTeam Personal Server, клиент средства управления требованиями Borland CaliberRM, средства генерации документации.
C++BuilderX позволяет применять не только компиляторы, средства отладки и профилирования независимых производителей, но и инструменты визуального проектирования пользовательского интерфейса приложений. Однако концепция поддержки многоплатформенности средством разработки должна предполагать, что принцип работы таких средств не должен основываться на редактировании ресурсов, связанных с конкретной платформой (именно таким образом было реализовано редактирование пользовательского интерфейса приложений в C++Builder и Kylix). Вместо этого инструмент визуального проектирования пользовательского интерфейса должен на лету генерировать код, создающий элементы управления (подобный подход к созданию пользовательского интерфейса реализован в большинстве средств разработки Java- и .NET-приложений), и, возможно, какие-то дополнительные ресурсные данные, доступные для всех платформ (например, XML-документы, содержащие описания внешнего вида интерфейсных элементов).
В комплект поставки C++BuilderX включена предварительная версия (technology preview) одного из таких инструментов, который называется wx framework (рис. 6).
Рис.6
Этот инструмент, базирующийся на кросс-платформенной библиотеке wxWindows для создания графических пользовательских интерфейсов (www. wxwindows.org), позволяет генерировать код, описывающий элементы управления, в процессе проектирования форм в визуальном редакторе и создавать GUI-приложения примерно так, как это делается в ставших привычными за последние восемь лет визуальных средах разработки, но без применения ресурсов, зависящих от конкретной платформы.
Новый продукт компании Borland, рассмотренный в данной статье, значительно отличается от известных ранее средств разработки на C++ (созданных как Borland, так и другими компаниями). Он позволяет просто и эффективно решать задачи, реализация которых иными способами требует немалых трудозатрат. По существу, C++BuilderX относится к новому поколению средств разработки приложений на языке C++. Будем надеяться, что его ожидают неплохие перспективы.
INTERFACE Ltd. |
|