Delphi - веб-сокеты и униги
Я действительно новичок в Delphi, так как клиент просит, чтобы проект был выполнен в Delphi, поэтому я должен попросить, чтобы я получил некоторую помощь, насколько это возможно. Этот проект также будет задействован в HTML5 и веб-сокетах, поэтому мне нужно несколько советов.
Извините, позвольте мне объяснить больше, это приложение состоит в основном из двух частей: одна - клиентское веб-приложение HTML5 (это приложение будет загружаться с веб-сервера и запускаться локально в браузере), а другая - его служба, расположенная на сервере. Веб-приложение HTML5 выполняет некоторую работу по редактированию продукта, а также отправляет свой окончательный вывод на сервер, во время этого процесса будет много связей между клиентским приложением и службой, и я планировал использовать Websockets.
Я планировал это приложение в HTML5 и Node.js раньше, но как клиент отправляет запрос, чтобы запросить Delphi XE в качестве основного инструмента разработки, и он, наконец, будет скомпилирован в DLL (ISAPI, должно быть). Для согласованности пользовательского интерфейса я также должен был использовать uniGUI ( http://www.unigui.com/demo) для Delphi. Теперь у меня есть следующие вопросы:
- Есть ли другой способ сделать это приложение с HTML5, так как веб-интерфейс исключает uniGUI в
Delphi
? - Какие хорошие библиотеки поддерживают Websockets в Delphi?
- Какую книгу вы можете мне порекомендовать прочитать, так как я совсем не знаю 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, есть множество документов через Интернет. Я не могу рекомендовать вам книгу, потому что я буду лгать вам.