Два RAD'а рядом

RAD-среды TurboPHP и WinBuilder

Это не сравнение двух сред быстрой разработки приложений. Они слишком разные, чтобы их сравнивать. TurboPHP - среда для создания web-приложений на языке PHP, а WinBuilder - среда для создания приложений, работающих с базами данных, причём СУБД - это Interbase/Firebird, а рабочая ОС - Windows. Тем не менее, обе разработки весьма интересны, и я хочу о них вам сейчас рассказать.


TurboPHP

Уже в самом названии есть что-то такое, что показывает, что это RAD-среда разработки. Turbo прочно ассоциируется с Borland, а Borland - это для отечественного пользователя, прежде всего, Delphi. Delphi - среда самой что ни на есть быстрой разработки, поэтому TurboPHP - удачное название.

Компания Borland, а вернее, её дочернее подразделение CodeGear имеет и собственную RAD-среду для разработки PHP-приложений - Delphi for PHP. О ней уже писал Андрей Голубовский в "Компьютерных вестях" №13 за 2007 год. Однако, как вы увидите дальше, TurboPHP всё же отличается по своей идеологии от детища CodeGear. Кроме того, TurboPHP - бесплатная среда разработки, недавно, к тому же, перешедшая в разряд программ с открытым исходным кодом.

Официальный адрес TurboPHP во Всемирной паутине таков: turbophp.com. Размер установочного дистрибутива - около восьми мегабайт, размер архива с исходными текстами (а написана TurboPHP на Delphi) - чуть больше двух. Работает среда разработки, конечно же, под Windows, зато PHP-приложения могут запускаться под многими операционными системами.

Разработка в среде TurboPHP устроена следующим образом: программист не работает непосредственно с HTML- и PHP-файлами, а вместо этого работа идёт с некоторыми промежуточными документами специального формата (они имеют расширения .turbohtml и .turbophp, соответственно). Как только разработчик посчитает документ готовым, он его "публикует", т.е. переводит в общепринятые форматы PHP или HTML. Среда сама преобразует документы из внутреннего формата во внешний, добавит необходимые изображения, скрипты, таблицы стилей и прочее, что может понадобиться для работы web-приложения.

В общем-то, такой подход нисколько не затрудняет разработку, он вполне обычен для сред, в которых используются компилируемые, а не интерпретируемые языки. Фактически, "публикация" проектов TurboPHP - просто аналог компиляции для тех же Win32 или .NET-приложений.

Для работы PHP-приложений используется специальный фреймворк TpLib. Его можно использовать и отдельно от самой среды разработки, но вряд ли это хорошая идея, потому что тогда теряются все преимущества RAD-среды. Если вы работали хоть с одной средой быстрой разработки приложений (RAD-средой, или, по-английски, RAD IDE), то быстро освоитесь и в TurboPHP. Тем более, что разработчики постарались максимально приблизить свой программный продукт к Delphi (в том числе и к Delphi for PHP). Методы и поля объектов тоже сделаны по образу и подобию библиотеки VCL. В языковом же плане компоненты, с которыми программист работает в визуальном дизайнере, это глобальные переменные, которые по своим именам совпадают с именами визуальных и не визуальных компонентов. Среди стандартных компонентов есть визуальные, служебные; имеется множество компонентов для работы с базами данных. Среди последних отдельно выделены разработчиками компоненты для MySQL и Open Database Connectivity (ODBC).

Как и другие RAD-среды, TurboPHP - это событийно-ориентированная среда. То есть вся функциональность приложения сосредоточена в методах, вызываемых какими-либо действиями пользователя, сервера или кого-то ещё. События могут быть написаны как на PHP (они будут обработаны сервером), так и на JavaScript'е - эти уже обрабатываются клиентом, то есть браузером пользователя. Все свойства и события объектов в дизайнере задаются с помощью знакомого по множеству RAD-сред Object Inspector'а.

Если вы хотите запускать и тестировать свои web-приложения прямо из среды разработки, вам, конечно, необходимо установить и настроить web-сервер и интерпретатор PHP. Если вы ни разу не занимались подобными вещами, то вам стоит скачать себе "джентльменский набор web-разработчика", или просто Denwer (www.denwer.ru). Установить его проще простого, и зачастую можно обойтись и вовсе без настройки.

Документация к TurboPHP прилагается, причём всю библиотеку объектов, поставляемую вместе со средой, она описывает довольно подробно. На сайте программы можно найти краткий учебный курс по работе с TurboPHP. Правда, как вы сами понимаете, всё это - на английском языке. Разобраться с работой в среде можно и по примерам, поставляемым в дистрибутиве. И это, пожалуй, не худший путь, поскольку RAD-среды как раз и отличаются тем, что их легко освоить. Да и пользоваться ими можно без глубоких знаний используемого языка программирования.

Если же сравнивать TurboPHP и CodeGear Delphi for PHP, то сравнение будет явно не в пользу первого. Почему? Самая основная претензия к авторам open-source RAD-среды для PHP - отсутствие интегрированного отладчика. Конечно, отладчик отсутствует во множестве сред для PHP, но его часто не хватает. Думаю, программисты согласятся с тем, что отлаживать программы, пользуясь интегрированным в среду отладчиком, гораздо удобнее, чем тыкаться в коде наобум, пытаясь найти ошибку. В остальном же, среда очень хороша как в плане редактора кода, так и в плане визуального дизайнера, всё достаточно продуманно и удобно. Конечно, Delphi for PHP выигрывает ещё тем, что сейчас активно развивается рынок сторонних компонентов для неё. Но, с другой стороны, TurboPHP не будет стоить разработчикам ни копейки.

