FoxPro будет жить еще долго

Программы

Перспективы развития FoxPro уже давно стали одной из самых актуальных проблем для мирового сообщества пользователей этой СУБД. Она стала активно обсуждаться еще в середине 90-х годов, когда выяснилось, что потенциал развития баз данных класса xBase уже в значительной степени исчерпан. «Снизу» — небольшие БД и клиентские приложения — их активно теснили системы быстрой разработки (Visual Basic, Delphi). А путь «наверх» — создание серверных корпоративных решений — был уже перекрыт SQL-системами.

Масло в огонь подливали также появившиеся весной 1996 года слухи о прекращении поддержки FoxPro со стороны Microsoft. Представители корпорации тогда публично пообещали не бросать FoxPro-разработчиков на произвол судьбы, но при этом не конкретизировали конкретные планы развития системы. Анализируя теперь дискуссии тех времен, складывается впечатление, что Microsoft сама была источником туманных слухов, проверяя на прочность сообщество FoxPro-пользователей, настойчиво рекомендуя им подумать о переходе в среду VB-SQL.

Тенденции определились

Похоже, время взаимной проверки крепости нервов сейчас закончилось — при выходе новой версии Visual Studio (VS) 6.0, в которую вошел и Visual FoxPro (VFP) 6.0, Microsoft объявила, что VFP продолжает оставаться одним из ее стратегических средств разработки и оно гарантирует его развитие в будущем. В значительной степени такая определенность позиции корпорации определяется тем, что в течение последнего года очень четко обозначились тенденции миграции сообщества FoxPro-программистов.

Дело в том, что в свое время переход пользователей версий FoxPro 2.x (для DOS и Windwos 3.x) на появившуюся осенью 1995 г. систему VFP 3.0 проходил очень вяло. Причин тому было довольно много, главная из них состояла в необходимости резкого перехода из 16-разрядной среды в 32-разрядную Windows 95, со всеми вытекающими проблемами модернизации ПО и техники. (Для плавного перехода пользователей Visual Basic корпорация тогда же выпустила версию VB 4.0 в двух вариантах — 16-ти и 32-разрядном.)

В результате по оценкам журнала MS FoxPro User Study еще в марте 1997 г. из почти 160 тысяч пользователей FoxPro в мире около 65% продолжало работать с 16-разрядными версиями 2.х (в том числе 25% — в среде DOS), а с появившейся за четыре месяца за этого VFP 5.0 — только 10%. Вопрос о том, куда будет переходить 16-разрядное большинство был открыт, но вскоре ситуация прояснилась. Исследования в марте 1998 г. показали, что число пользователей FoxPro осталось примерно тем же при резком росте доли VFP 5.0 (46%) и уменьшении более ранних версий (2.x/DOS — 14%, 2.x/Win16 — 20%, 3/Win32 — 20%).

Таким образом стало ясно, что сообщество пользователей FoxPro в целом осталось верным своему инструменту. При этом оказалось, что миграция программистов действительно идет, но не путем перехода от одного инструмента к другому, а использования многих средств разработки одновременно. Последние исследования показали, что абсолютное большинство FoxPro-разработчиков пользуется еще какими-то системами программирования, чаще всего VB (33%) и Access (32%). Хотя многие из них применяют также и инструменты не-Microsoft (25%), отчетливо видна ориентация на комплекс Visual Studio. Так, еще весной нынешнего года 66% пользователей VFP собирались покупать версию VFP 6.0 в составе VS. И в то же время 10 процентов владельцев VS начали впервые применять VFP в совей работе.

Однако здесь следует подчеркнуть, что тенденция к многоязычности пользователей инструментов Microsoft довольно искусно поощряется самой корпорацией путем дозированного распределения функциональности между своими различными средствами разработки, поддерживая теме самым внутреннюю конкуренцию между ними. Например, как это ни странно, но VB отстает от VFP в области объектно-ориентированного программирования, не говоря уже о специализированных средствах работы с базами данных. В то же время VFP, до недавненого времени заметно уступал VB в использовании OLE-технологий, создании повторно используемых модулей, особенно для серверных приложений. Кстати, VC++ уступает им обоим по возможностям визуального программирования.

