Введение
Разработчики, использующие продукты Borland, уже наверняка знают, что весной
этого года была основана компания CodeGear, и все столь знакомые средства
разработки, как Delphi, C++ Builder, JBuilder и прочие были переданы под
ее крыло. Основной смысл такой передачи заключался в том, что теперь финансовые
потоки от продаж средств разработки будут реинвестироваться в бизнес CodeGear, а
не тратиться на развитие ALM-технологий Borland, как это происходило последние
пару лет. Подобный поворот событий может означать увеличение активности в
разработке RAD-средств. И это уже происходит – через несколько месяцев после
своего фактического появления на рынке CodeGear анонсировала совершенно новый
продукт, визуальную среду разработки на базе языка PHP – Delphi for PHP!
Почему Delphi?
Для определенной части программистов, привыкших понимать под словом «Delphi»
не столько среду разработки, сколько язык программирования Object Pascal, теперь
есть повод для недоумения – как может быть Delphi for PHP? Однако CodeGear
подчеркивает, что Delphi для своих создателей означает не язык и даже не
конкретную среду разработки, а набор принципов разработки приложений, заложенных
еще в Delphi 1. В своем блоге Дэвид Интерсимон, в частности, пишет: «Delphi –
это название для продукта, который предлагает RAD-технологию, визуальную
разработку, а также набор визуальных и невизуальных компонентов. Delphi – это
способ программирования вне зависимости от языка программирования, который вы
используете в среде».
Именно поэтому, когда мы видим название Delphi for PHP, мы ожидаем, что нам
предложат не просто некий аналог Dreamweaver для PHP, а действительно средство
быстрой разработки на базе компонентного подхода.
Ожидания оправдываются
Скорость, взятая на старте CodeGear, внушает уважение. Новый продукт
действительно предлагает визуальную разработку, целый набор готовых компонентов
с поддержкой AJAX, при этом вы сможете работать непосредственно с кодом PHP безо
всяких промежуточных прослоек и преобразований! Для работы готового приложения
вам не потребуется устанавливать на хостинг какие-то специфические драйвера или
ретрансляторы кода. Вы будете писать на PHP, но при этом использовать визуальные
компоненты со свойствами и событиями.
AJAX – теперь это просто.
Создадим новое приложение и разместим на форме три компонента, взятые из Tool
Palette:
Именно в палитре компонентов вы можете выбрать готовые компоненты от простых
кнопок, до визуальных средств редактирования данных в базах данных. Вы можете
настраивать свойства компонентов, размещенных на форме:
в Object Inspector. Например, мы можем задать заголовок для Label1:
Важной особенностью подхода, принятого в RAD-средствах, является
интерактивность приложения. Иными словами, при разработке программ вы создаете
обработчики тех или иных действий пользователя, что, фактически, и означает
работу с приложением. Пользователь ждем на кнопку, а программа что-то делает.
При обычном программировании на PHP вы бы разработали скрипт, который
формировал бы html-форму с какими-то полями, а также создали бы обработчик этой
формы, который обработал бы полученные от пользователя данные и что-то сделал в
ответ. Каждый шаг взаимодействия с пользователем при такой схеме означает
постоянную перезагрузку страниц в браузере. Применение AJAX уже делает
приложения более интерактивными, позволяя обмениваться данными между страницей
браузера и отдельными PHP-файлами, находящимися на стороне сервера. Но
разработка AJAX-приложений до сих пор была достаточно трудоемким делом.
DDelphi for PHP делает это виртуозно, причем вам зачастую даже не приходится
думать об AJAX – вы получаете эту технологию в одном флаконе с компонентами VCL
for PHP. Выбираем кнопку Button1 на форме, переходим на закладку Events в
Object Inspector, выбираем событие OnClick и делаем двойной щелчок:
Среда тут же создаст для нас обработчик события (Button1Click):
в котором мы можем написать нужный нам код. Из рисунка выше видно, что мы
хотим задать заголовок Label1 равным текущему значению поля редактирования
Edit1. Просто, не так ли?
ООстается запустить приложение. В открывшемся браузере мы видим нашу форму:
Изменим текст в поле редактирования:
Нажатие на кнопку «Применить» вызовет наш обработчик при помощи AJAX и мы
увидим изменение формы без перезагрузки текущей страницы:
Подводная часть айсберга
Может показаться, что пример выше не особенно демонстрирует силу, заложенную
в Delphi for PHP. В конце концов, программы а-ля «Hello, world!» писать легко на
любом языке и в любом средстве разработки. Тем не менее, оказывается, что и
намного более сложные вещи в целом реализованы также просто. Работа с базами
данных сделана на основе невизуальных компонентов Database, Query и DataSource,
и почти все визуальные компоненты могут автоматически получать данные,
подключившись к DataSource. В состав VCL for PHP входит даже DBGrid,
который визуально позволяет в браузере показывать и редактировать данные!
Набор готовых компонентов, удобная работа с базами данных, простая парадигма
использования AJAX в виде обработчиков событий, встроенный отладчик кода,
возможность разработки и подключения своих PHP-компонентов, поддержка
известных «шаблонизаторов» вроде Smarty – все это делает Delphi for PHP
действительно революционным продуктом для PHP. В целом от работы с новым
продуктом CodeGear возникает ощущение, что каменный век в PHP закончился и
возникает только один вопрос: «Почему этого не было сделано намного раньше?!».
Можно сказать, что скорость разработки веб-приложений наверняка вырастет в
несколько раз, и вероятность массового появления сайтов, к которым можно будет
применить модный нынче термин Web 2.0 становится вполне реальной.
|