All streams
Search
Write a publication
Pull to refresh
21
0
Пьянков Сергей Михайлович @SergeyPyankov

Delphi- и SQL-разработчик

Send message
По итогам этого диалога были внесены правки в раздел «Постановка проблемы», более точно очерчивающие применимость подхода из статьи.
Дело в том, что в статье не отражена некоторая подоплёка: изначально никакой ручной вёрстки не планировалось, однако после того, как было сделано чуть больше половины работы (включая интерфейс и серверный код, ответственный за доступ к данным), из-за одной проблемы с uniGUI, которую так и не удалось решить, пришлось применить описанный в статье подход, сохранив, что крайне важно и приятно, весь серверный код. Поэтому написанное — это положительная иллюстрация того, что библиотека позволяет при острой необходимости проделать такую радикальную замену.

Также в качестве небольшой ремарки — упомянутый проект агрегатора на самом деле состоит из двух сайтов: публичного из статьи и служебного, служащего для управления содержимым первого, который уже написан исключительно на компонентах uniGUI, по первому сценарию.
а как обстоит дело с состоянием(state), если делать приложение с web интерфейсом
Если правильно понял вопрос, то дело с состоянием вполне обстоит — при каждом обращении к веб-приложению (речь идёт о SPA) создаётся своя сессия в новом потоке, которая может хранить любые нужные ей данные (то самое состояние); если представить, что пользователь открыл, скажем, 3 вкладки такого сайта, то на сервере появится та же троица сессий.
многопотчность при standalone server
Данный тип сервера ничем не отличается в этом плане от прочих — на каждую сессию будет автоматически создан свой поток.
Уточните — что в итоге получается от компиляции проекта? И как оно потом подключается к сайту.
Зависит от выбранного в мастере типа проекта:
  • Автономный (standalone) сервер и Windows-служба компилируются в исполняемый файл (exe), как такового подключения не требуют, т. к. сами себе и веб-сервер, и сайт — всё в одном флаконе.
  • ISAPI-модуль представляет собой DLL, которую необходимо добавить в сторонний веб-сервер. Сайт-агрегатор, упомянутый в статье, развёрнут именно в таком виде (на IIS).
Можно стандартно приладить туда обычные компоненты?
Если под «туда» имелась в виду форма, а под определение «обычные» подпадают визуальные VCL-компоненты, то нельзя, однако большинство невизуальных (например для работы с базами данных) — конечно можно.
Дополню ответ выше. С Delphi поставляются различные редакции IntraWeb, обладающие разными возможностями:
  • С Professional — Personal-редакция, в которой наиболее неприятное ограничение — 5 одновременных сессий.
  • С Enterprise и выше — Standard с не такими критичными запретами.
Насколько статья актуальна на текущий момент?
Насколько понимаю, Вы предлагаете полностью веб-решение, когда приложению (в том числе мобильному) отводится всего лишь роль контейнера для браузера; для несложных случаев — почему бы нет, но у синхронизации (да и всего проекта в целом) требования довольно разнообразны и специфичны (например, работа над списками без доступа к сети).
Не могли бы Вы уточнить, почему упомянули UniGUI? Её связь со статьёй довольно слаба — разве что эта библиотека использует в качестве транспорта HTTP, озвученный здесь в таком же качестве.
В статью добавилось упоминание об XML-редакторе, значительно облегчившем работу над содержанием тестов.
В вышедшем недавно Interbase 2017 частично и полностью устранены две из описанных в статье проблемы — CTE и производные таблицы соответственно. Подробности можно узнать в документации.
Изначально FireMonkey создавалась для полностью самостоятельной отрисовки интерфейса, но позже были добавлены некоторые родные компоненты у двух ОС: Windows и iOS; в дополнение к этому, для мобильных платформ есть как бесплатные наборы для построения родного интерфейса в Android и iOS, так и платный — но только под iOS.
Делфи выполняет компиляцию напрямую в машинные коды, причём это касается не только Android, но и всех поддерживаемых платформ. Никакие сторонние графические фреймворки тоже не используются — за отрисовку интерфейса отвечает собственная библиотека FireMonkey.
По меньшей мере FireDAC работает с указанной версией MySQL (не вижу причин, почему прочие универсальные библиотеки должны отставать в этом).
Firebird в данный момент не поддерживает мобильные платформы, но предварительная версия, правда пока только под Android, существует.
2

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity