Delphi - веб-сокеты и униги

Я действительно новичок в Delphi, так как клиент просит, чтобы проект был выполнен в Delphi, поэтому я должен попросить, чтобы я получил некоторую помощь, насколько это возможно. Этот проект также будет задействован в HTML5 и веб-сокетах, поэтому мне нужно несколько советов.

Извините, позвольте мне объяснить больше, это приложение состоит в основном из двух частей: одна - клиентское веб-приложение HTML5 (это приложение будет загружаться с веб-сервера и запускаться локально в браузере), а другая - его служба, расположенная на сервере. Веб-приложение HTML5 выполняет некоторую работу по редактированию продукта, а также отправляет свой окончательный вывод на сервер, во время этого процесса будет много связей между клиентским приложением и службой, и я планировал использовать Websockets.

Я планировал это приложение в HTML5 и Node.js раньше, но как клиент отправляет запрос, чтобы запросить Delphi XE в качестве основного инструмента разработки, и он, наконец, будет скомпилирован в DLL (ISAPI, должно быть). Для согласованности пользовательского интерфейса я также должен был использовать uniGUI ( http://www.unigui.com/demo) для Delphi. Теперь у меня есть следующие вопросы:

  1. Есть ли другой способ сделать это приложение с HTML5, так как веб-интерфейс исключает uniGUI в Delphi?
  2. Какие хорошие библиотеки поддерживают Websockets в Delphi?
  3. Какую книгу вы можете мне порекомендовать прочитать, так как я совсем не знаю Delphi.

Благодарю.

2 ответа

Решение

1: да, создайте "одностраничное приложение" (static html + js) и обменивайтесь данными с сервером с использованием xml или json. По крайней мере, в indy 10 довольно просто реализовать статическое обслуживание файлов (response.contentstream:= tfilestream.create(sfilename) или что-то в этом роде)

2: да, если вы будете искать его в Google, вы найдете несколько реализаций сервера WebSocket для Delphi

Кстати, я занят реализацией delphi socket.io, которая упрощает использование веб-сокетов вместо простых низкоуровневых tcp-подобных веб-сокетов.

Есть ли другой способ сделать это приложение с HTML5, так как веб-интерфейс исключает uniGUI в Delphi?

Первая концепция: приложения HTML5 представляют собой набор файлов HTML, и JS могут обрабатываться браузерами.

Вторая концепция: вам нужно приложение, которое может связывать HTTP-запросы и возвращать файлы из первой концепции.

Третье понятие (парадигма): с первыми двумя понятиями возникает третье понятие. Динамический HTML. Что такое динамический HTML? HTML, который генерируется во время выполнения на внутреннем сервере и / или во внешнем интерфейсе с JS.

Решение:

Да, с Delphi в качестве внутреннего сервера вы можете манипулировать и возвращать представления HTML5, если вы знаете (например, парадигму MVC), вы можете запрограммировать приложение HTTPServer, которое связывает HTTP-запрос из сети и отвечает на ваши HTML и JS.

Какие хорошие библиотеки поддерживают Websockets в Delphi?

Вам нужна многослойная библиотека. Лучшая библиотека, которую я знаю, это MORMot. MORMot - это как швейцарская бритва для Object Pascal. Вы можете создать HTTP-сервер с опубликованными интерфейсами websocket. Сайт mORMot

Какую книгу вы можете мне порекомендовать прочитать, так как я совсем не знаю Delphi.

У меня более 10 лет с Delphi и Free Pascal, и я вообще не читал книги. Но я много читаю из интернета, много компьютерной архитектуры и других языков, таких как C и C++.

Если вам нравится Delphi, есть множество документов через Интернет. Я не могу рекомендовать вам книгу, потому что я буду лгать вам.

Другие вопросы по тегам