ComponentOne Studio .NET

Компонентная идеология становится постепенно и неспешно, но неотвратимо и необратимо доминирующей идеологией создания приложений для Windows. Что это значит? Это значит, что программы строятся из кирпичиков-компонентов, совершенно независимых друг от друга и имеющих автономную функциональность. Корпорация Microsoft, долгие годы остававшаяся в своих ведущих средствах разработки приверженцем "каркасного" принципа, в конце концов, сдалась и приняла на вооружение компонентную модель. Именно её мы с вами и можем наблюдать в основе .NET Framework и библиотеки Windows Forms. Хотя были и более ранние примеры - COM, ActiveX, но их сложно назвать 100% удачными. Конечно, компонентная модель платформы .NET тоже не лишена недостатков, один из которых (на мой взгляд, самый существенный) - использование компонентов в виде скомпилированных библиотек, а не исходных текстов программ. Во-первых, это сказывается на размерах приложения. А ещё этот момент имеет значительное влияние на процесс отладки, а, кроме того, не всегда компоненты сторонних производителей хорошо документированы, и зачастую приходится экспериментировать, чтобы разобраться с их функциональностью.

Впрочем, к продукту, о котором я сегодня хочу вам рассказать, последнее замечание не относится. Компания ComponentOne, один из ведущих производителей компонентов для Windows-программистов, специализируется на разработке ActiveX и .NET компонентов. В этой статье я расскажу о её продуктах именно для тех программистов, которые используют платформу .NET и разрабатывают приложения для неё. Под названием ComponentOne Studio .NET объединены девятнадцать различных компонентов, которые можно использовать во всех средах разработки для платформы .NET, например, Microsoft Visual Studio, Borland Developer Studio, #Develop. В интернете эти компоненты можно найти на официальном сайте компании-производителя www.componentone.com, однако хочу предупредить сразу, что "весит" библиотека весьма солидно.

В одной статье, конечно, вряд ли получится рассказать обо всех возможностях такой большой библиотеки, как ComponentOne Studio .NET, но краткий обзор я всё же сделать попробую.

Chart

Первый компонент в списке имеет скромное название Chart и предназначен он, как видно из названия, для вывода графиков. Графики он умеет строить двухмерные, поддерживает отрисовку десяти разных видов графиков и диаграмм, причём поддерживается наложение одних диаграмм на другие, масштабирование, управление графиком при помощи мыши. Как утверждают разработчики, компонент содержит только 100% управляемый (managed) код, т.е. родной код платформы .NET. Построенные с помощью компонента диаграммы и графики могут быть им же сохранены в виде картинки в файлы форматов WMF, BMP, JPEG и др.

Chart 3D

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

Menus and Toolbars

Как видно из названия, компоненты для создания меню и панелей инструментов. Помогают придать приложению модный сегодня вид в стиле Visual Studio 2005 или Microsoft Office XP. Меню и панель инструментов умеют взаимодействовать, т.е. можно связать пункт меню с кнопкой на панели инструментов, и их поведение будет совершенно одинаковым. Причём таким же образом можно связать и несколько меню. Поддерживаются "плавающие" панели и меню - то есть те, которые можно оторвать с их обычного места и перенести на другое. Пользователь может легко настроить "горячие" клавиши. Для MDI-приложений предусмотрена возможность интеграции меню и панелей инструментов дочернего и главного окна, иерархическая обработка нажатия "горячих" клавиш. Полностью поддерживается встроенный дизайнер Visual Studio 2003/2005.

DataExpress

Компонент для работы с базами данных ADO.NET. Поддерживает работу с составными таблицами (composite tables), расширяет возможности ADO.NET в работе с большими наборами данных. Автоматизирует обновления базы данных, при этом не требуется использовать никакие дополнительные компоненты для этого. Обновления могут происходить для нескольких таблиц одновременно. Включена поддержка дополнительных событий, которые могут очень даже пригодиться при разработке приложений для работы с базами данных. Компонент предназначен для разработки настольных (desktop) приложений или при использовании архитектуры клиент-сервер. При этом он рассчитан на тех программистов, которые имеют не очень большой опыт работы с базами данных. Для тех же, кто плавает среди этих самых баз как рыба среди обломков "Титаника", предназначен следующий компонент из библиотеки ComponentOne Studio .NET.

DataObjects

Расширенный вариант предыдущего компонента, предназначенный, в основном, для создания многозвенных приложений. В общем-то, именно в этом и состоит основное отличие DataObjects от DataExpress, и из специализации этого компонента вытекают все отличия, например, улучшенная поддержка работы с большими объёмами данных. Поскольку разработка многозвенных приложений для работы с данными требует большей квалификации, то и компонент этот больше пригодится профессионалам в этой области.

FlexGrid

Компонент-таблица. Предназначен для вывода на экран, редактирования и печати данных. Умеет тесно интегрироваться с ADO.NET, DataExpress и DataObjects. Поддерживается также импорт и экспорт данных в формате CSV, XLS (Microsoft Excel), MDB (Microsoft Access). Помимо этих базовых возможностей, таблица поддерживает ряд расширенных. Например, слияние ячеек, редактирование по маске, внедрение в ячейки выпадающих списков (в том числе и с изображениями). Для тех, кто работал с VSFlexGrid, предшественником FlexGrid for .NET, имеется вариант FlexGridClassic, полностью повторяющий VSFlexGrid, но уже для .NET.

Input

