Каковы текущие варианты разработки Delphi Web & Web Service

Я играю с Delphi. Большинство моих настольных разработок выполняется в .NET и встроенных системах с C. Я сделал некоторую веб-разработку в RoR и Python (Django, CherryPy). Я заинтересован в том, чтобы взломать проект, который будет веб-сервисом ( REST или SOAP) с собственным клиентом и веб-клиентом.

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

  • DataSnap
  • WebSnap
  • WebBroker
  • IntraWeb
  • Data Abstract и RemObjects SDK из RemObjects

У меня создается впечатление, что WebSnap мертв, но другие технологии все еще разрабатываются. Есть ли какие-либо указания относительно того, какую технологию следует исследовать?

p.s. Я понимаю, что Delphi не является дико популярным выбором для веб-разработки, но мне любопытно попробовать, так как я с удовольствием изучал VCL.

Ответы

Ответ 1

Вызов метода на стороне сервера RESTful, размещенный как dll ISAPI, или просто используется компонент Indy HTTP Server. Это действительно простой и мощный подход и позволяет быстро начать работу без большой кривой обучения.

Ответ 2

Вы могли бы добавить наш Synopse SQLite3 Framework в свой список.

Есть несколько интересных особенностей:

  • ORM-подход для управления вашими данными (т.е. определить и получить доступ к вашим данным как обычные классы Delphi), как на сервере, так и на стороне клиента - аналогично ActiveRecord в RoR;);
  • Многоуровневая архитектура;
  • нет базы данных или dll для развертывания (использует встроенный SQLite, без какой-либо внешней dll) - вы даже не можете использовать SQLite, но простую и быструю базу данных в памяти, написанную в чистом Delphi (я начал a fork of Zeos, чтобы быть независимым от базы данных);
  • Очень оптимизированный многопоточный сервер HTTP/1.1 (но вы можете обмениваться данными через другие протоколы или даже просто локально в рамках одного процесса без какого-либо клиента/сервера);
  • Передача данных использует стандартный JSON, поэтому вы можете получать те же данные в клиенте Delphi, либо в клиенте AJAX;
  • Клиент/сервер RESTful и написан в очень оптимизированном коде Delphi (некоторая часть была даже записана в asm после профилирования, для скорости и низкой памяти);
  • Может также использоваться для определения DataSnap-like Client-Server JSON RESTful Services, если для вас недостаточно подхода RESTful;
  • Полный Open Source, компилирует и работает с Delphi 6 до XE (с полной поддержкой Unicode для всех версий, поскольку он основан на UTF-8 от ядра ядра).

Ответ 3

Инструмент Web Service Toolkit - пакет веб-сервисов для FPC, Lazarus и Delphi; "Web Service Toolkit" предназначен для облегчения потребления и создания веб-сервисов пользователями FPC, Lazarus и Delphi. Лучше проверить из svn, так как релиз 0.5 действительно устарел.

Ответ 4

DelphiMVCFramework - это мощная среда RESTful, используемая также для разработки веб-сайтов https://github.com/danieleteti/delphimvcframework

Функции DMVCFramework

  • Соответствие требованиям RESTful (RMM Level 3)
  • Необычный URL с сопоставлениями параметров
  • Сгенерированные страницы на стороне сервера с использованием шаблонов Mustache
  • Расширение обмена сообщениями с использованием STOMP и Apache ActiveMQ или Apache Apollo (бета)
  • Может использоваться в среде с балансировкой нагрузки, используя Redis или MySQL в качестве государственного сервера.
  • Интегрированный RESTClient
  • Работает с DelphiXE3 или лучше
  • Интегрированная система ведения журнала
  • Это очень просто использовать. Вы можете быть продуктивным за считанные минуты!

Здесь Руководство разработчика DMVCFramework https://danieleteti.gitbooks.io/delphimvcframework/content/

Если вам нужна поддержка, есть официальная группа facebook с более чем 600 пользователями https://www.facebook.com/groups/delphimvcframework/

Я главный разработчик, но есть более 6 активных участников.

Ответ 5

WebHub - еще одна хорошо зарекомендовавшая себя, хотя и менее известная сторонняя веб-инфраструктура Delphi.

Ответ 6

Ниже приведены другие варианты, которые могут быть использованы для создания сервера webservices, несколько сходного с datasnap или remobjects/dataabstract. Несколько лет назад я работал с kbmMW, и это была сплошная библиотека. Я думаю, что у kbmMW и RealThinCLient есть бесплатные версии и/или с открытым исходным кодом:

RealThinClient

kbmMW

Ответ 7

У нас есть веб-интерфейс для нашего сервера приложений Delphi, написанного в Delphi Prism/ASP.NET. Он отлично работает и позволяет нам использовать наши знания языка Delphi в среде .NET.

Ответ 8

Этот очень старый, но многое изменилось, я сам оставил Intraweb и ушел в UNIGUI, так как он основан на EXTJS и создает одностраничные приложения.