Украинское сообщество программистов

Delphi for PHP

Александр Скакунов
Опубликовано 18.07.2007 в Статьи

Я давно вынашивал идею создания продукта, позволяющего создавать веб-приложения (на PHP) в интерфейсе Delphi. Пусть меня заклюют любители консоли, а это удобно.

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

Пробовал Code Charge Studio. Несмотря на то, что проектные файлы можно потом “компилировать” в кучу разных языков (например, PHP и ColdFusion), слишком уж вязко всё там, удалил в тот же день.

В этом году зарелизился Delphi for PHP. Включает кучу всякой вкуснятины:

  • ускорение веб-разработки на PHP с помощью Delphi-среды быстрой разработки приложений (RAD) для PHP;
  • упрощение PHP-программирования за счет полных Delphi-библиотек PHP for VCL;
  • навороченное редактирование и встроенный дебаггер ускоряют процесс отлова багов в коде;
  • встроенная среда разработки рационализирует управление кодом и навигацию, так что управление и организация PHP-кода никогда не была такой простой.
Delphi for PHP

Стоит это чудо $99 для учебных заведений и $299 для остальных ($249 – промо-версия). Занимательно, что список реселлеров Украины и Казахстана расположен в разделе Russia.

Инсталляха триальной версии занимает 28 Мб. Написано, что триал длится 14 дней. Люди жалуются, что у них он длился 1 день. Я же обнаружил ссылку на халявный ключ на той же странице, где и закачка триала. Ключ, прешедший на указанное мыло, надо сохранить в home directory (в моём случае на WinXP это C:\Documents and Settings\). Через 14 дней можно попросить другой ключ, разумеется, на другое мыло (рекомендую mailinator.com).

Скачал я и VCL для PHP (библиотека компонентов). Ба, знакомые всё лица:

  • adodb
  • google maps
  • nusoap
  • smarty
  • xajax
  • JSON
  • и другие

Ещё куча PHP-файлов, которые реализуют обещанную ОО-функциональность; например в файле buttons.inc.php видим:

class BitBtn extends QWidget

{ …

Интересно, что в файле authors перечислено всего 4 человека. Не менее интересно, что один из них по всем признакам русский: Serguei Dosyukov.

На уровне ощущений проект выглядит многообещающе. Тем не менее, во-первых, надо почитать примеры, т.к. с ходу добавить кнопку на форму и “скомпилить” не получилось, и, во-вторых, из-за кучи мелких глючков могу сказать, что проект ещё сырой.

Позже опишу свои впечатления после более глубокого погружения в продукт.

Теги: , ,

1 звезда2 звезды3 звезды4 звезды5 звезд (4 голосов, средний: 4.75 из 5)
Загрузка ... Загрузка ...
Распределение голосов

Понравилась статья? Подпишись на обновления по RSS/E-mail

Подписаться, не оставляя комментарий

Все комментарии (24) к “Delphi for PHP” RSS

  1. devil

    Мдя, скоро в объявлениях о работе мы увидем:
    “Ищицо веб программист-наформукнопочькоперетягивальчег” :(
    Если уже так хочеться быть зависимым от одной библиотеки и от монопольной визуальной среды, а также забыть о том, что такое HTML, CSS, JavaScript – то лучше выбрать АСП.НЭТ, вместе с вижуалстудией. Там хотя бы все более оттестированно и больше компонентов.

  2. Pavel

    Опробовал эту среду в действии… впечаления двоякие.
    ИМХО, отстой :(

  3. василий

    помоему бредовая идея какая-то. смысла не видно вообще.

  4. Скакунов Александр

    забыть о том, что такое HTML, CSS, JavaScript

    А что за самоцель всё руками делать? Вот я этот пост пишу, и всё равно жму на пимпы добавления тэгов – пока два раза blockquote наберёшь… Конечно, если тулза сродни FrontPage, то спору нет, в аццтой. А если делает всё за тебя и лучше тебя, то “pourquoi pas, почему бы нет” (c) д’Артаньян?

    Опробовал эту среду в действии… впечаления двоякие

    Согласен.

    помоему бредовая идея какая-то. смысла не видно вообще.

    Эх, Василий, Василий… Посмотри, сколько щас предложений для программистов .NET – автоматизация позволяет снизить затраты разработки. Вот имхо основная идея.

    Туше?

  5. DmitryZhariy

    YA devil :)

    А что за самоцель всё руками делать? Вот я этот пост пишу, и всё равно жму на пимпы добавления тэгов – пока два раза blockquote наберёшь… Конечно, если тулза сродни FrontPage, то спору нет, в аццтой. А если делает всё за тебя и лучше тебя, то “pourquoi pas, почему бы нет” (c) д’Артаньян?

    Так, это ж ты сайт создаешь, а пост пишешь :)
    Я понимаю так: если ты хочешь сделать качественный сайт, то на этапе создания скелета страниц, нужно писать все руками. Тогда будет обдуманный скелет (шаблон) страничьки. Т.е. качественный фундамент. Когда ошибки и недочеты находятся изначально в ДНК шаблона – это очень плохо и гнилое проэктирование.
    Продукт этот новый, и никто не может сказать, что компоненты хорошо оттестированны и не содержат багов.

