Delphi for 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.

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

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

Маєте важливу новину про українське ІТ? Розкажіть спільноті. Це анонімно.І підписуйтеся на Telegram-канал редакції DOU

👍НравитсяПонравилось0
В избранноеВ избранном0
Подписаться на автора
LinkedIn



Підписуйтесь: Soundcloud | Google Podcast | YouTube


23 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

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

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

В случае с нашим провайдером для того, что бы проект заработал на хостинге было сделано следующее: 1. У провайдера небыла установлена переменная output_bufferingПроявлялось сообщением об ошибке в связи с тем что header уже посланэто решили созданием в корне папки проекта файла.htaccess и занесением в него следующих строк: php_flag output_buffering Onphp_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 «В начало.»; } ?>

To Анонімно: Просто скопировать PHP-файлы не получится — в Delphi for PHP используется своя библиотека классов VCL for PHP.Надо выбирать “Deploy” или чего-то в этом роде — вместе с проектом на сервер пойдут соответствующие библиотеки классов (не все, а только нужные).При желании можно все библиотеки скопировать на сервер (это описано в документации).

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

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

В текущем номере КО опубликован мой обзор Delphi for PHP, электронная версия должна в ближайшее время появится на сайте itc.ua и сайте еженедельника ko.itc.ua.Хочу обратить внимание, что первая Delphi выщла отнюдь не 1991 году, и не с нее был скопировал Визуал Бэйсик, а совсем наоборот. Однако это совсем не помешало Delphi стать на долгое время эталоном для подобных приложений.В том, что касается Web-разработки, то здесь, конечно, все не столь однозначно, но почти то же самое говорилось и в средине 90-х про создание настольных приложений. Лично я прекрасно помню, как находились люди, высмеивающие Delphi и визуальную разработку вообще как инструмент для деградировавших программистов.;) Кстати, популярность подобных продуктов и решений зависит во многом не от того, лучше они или хуже других, а от грамотного маркетинга, обучения, доступной литературы и пр. Возможно, Delphi for PHP не станет очень популярным продуктом совсем не от того, что это не удачный продукт, а по той причине, что CodeGear сейчас обладает совсем не теми возможностями, что Borland более десяти лет назад. Так или иначе, в мире существует много способов забить гвоздь, но среди молотков не наблюдается доминирования одного-единственного монополиста.:)

Наверное под мусором имеется ввиду Data-layer (entity classes), DAO-layer, controllers.Да здраствует спагетти-код! Господа, программирующие на ПХП, попробуйте MyDBO и убедитесь, что он действительно ускоряет разработку.

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

Представляю, сколько он генерирует мусора... Это к http://www.developers.org.ua/a.../

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

Как раз для линуха был сделан «порт» Делфей, назывался Kylix. Все хотят перетаскивать кнопкиЯ имел ввиду.нетовский подход к созданию веб-приложений (асп.нет). А перетаскивание кнопок под Виндов/Линукс приложение — руллит!:) Дело в том, что создать интерфейс для обычного приложения намного сложнее чем для сайта. Используя HTML + расширения (Яваскрипт, ЦСС и т.д.) можно творить чудеса интерфейсного исскуства. А в приложениях под конкретные ОС таких «чудес» добиться намного сложнее.

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

А можно ссылочек хороших по теме подкинуть? Я погуглил немного, нашел вот разве что: Про веб-фреймворки (накипело)

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

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

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

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

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

Частично согласен и несогласен с обеими.Идея добавления кнопочки на форму изменила программирование.Но сейчас — идея не актуальна! В 1991 году, когда появилась первая версия Делфи, построение эффективных пользовательских было головной болью. И в этот момент появился Делфи с его «добавать кнопку и запустить». Он стал настоящим откровением и позволил создавать бизнесс-приложения (по крайней мере интерфейсную часть) гораздо быстрее. Также Делфи стимулировал появления Вижуал Бейскиков и всяких других вижуалстудий.Но заимствование этой идеи для построения Web-приложение, ИМХО, ложный путь.Дебаггер и хороший редактор это нужные вещи, а вот идея перетаскивания компонентов не катит.Интерфейсы прекрасно клепаются в HTML (в простом или навороченном редакторе). Обычно у всяких студий возникают серьезные проблемы с написанием бизнесс-логики, потому как оная среда стимулирует писать плохой «спагетти-код» (иногда называемый Делфи-кодом:)). Это когда бизнесс логика пишется прямо в обработчиках.Мне кажется, что будущее не за РАДами типа Вижуал Студио и Делфи, а за разнообразными генераторами (MyDBO и CodeCharge для PHP, JAG для Java), которые генерируют каркас приложения анализируя базу. Вот эта вещь позволяет действительно удешевить разработку.

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

По поводу черных ящечгов Delphi4PHP даёт сто очков вперед — в.NET это какие-то проприетарные компоненты, а в тут используются более массовые решения, уж они-то точно оттестированы хорошо: # adodb# google maps# nusoap# smarty# xajax# JSON

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

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

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

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

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

А вот если бы ты сказал кому-нить из наших Windows-разработчиков, что старая-добрая Delphi — ацтой, т.к. «понимание того, как некоторые вещи работают, на самом деле просто теряется», и надо писать на чистом Windows API, тебя бы не поняли.P.S. Сам я прогаю на РНР в удобном текстовом редакторе. Просто присматриваюсь.

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

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. Сам я прогаю на РНР в удобном текстовом редакторе. Просто присматриваюсь.

YA devil:)

А что за самоцель всё руками делать? Вот я этот пост пишу, и всё равно жму на пимпы добавления тэгов — пока два раза blockquote наберёшь... Конечно, если тулза сродни FrontPage, то спору нет, в аццтой. А если делает всё за тебя и лучше тебя, то "pourquoi pas, почему бы нет«© д’Артаньян?

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

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

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

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

А что за самоцель всё руками делать? Вот я этот пост пишу, и всё равно жму на пимпы добавления тэгов — пока два раза blockquote наберёшь... Конечно, если тулза сродни FrontPage, то спору нет, в аццтой. А если делает всё за тебя и лучше тебя, то "pourquoi pas, почему бы нет"© д’Артаньян?

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

Согласен.

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

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

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

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

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

Подписаться на комментарии