Так что, резюмируя, хочу сказать, что эта среда разработки - прекрасное средство для PHP-программиста. Хотя отладчик бы и не помешал. Ну а сейчас про ещё одну RAD-среду. Она называется...


WinBuilder

С чем сравнить эту среду разработки, даже и не знаю. С Delphi? Ну это будет как WinRAR сравнивать с Total Commander'ом. Оба, вроде, и с файлами работают, и архивировать-разархивировать умеют... И, тем не менее, разные, как небо и земля. Так что не буду даже ни с чем сравнивать, расскажу просто, что это за зверь такой.

К сожалению, в действии программу испробовать было сложно. То есть запустить и покрутить я смог, а вот полюбоваться на созданное приложение - нет. Причина тому - платность этого программного продукта, а также тот факт, что пробная версия не даёт сохранять и запускать созданные приложения. Скачать её, эту бесплатную версию, можно по адресу visualtech.townnet.ru, размер дистрибутива - от трёх с половиной до четырёх мегабайт, в зависимости от присутствия или отсутствия демонстрационных примеров.

Не знаю, кто писал TurboPHP, а вот автор WinBuilder'а (это один человек) своего имени не скрывает. О себе на сайте программы он приводит следующие автобиографические сведения: "Копнин Юрий Юрьевич. Год рождения - 1973. Инженер-программист. Образование: 1. ШАМТ. Специализация: станки с числовым программным управлением и промышленные роботы. 2. ШГПИ. Технология и предпринимательство". Интересно в этом всём то, что Delphi, на котором написана среда WinBuilder, позволил создать одному программисту полноценную компонентную RAD-среду. Остаётся только в очередной раз снять шляпу перед Андерсом Хейлсбергом и его командой, создавшими более десяти лет назад такую мощную технологию.

Вообще же WinBuilder позволяет создавать программы, которые после будут выполняться специальным интерпретатором. Язык программирования, используемый в среде, до боли похож на Object Pascal/Delphi. Основывается это всё на FastScript, компонентах от Fast Reports Inc.

Компонентов в программе присутствует не очень много. То есть, их, конечно, не сказать, чтобы мало, но поменьше, чем в Delphi 6 - 2007. При этом, поскольку в плане разработки баз данных среда ориентирована на Interbase/Firebird, в стандартной поставке присутствуют компоненты FIBPlus, аналогичные одноимённым компонентам для Delphi. Они позволяют работать только с Interbase/Firebird, то есть любые другие СУБД остаются для разработчика недоступными. В качестве компонентов для создания отчётов используются Fast Report от одноимённой российской фирмы. Компоненты, что и говорить, хорошие. А вот добавить новые компоненты в среду WinBuilder нельзя, что уже не есть здорово.

Вообще же WinBuilder напоминает некую урезанную версию Delphi, вдобавок ещё и интерпретируемую. Если бы продукт не был коммерческим, он имел бы шансы на успех, но в связи с наличием бесплатной Turbo Delphi Explorer и недорогой Turbo Delphi Professional, шансы WinBuilder'а, цена которого - 1000 российских рублей за копию, выглядят не очень привлекательно. И, тем не менее, разработчик полон оптимизма. Думаю, нужно всё же дать пояснить всё самому автору: "Многие меня спрашивают, зачем я пишу "вторую Delphi" и зачем вообще все это нужно. Во-первых, можно сказать, что это не совсем средство разработки, как Delphi, а гибкий настраиваемый клиент SQL-сервера. Планировался он для создания бизнес-приложений, как альтернатива "1С". У нас очень часто меняется законодательство, что, в свою очередь, отражается на бизнес-процессах и поэтому часто приходится изменять логику программ, автоматизирующих эти процессы. Система позволяет вносить изменения оперативно, причем при наличии специалиста пользователи могут все делать самостоятельно без участия разработчика. С другой стороны, невозможно написать программу, которая устраивала бы всех без исключения. Поэтому пишется типовой проект, который, в целом, устраивал бы большинство пользователей, а они, в свою очередь, при наличии гибкой среды и квалифицированного специалиста могут сами убрать, что им не нужно, или "прикрутить" что-то своё. Именно этим и был обусловлен успех программы "1С предприятие", пользователи имели возможность самостоятельно изменять конфигурацию. Думаю, альтернатива удалась. Многие заядлые любители "1С" признают, что "1С" достаточно ограничена, многие вещи приходится делать не так, как хочется, а так, как это позволено системой, SQL-версия "1С" использует возможности SQL-сервера на 5%, все бизнес-правила в ней прописываются на стороне клиента, а не сервера, а WinBuilder, в отличие от "1С", является несравнимо более гибким. Конечно, и у него есть свои рамки, но они гораздо шире "1С". Другое преимущество системы - это стандартный подход в её реализации. Люди, работавшие с Delphi, "въезжают в суть системы" за неделю. "1С" приходится осваивать достаточно долго".

По идеологии, таким образом, WinBuilder больше похож на другую программу, о которой я уже рассказывал в "Компьютерных вестях" - TotalClient ("КВ" №35'2006). Тоже, кстати, российская разработка.

В целом, впечатление от WinBuilder'а двойственное. С одной стороны, вполне качественная среда разработки. С другой, довольно ограниченная. И коммерческая, хотя на рынке полно бесплатных средств. В общем, мне кажется, что автору нужно ещё добавить функциональности, например, дать возможность пользователям использовать не только Interbase/Firebird. Но и в таком виде она представляет интерес для разработки определённого класса приложений, поэтому, пожалуй, скачать и посмотреть воочию на этот программный продукт всем, кто заинтересовался, всё же стоит.

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

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

Номер: 

32 за 2007 год

Рубрика: 

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