Какая веб-платформа приложений для Delphi рекомендуется?
В разделе Web Application Framework для Delphi (Win32) существует некоторая активность. Есть много новых проектов, и мне бы хотелось увидеть общее описание их функций (качество кода и документации, покрытие unit test, простота установки, минимальная версия Delphi, безопасность, управление сеансом, доступ к базе данных, сопоставление URL-адресов, шаблонирование системы, MVC, Ajax, конфигурация...).
Рамки (в алфавитном порядке)
Ответы
Ответ 1
См. ExtPascal, http://code.google.com/p/extpascal
ExtPascal - это обертка/привязка Object Pascal (Delphi, FreePascal/Lazarus) для Ext JS, полная структура графического интерфейса Ajax, созданная в JavaScript для разработки Rich Internet Application (RIA).
ExtPascal позволяет использовать Ext JS из команд Object Pascal, выданных сервером. Он привносит структуру и строгий синтаксис Object Pascal для программирования веб-браузера. ExtPascal перенесет Draw2d в будущие версии.
Функции
- Поддержка Ext JS 3.2.1.
- Высокая производительность с собственным кодом для программирования на стороне сервера, не требуется PHP.
- Использует связь FastCGI или CGI для веб-сервера.
- Совместимость с любым веб-сервером, поддерживающим протоколы CGI или FastCGI.
- Statefull, keep-alive и многопоточные серверные приложения.
- Parses Ext JS HTML-документация к единицам Object Pascal.
- Самопереводит код Object Pascal на код JavaScript во время выполнения.
- Полное кодирование Object Pascal, минимальное использование (X) HTML, CSS и JavaScript, но вы должны хорошо знать структуру Ext JS.
- Программирование AJAX с использованием Object Pascal.
- Полная оболочка для всех классов, одиночек и виджетов Ext JS.
- Прозрачная поддержка всех основных веб-браузеров: IE 6+, Firefox 1.5+, Safari 3+, Opera 9+ и Chrome 2+ на любой клиентской платформе (ПК, смартфоны, iPhone, КПК и т.д.)!
- Поддержка нескольких платформ на стороне сервера через компилятор FreePascal 2.4.0. Протестировано в Windows, Linux и Mac OS X (Intel и PowerPC).
- Сборщик мусора для всех классов и виджетов Ext JS.
- Поддержка Slim Services и EventLog для Windows.
- Поддержка Daemon для платформ Posix (Linux, Mac OS X и т.д.).
- Производит небольшие исполняемые файлы и потребляет очень низкую память.
- Прямая отладка с использованием Delphi, Lazarus или MSEide отладчиков.
- Инструмент ExtP от Phil Hess. Преобразуйте свои настольные и клиент-серверные приложения, сделанные в Delphi/Lazarus, в Web 2.
- Вариант встроенного веб-сервера на платформах Windows или Posix, не требуется Apache или IIS.
- Дополнительный обработчик событий Delphi/Lazarus.
- Совместимость с Delphi (7..2010) и FreePascal (2.4.0).
- Встроенный виджет CodePress с подсветкой синтаксиса Object Pascal.
- Поддержка перечислений Pascal для инфраструктуры Ext JS.
- Копирование завершено для всех элементов Ext JS.
Издание:
Два новых доступных варианта - в настоящее время не завершены, но очень интересны для действительно богатых клиентов AJAX в коде Delphi (код объекта pascal скомпилирован в javascript, как и у Morphik, но с более легким дизайном):
Update:
Только что нашел отличный проект с открытым исходным кодом, с именем p2js, который похож на эти два варианта: он преобразует .pas в javascript. Но он также может работать с обычными файлами .dfm и использовать SenchaTouch для слоя пользовательского интерфейса. Демонстрации впечатляют.
Ответ 2
uniGUI (унифицированный графический интерфейс пользователя) является основой для разработки веб-приложений AJAX в классическом режиме WYSIWYG Delphi RAD. Его уникальный набор компонентов нарушает барьер между рабочим столом и веб-приложением.
он все еще находится под бета-тестированием, но, похоже, активно обновляется.
Ответ 3
Вы уже слышали о Delphi on rails?
Delphi On Rails - это приложение/веб-сервер на основе MVC и REST.
Ответ 4
Вы также можете оценить Raudus на основе инфраструктуры ExtJS (то же, что и ExtPascal, закомментировано).
Это в разработке и будущей лицензии это не понятно. Посмотрите и оцените.
С уважением.
Ответ 5
В прошлой работе я использовал webhub (http://www.href.com) с довольно удовлетворительными результатами.
(большое приложение аукциона, используемое внутри автодилера)
Для довольно больших заданий, в которых вы хотите сохранить некоторый контроль, я бы, конечно, рекомендовал его.
Ответ 6
Habari Web Components - небольшая коммерческая инфраструктура веб-приложений для Delphi и Free Pascal (платформа Windows).
Habari Web Components - это среда веб-приложений для HTTP-сервисы среднего размера, основанные на популярном TCP/IP с открытым исходным кодом библиотека для Delphi и Free Pascal, Internet Direct (Indy).
(Я являюсь автором этой структуры)
Ответ 7
Некоторое время назад я использовал RTC, который был стабильным и очень быстрым, код сервера RTC можно скомпилировать в автономный Сервер и расширение ISAPI
Я никогда не использовал g-framework, но выглядел многообещающим
Ответ 8
DelphiMVCFramework выпущен как открытый источник.
Проверьте этот ответ
Структура веб-MVC для Delphi
Я главный разработчик
Ответ 9
Kitto позволяет создавать богатые интернет-приложения на основе модели данных, которую можно сопоставить с любой базой данных. Часть клиента использует ExtJS (через библиотеку ExtPascal), чтобы создать полностью приложение AJAX, позволяя вам в течение некоторого времени создавать стандартные и расширенные формы обработки данных.
Kitto нацелен на разработчиков Delphi, которым необходимо создать веб-приложение, не вникая в тонкости HTML, CSS, Javascript или учась использовать определенную библиотеку, такую как ExtJS, но при этом она обеспечивает доступ к голым металлам, если требуется.
Kitto включает в себя уровень доступа к базе данных-агностик, позволяющий создавать приложения, которые работают с любым движком базы данных и приложениями портов между механизмами базы данных.
Приложение Kitto описывается в наборе легко поддерживаемых файлов YAML, сохраняя определения абстрактными и декларативными и позволяя будущим расширениям. Бизнес-правила применяются как декларативно, так и через небольшие фрагменты javascript на клиенте или в коде Delphi на сервере.
Ответ 10
Посмотрите на VCL.JS свою новую среду, которая использует концепцию компонентов typescript и Delphi. Все в среде визуальной студии.
http://vcljs.com
Пример использования компонента:
var qur = new V.TQuery(this)
qur.SQL = "Select * from customers";
qur.open();
var inp = V.TDBInput(this,’itm’);
inp.DataSet = qur;
inp.FieldName = "FirstName"
Ответ 11
Это новое, только что анонсированное: Pashero - чрезвычайно быстрый сервер Web и App, построенный с использованием Embarcadero Delphi
Посмотрите http://www.pashero.com/
Использование Pashero http://www.pashero.com/using_pashero.html