VFP 6.0 — позиционирование, новшества, перспективы

Прежде всего VFP остается эффективным инструментом создания универсальных настольных баз данных. Хотя возможности создания баз данных в последних версиях существенно расширены использование VFP для создания мощных систем представляется весьма проблематичным. В качестве таких ограничений можно назвать отсутствие встроенных средств защиты информации (несанкционированный доступ, шифрование данных), обеспечения целостности данных в условиях сбоев, поддержки многопроцессорной обработки и пр.

Поэтому сегодня стратегия развития VFP определяется общей концепцией интеграции различных средств разработки Microsoft в рамках комплекса Visual Studio, который в свою очередь нацелен на возможность реализации многокомпонентных, масштабируемых приложений на базе архитектуры Microsoft DNA (Distributed interNet Applications — распределенные межсетевые приложения). Ключевой идей DNA является переход к трехуровневой клиент-серверной структуре:
— клиентская часть — пользовательский интерфейс;
— промежуточный слой — управление бизнес-логикой;
— серверная часть — интегрированные базы данных.

В рамках этой архитектуры FoxPro в принципе может использоваться для создания компонентов любого уровня. Однако с точки зрения Microsoft для нижнего и верхнего слоя наилучшим образом подходят HTML и SQL Server соответственно, а для промежуточного — среда сервера Microsoft Trasaction Server, в которой работают бизнес-компоненты, созданные с помощью VB и VFP. Выбор конкретного средства (VB или VFP) остается за разработчиком, но тут следует иметь в виду, что VFP опережает VB по мощности средств обработки данных и возможностям объектно-ориентированного программирования.

В соответствии с таким позиционированием VFP идет развитие его функциональности. Новшеств в версии 6.0 появилось довольно много и с их описанием можно познакомиться по адресу http://www.microsoft.com/vfoxpro. Сейчас же отметим только ключевые моменты. В первую очередь это полная поддержка среды Microsoft Trasaction Server и расширенные возможности при создании Web-приложений (использование Active Server Pages, набора функций FoxISAPI, технологии Active Document и др.). Далее — возможность использования свыше 100 готовых классов (VFP Foundation Classes) и механизма создания и каталогизации библиотек классов (Component Gallery). Добавлены новые и улучшены ранее существовавшие средства отладки и мастера.

VFP 6.0 может теперь работать практически со всеми вспомогательными инструментами Enterprise Visual Studio для создания сложных приложений масштаба предприятия и поддержки групповой разработки (в автономном варианте поставки VFP 6.0 эти средства входят в состав Профессиональной редакции).

Ситуация в России

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

Именно поэтому первая после общей презентации пакета VS 6.0 конференция российского отделения Microsoft (при участии петербургской компании «Компьютерное образование») из цикла «Средства разработки», состоявшаяся 11 ноября в Москве, была посвящена версии VFP 6.0. Основное внимание было уделено возможностям его использования для создания компонентов бизнес-логики применительно к MS Transaction Server 2.0, клиент-серверных систем и приложения для Internet. Стоит отметить, что некоторая часть из почти 150 слушателей не являлась пользователями FoxPro, и пришла, чтобы познакомиться с его возможностями на будущую перспективу.

На конференции было объявлено, что в начале 1999 г. в России должна появиться версия VFP 6.0 Russian, в которой будет локализован модуль времени выполнения (run-time module), позволяющий создавать приложения с русскоязычным интерфейсом. Кроме того, это продукт будет стоить девешле почти на 30% по сравнению с английский вариантом.

Летом на сервере для российских разработчиков (http://www.microsoft.com/rus/msdn/) появился раздел для пользователей VFP (сначала организаторы почему-то забыли о нем). Однако следует заметить, что наполнение этого раздела и темпы его обновления пока оставляют желать много лучшего. Но материалы прошедшей конференции представители российского отделения Microsoft обещали выложить на сервер.