    К тому же, такой “визуальный” подход к веб программированию помогает сопутствует деградированию программиста. Понимание того, как некоторые вещи работают на самом деле просто теряется. И при возниконовении ситуации, когда прийдеться вернуться в “реальный мир” – это будет сделать очень сложно.

    Чем функциональнее и красивее библиотека с которой мы работаем – тем меньше свободы она оставляет программисту. Тем меньше внимания затрачиваеться на оптимизацию кода и качественной реализации элементов защиты сайта.

    Автоматизировать свою работу можно и с помощью грамотного проектирования классов, структуры сайтов и шаблонов страниц.

    Эх, Василий, Василий… Посмотри, сколько щас предложений для программистов .NET – автоматизация позволяет снизить затраты разработки. Вот имхо основная идея.

    В принципе, этот самый НЕТ поддерживаеться значительно бОльшим количеством людей. И его компоненты, хоть и представляют из себя в большей мере черные ящики, но зато они больше оттестированны.

    Мне не нравиться подход АСП.НЕТ при создании сайтов, аля сайт – это тоже самое что и обычное приложение. Это не так. Сайт и приложение – это разные вещи.
    Но, я признаю .НЕТ как мощьную и быструю клипалку сайтов на разных языках под ВинХостинг.

    Так что не надо извращатся. ПХП, Перл, Питон-код пишем в удобных текстовых редакторах, а .НЕТ приложения в Вижуалстудии.

  6. Скакунов Александр

    YA devil

