Разработка компонентов с помощью PHP? - PullRequest
1 голос
/ 26 января 2010

Редактировать: вопрос касается только 100% веб-разработки. Пожалуйста, не связывайте вопрос с разработкой рабочего стола. Пожалуйста, прочитайте весь вопрос, прежде чем ответить.

Мне, безусловно, интересно, есть ли в данный момент интерес к разработке приложений PHP в стиле, похожем на десктоп. Я имею в виду что-то вроде классической реализации WebForms ASP.NET, где компоненты, инкапсулирующие домен, бизнес и логику пользовательского интерфейса, как бы соединяются на странице (в приложении) и «общаются» друг с другом через события, которые обрабатываются мастер приложение. Кроме того, главная страница может устанавливать некоторые параметры компонентов при их объявлении. Это может быть не лучшим выбором для многих разработчиков, но, безусловно, для этого есть применение, так же как и для ASP.NET - приложения, ориентированные на большие объемы данных, приложения для интрасети или приложения, где необходимо повторно использовать определенную логику компонента. много раз с разными входными параметрами, и ожидаются разные результаты.

Из того, что я знаю, раньше было что-то вроде этого - фреймворк под названием PRADO, в существовании которого я больше не уверен. Сайт все еще там, но я думаю, что работа сообщества медленная.

Буду рад услышать ответы и, конечно, критику. Я буду рад узнать о любых текущих разработках, и почему бы не использовать варианты для этого.

Ответы [ 6 ]

2 голосов
/ 10 октября 2012

Помимо Прадо, существует yii framework, который гораздо более активен. Также в качестве ASP.NET-подобной платформы я могу порекомендовать Embarcadero HTML5 Builder, который является последней версией Delphi4PHP / RadPHP

1 голос
/ 26 января 2010

Вы можете взглянуть на Tigermouse Framework , который я разработал много лет назад. Кажется, это именно то, что вы ищете. У него есть такой подход к веб-формам, где вы определяете представления и формы, помещаете в него другие элементы управления и назначаете события, которые затем обрабатываются на стороне сервера.

Посмотрите это простое приложение Drag-n-drop для корзины покупок и посмотрите исходный код .

1 голос
/ 26 января 2010

Вы имеете в виду что-то вроде php-GTK? http://gtk.php.net/

или более как RIA-приложения, такие как Flash на клиенте и php / flex на стороне сервера?

0 голосов
/ 26 января 2010

Вы, кажется, немного смущены тем, чего вы пытаетесь достичь здесь.

Прадо много делает для связывания событий на стороне клиента с обработкой на стороне сервера. Речь идет не о структурировании сложной логической логики. Кроме того, PHP не поддается традиционной модели сервера приложений, такой как реализованная в Java или ASP.NET, - однако, это не плохо, если причиной наличия серверов приложений является в основном преодоление недостатков этих языков для веб-разработка. OTOH есть очень небольшое количество областей, где модель PHP без общего доступа может быть навязчивой (рассмотрим, например, проблему очереди блокировки файлов).

Предположительно из вашего описания ASP.NET вы думаете, что PHP не подходит для такого рода задач? Если бы только был какой-то способ, которым я мог бы повторно использовать один и тот же класс в разных контекстах? (!!!!!!)

Моя претензия к большинству инструментариев / фреймворков для PHP состоит в том, что они пытаются удовлетворить любые потребности и в конечном итоге оказываются несколько бедными в определенных областях. Нельзя сказать, что это не очень хорошие инструменты, например, сфокусированные. ADOdb, jpgraph, Smarty. Некоторое время назад я работал над инструментом для рисования форм, предназначенным для интеграции с PHP-приложениями (PfP Studio), возможно, однажды я доберусь до его завершения. Однако, безусловно, существует множество вариантов выбора того, какую платформу вы используете, не прибегая к абстрактным представлениям, таким как используемые Prado или метабазой. На ум приходят CakePHP, Symfony, Zend и Horde, но есть и другие. Я думаю, что разница с PHP по сравнению с .NET или J2EE заключается в том, что никто не говорит вам, что вы должны использовать их решение.

С

0 голосов
/ 26 января 2010

Учитывая, что аббревиатура для PHP расшифровывается как (PHP) препроцессор гипертекста, и все методы использования PHP для разработки десктопов по сути являются хаком, я бы так не сказал. Определенно не изначально.

Я бы посоветовал оставить PHP для предварительной обработки гипертекста и специализированных решений для создания настольных программ; -)

0 голосов
/ 26 января 2010

Существует большое программное обеспечение Delphi4PHP , которое позволяет вам выполнять разработку php / создание компонентов, например asp.net, который представляет собой Visual Studio или визуально. Он также имеет отличную визуальную библиотеку VLC (Visual Component Library), которая позволяет создавать элементы, используя поддержку перетаскивания.

...