Визуальные компоненты для ввода данных, причём сразу целых шесть. TextBox - для ввода текста, в том числе форматированного и по маске. NumericEdit - для чисел. Имеется встроенный в этот компонент калькулятор, который можно вызвать, щёлкнув по расположенной рядом с полем ввода кнопке. DateEdit предназначен для ввода даты. Имеет аналогичный калькулятору NumericEdit'а встроенный календарь. Label - компонент для отображения форматированных текстовых данных (ввод не поддерживается). PictureBox - аналог стандартного компонента библиотеки Windows Forms, но предназначенный специально для вывода изображений, хранящихся в базе данных. DBNavigator - компонент для передвижения по столбцам в наборе данных и быстрого обновления этого набора.

List

Глядя на название этого компонента, можно предположить его тесную связь со списками. На самом деле этот компонент предназначен для работы с данными в табличном виде. Умеет автоматически соединяться с базой данных и получать данные из неё, кроме того, внедрение этого компонента в приложение требует минимального кодирования. Однако "наворотов" в нём значительно меньше, чем в FlexGrid, таким образом, рекомендовать его можно для простых приложений.

PayPal eCommerce

Компоненты для ASP.NET, обеспечивающие интеграцию с системой PayPal. PayPal - система online-платежей, которую можно интегрировать в свой сайт (например, интернет-магазин). Для использования PayPal не нужно платить никаких дополнительных взносов, изучать CGI или разрабатывать собственную систему безопасности. Более того, для интеграции PayPal с помощью компонентов от ComponentOne программисту даже нет необходимости иметь глубокие познания в HTML. Вместе с компонентами поставляется мастер их размещения на страницах, так что программист может не отвлекаться на HTML-кодирование. Информация о заказах, покупках и прочем размещается в базе данных, основанной на ADO.NET. И, кроме того, при всех своих достоинствах эти компоненты являются бесплатными.

PrintPreview

Несколько компонентов, предназначенных для добавления в приложение возможности осуществлять предварительный просмотр и печать документов. Как и все остальные компоненты из ComponentOne Studio .NET, эти требуют минимум кода для внедрения в приложения, однако при этом предварительный просмотр получается красивым и удобным.

Reports

Как видно из названия этого компонента, он предназначен для работы с отчётами. Компонент хранит шаблон отчётов в XML-файлах. После загрузки шаблона берутся данные из указанного источника данных и подставляются в шаблон. Полученный отчёт можно просмотреть, распечатать, экспортировать в форматы HTML, PDF, TXT. Отчёты создаются в стиле Microsoft Access, причём имеется поддержка вложенных отчётов, обработчиков событий при создании отчёта на разных этапах этого процесса. Вместе с самим компонентом поставляется дизайнер отчётов, позволяющий разрабатывать шаблоны. Шаблоны могут быть импортированы из форматов Microsoft Access и Crystal Reports, причём сам интерфейс дизайнера отчётов сделан максимально похожим на аналогичный из Access'а.

Spell

Не пугайтесь, любители игр, ни с каким колдовством этот компонент не связан. Эти компоненты предназначены для проверки орфографии и построения тезауруса. Имеется встроенный диалог замены слова, поддерживаются пользовательские словари, присутствует возможность автоматической коррекции, и, конечно же, минимум кода, чтобы использовать все эти возможности. Вместе с компонентом поставляется словарь для английского языка, содержащий более 250000 слов.

True DBGrid

Ещё один компонент для работы с табличными данными. Пожалуй, самый мощный из всех табличных компонентов в ComponentOne Studio .NET. Есть возможность создавать таблицы в стиле Microsoft Excel, отображать в ячейках практически любую информацию (форматированный текст, рисунки), внедрять в ячейки разнообразные объекты, раскрашивать таблицу по своему вкусу, добавлять всплывающие подсказки, выставлять различные виды границ, фильтровать данные на уровне таблицы. При этом распространение таблицы с приложением для зарегистрированных пользователей абсолютно бесплатно.

WebChart

Компонент для ASP.NET. Предназначен для вывода на web-странице двухмерных и трёхмерных графиков и диаграмм. Графики на страницу попадают в виде картинок, имеющих достаточно небольшой размер и приемлемое качество. Фактически, этот компонент - аналог Chat и Chart 3D для ASP.NET.

WebMenus and WebToolbars

Тоже аналоги "настольных" компонентов для меню и панелей инструментов, правда, несколько ограниченные в функциональности. Для работы компонентов необходим браузер с поддержкой JavaScript.

Web DataObjects

Ещё один аналог. Позволяет работать с данными в Web абсолютно аналогично обычным DataObjects. В отличие от стандартных компонентов ADO.NET, обеспечивает автоматическое кэширование данных на сервере, что является важным для производительности web-приложений, работающих с данными.

WebGrid

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

WebReport

Web-вариант компонента для создания отчётов. Базируется на ComponentOne Report for .NET и использует тот же формат шаблонов. Генерируемые отчёты передаются в формате PDF или HTML клиентской стороне, где они могут быть изменены, сохранены или распечатаны.

ZIP

Компонент для работы с ZIP-архивами, и одновременно последний в нашем сегодняшнем обзоре компонент из ComponentOne Studio .NET. Поддерживает компрессию как файлов, так и потока данных. Основан на широко известной open-source библиотеке zlib и фактически полностью переносит её функциональность на платформу .NET.

Что ж, это, пожалуй, всё, что я мог рассказать вам о ComponentOne Studio .NET в этой статье. Хочу обратить внимание разработчиков на достаточно мягкие условия лицензирования большинства рассмотренных выше компонентов: после покупки лицензии на разработку с использованием компонента нет необходимости приобретать дополнительно лицензию на распространение компонента вместе с приложением или перечислять деньги с каждого проданного приложения. Это важный и приятный момент.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

31 за 2006 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!