    После “Йа креведго” меня уже ничем не удивишь ;)

    По поводу черных ящечгов Delphi4PHP даёт сто очков вперед – в .NET это какие-то проприетарные компоненты, а в тут используются более массовые решения, уж они-то точно оттестированы хорошо:

    # adodb
    # google maps
    # nusoap
    # smarty
    # xajax
    # JSON

    Так что данный продукт скорее выступает клеем для этих блоков, чем предлагает свои.

    Кстати, реализацию конкретного продукта Delphi4PHP я не защищаю: написал же в статье, что он сырой. Защищаю я идею.

    Поэтому.

    Есть .NET, который доказал жизнеспособность этой темы. Сам .NET не люблю, но основа мне импонирует.

    Понимание того, как некоторые вещи работают на самом деле просто теряется. И при возниконовении ситуации, когда прийдеться вернуться в “реальный мир” – это будет сделать очень сложно.

    Как-то притянуто за уши. Вот сидит C#-программер, и трясется от страха, что как только проекты на .NET кончатся, ему опять придется в консоль возвращаться. Это ж не командировка. Освоил новый молоток – забиваешь свои гвозди.

    Чем функциональнее и красивее библиотека с которой мы работаем – тем меньше свободы она оставляет программисту.

    Хватанул ;) Ты когда используешь в PHP функцию sort(), ты точно знаешь, какой именно способ сортировки она реализует? Пузырьковый? Квази-пузырьковый? А если тебе надо квадратно-пузырьковый, что тогда делать – писать свою версию на интерпретируемом PHP? Имхо свобода не в том, что какая-то либа может ВСЁ, а в обилии этих либ. Скажи, какой РНР-фреймворк ты используешь, и я скажу кто ты чего он не умеет.

    такой “визуальный” подход к веб программированию помогает сопутствует деградированию программиста

    Про деградировавших дот-нетчиков не буду говорить :)
    А вот если бы ты сказал кому-нить из наших Windows-разработчиков, что старая-добрая Delphi – ацтой, т.к. “понимание того, как некоторые вещи работают, на самом деле просто теряется”, и надо писать на чистом Windows API, тебя бы не поняли.

    P.S. Сам я прогаю на РНР в удобном текстовом редакторе. Просто присматриваюсь.

  7. DmitryZhariy

    По поводу черных ящечгов Delphi4PHP даёт сто очков вперед – в .NET это какие-то проприетарные компоненты, а в тут используются более массовые решения, уж они-то точно оттестированы хорошо:

    # adodb
    # google maps
    # nusoap
    # smarty
    # xajax
    # JSON

    Я думаю, что для склейки 6 компонентов такая визуализация не нужна :) Идея визуализации LAMP средств мне какраз и не нравиться. дотНЕТ – это нечто родное для Виндов, и для Линуксовых дотНетовская визуализация не подохоит даже как идея.

    Освоил новый молоток – забиваешь свои гвозди.

    C# под винды – это очень даже не плохо. Он действительно помогает быстро клепать бизнес-приложения. Но, веб-платформа несколько отличаеться от других платформ. И подход к созданию сайтов должен отличачаться от создания приложений. Я, наверно, очень старомодный :)

    Хватанул Ты когда используешь в PHP функцию sort(), ты точно знаешь, какой именно способ сортировки она реализует?

    Я не пишу на ПХП. Эх, как сложно в этом мире Перловщику. :)

    А вот если бы ты сказал кому-нить из наших Windows-разработчиков, что старая-добрая Delphi – ацтой, т.к. “понимание того, как некоторые вещи работают, на самом деле просто теряется”, и надо писать на чистом Windows API, тебя бы не поняли.

    P.S. Сам я прогаю на РНР в удобном текстовом редакторе. Просто присматриваюсь.

    Когда появился Делфи – это было действительно прорывом в создании бизнес приложений. Конечно, если мне нужно будет создать приложение, которое являеться упрощенным интерфейсом для доступа к данным – я возьму тот инструмент, который, по моему мнению наиболее подходит для такой задачи. И это скорее всего будет Делфи или Си++ Билдер.
    В конце-концов результатом моей работы будет либо екзешник, который не требует интерпретации, либо АктивХ контрол, который другие люди потом смогут заюзать в своих приложениях на любых языках.
    Для создания приложений такой подход очень удобен. А вот для создания сайтов, мне кажется что он не подходит. ИМХО ;)

    В принципе Delphi for PHP это альтернатива текстовому редактору. И, возможно все таки некоторые вещи будет лучше сделать именно в этой оболочке. Поживем – увидим :)

  8. Alexander Simonov

    хм…. интересная вариация….
    только вот вопрос появляеться , а чем этот вариант лучше других, например Zend Studio?

  9. Игорь Шубович

    Частично согласен и несогласен с обеими.
    Идея добавления кнопочки на форму изменила программирование.
    Но сейчас – идея не актуальна!
    В 1991 году, когда появилась первая версия Делфи, построение эффективных пользовательских было головной болью. И в этот момент появился Делфи с его “добавать кнопку и запустить”. Он стал настоящим откровением и позволил создавать бизнесс-приложения (по крайней мере интерфейсную часть) гораздо быстрее. Также Делфи стимулировал появления Вижуал Бейскиков и всяких других вижуалстудий.

    Но заимствование этой идеи для построения Web-приложение, ИМХО, ложный путь.
    Дебаггер и хороший редактор это нужные вещи, а вот идея перетаскивания компонентов не катит.
    Интерфейсы прекрасно клепаются в HTML (в простом или навороченном редакторе). Обычно у всяких студий возникают серьезные проблемы с написанием бизнесс-логики, потому как оная среда стимулирует писать плохой “спагетти-код” (иногда называемый Делфи-кодом :) ). Это когда бизнесс логика пишется прямо в обработчиках.

    Мне кажется, что будущее не за РАДами типа Вижуал Студио и Делфи, а за разнообразными генераторами (MyDBO и CodeCharge для PHP, JAG для Java), которые генерируют каркас приложения анализируя базу. Вот эта вещь позволяет действительно удешевить разработку.

  10. DmitryZhariy

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

  11. Скакунов Александр

    для Линуксовых дотНетовская визуализация не подохоит даже как идея

    Как раз для линуха был сделан “порт” Делфей, назывался Kylix. Все хотят перетаскивать кнопки :)

    В общем у всех есть зерно истины, пусть прорастает.

  12. Скакунов Александр

    которые генерируют каркас приложения анализируя базу

    Скаффолдинг (если я правильно понял намек) сильно ускоряет разработку бизнес-логики?

  13. DmitryZhariy

    для Линуксовых дотНетовская визуализация не подохоит даже как идея

    Как раз для линуха был сделан “порт” Делфей, назывался Kylix. Все хотят перетаскивать кнопки
    Я имел ввиду .нетовский подход к созданию веб-приложений(асп.нет).
    А перетаскивание кнопок под Виндов/Линукс приложение – руллит! :)

    Дело в том, что создать интерфейс для обычного приложения намного сложнее чем для сайта.
    Используя HTML + расширения (Яваскрипт, ЦСС и т.д.) можно творить чудеса интерфейсного исскуства.
    А в приложениях под конкретные ОС таких “чудес” добиться намного сложнее.

    Скаффолдинг (если я правильно понял намек) сильно ускоряет разработку бизнес-логики?

    А можно ссылочек хороших по теме подкинуть?

    Я погуглил немного, нашел вот разве что:
    Про веб-фреймворки (накипело)

  14. Graymur

    Представляю, сколько он генерирует мусора… Это к http://www.developers.org.ua/archives/a4/2007/07/22/13-sposobov-ne-delat-otstoynyih-veb-prilozheniy/

  15. Скакунов Александр

    В смысле “мусора”? Методов, которые ты никогда не вызовешь? Ну так они до самого вызова вроде память не тратят.

  16. Игорь Шубович

    Наверное под мусором имеется ввиду Data-layer (entity classes), DAO-layer, controllers.
    Да здраствует спагетти-код!

    Господа, программирующие на ПХП, попробуйте MyDBO и убедитесь, что он действительно ускоряет разработку.

  17. Вячеслав Колдовский

    В текущем номере КО опубликован мой обзор Delphi for PHP, электронная версия должна в ближайшее время появится на сайте itc.ua и сайте еженедельника ko.itc.ua.

    Хочу обратить внимание, что первая Delphi выщла отнюдь не 1991 году, и не с нее был скопировал Визуал Бэйсик, а совсем наоборот. Однако это совсем не помешало Delphi стать на долгое время эталоном для подобных приложений.

    В том, что касается Web-разработки, то здесь, конечно, все не столь однозначно, но почти то же самое говорилось и в средине 90-х про создание настольных приложений. Лично я прекрасно помню, как находились люди, высмеивающие Delphi и визуальную разработку вообще как инструмент для деградировавших программистов. ;)

    Кстати, популярность подобных продуктов и решений зависит во многом не от того, лучше они или хуже других, а от грамотного маркетинга, обучения, доступной литературы и пр. Возможно, Delphi for PHP не станет очень популярным продуктом совсем не от того, что это не удачный продукт, а по той причине, что CodeGear сейчас обладает совсем не теми возможностями, что Borland более десяти лет назад.

    Так или иначе, в мире существует много способов забить гвоздь, но среди молотков не наблюдается доминирования одного-единственного монополиста. :)

  18. Anonymous

    Блин люди а как перенести страницы написанные на делви на сервер что бы там работал а не посоянно ошибки выдовал

  19. Скакунов Александр

    Полагаю – сконфигурить.

  20. Вячеслав Колдовский

    To Анонімно:

    Просто скопировать PHP-файлы не получится – в Delphi for PHP используется своя библиотека классов VCL for PHP.

    Надо выбирать “Deploy” или чего-то в этом роде – вместе с проектом на сервер пойдут соответствующие библиотеки классов (не все, а только нужные).

    При желании можно все библиотеки скопировать на сервер (это описано в документации).

  21. Игорь Гончаров

    В случае с нашим провайдером для того, что бы проект заработал на хостинге было сделано следующее:
    1. У провайдера небыла установлена переменная output_buffering
    Проявлялось сообщением об ошибке в связи с тем что header уже послан
    это решили созданием в корне папки проекта файла .htaccess и занесением в него следующих строк:
    php_flag output_buffering On
    php_value output_buffering 4096
    проверять можно по phpinfo()
    2. У провайдера не была подключена библиотека в конфигурации php
    Провайдер отбрыкивался, типа всё работает – докажи.
    Удалось заставить их подключить библиотеку путём предоставления примера, который не работал
    По phpinfo это не было видно (вроде бы), а программа говорила что функции не доступны.

    1- файл

    Проверка ввода числа

    Enter your age:

    2-й файл (example04.php)
    “;
    require_once(’test1.php’);
    }
    elseif ($age === FALSE)
    {
    echo “Введите число.”;
    require_once(’test1.php’);
    }
    else

    {
    echo “Привет.”;
    echo “В начало.”;
    }
    ?>

  22. Игорь Гончаров

    Да уж.
    Этот сайт слопал код.
    Повтор:

    1- файл

    Проверка ввода числа

    Enter your age:

    2-й файл (example04.php)
    ";
    require_once('test1.php');
    }
    elseif ($age === FALSE)
    {
    echo "Введите число.";
    require_once('test1.php');
    }
    else

    {
    echo "Привет.";
    echo "В начало.";
    }
    ?>

  23. Leviafant

    Довольно интересная игрушка судя по Вашим постам, надо будет качнуть
    Но все равно какое то не доверие, что бы скрипт за тебя писал скрипт – как то странно получается

  24. DelphiForPhp

    DelphiForPhp на исходниках читаем здесь

Оставить комментарий

Указать свой сайт могут только зарегистрированные пользователи. Регистрация или вход.

Архив

Добавить статью

Станьте автором нашего сайта!

Какие материалы подходят для публикации? — Такие.

Присылайте статьи на editors@developers.org.ua.

Подробнее.

Популярные теги

Все теги

Комментарии

Последние комментарии

интернет магазин бытовая техника магазин Laptoper