Блог разработчиков

Delphi for PHP

Скакунов Александр
Опубликовано 18.07.2007 в PHP, Инструменты

Я давно вынашивал идею создания продукта, позволяющего создавать веб-приложения (на 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.

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

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

top of hotblogs.org.ua
1 звезда2 звезды3 звезды4 звезды5 звезд (1 голосов, средний: 4 из 5)
Загрузка ... Загрузка ...

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

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

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

  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. Анонимно говорит:

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

  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 "В начало.”;
    }
    ?>

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

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

Архив

Вакансии rss icon

Все вакансии

Комментарии