Разработка вложенных приложений
Вопрос
Мы рассматриваем возможность переноса наших многочисленных приложений баз данных на одну платформу — возможно, веб-технологию.
Модель, о которой мы думали, предполагает наличие ряда вложенных приложений, примерно такого:
1) Иметь «Боковую панель», которая управляет базовой навигацией по приложениям, поиском и т. д.
2) При выборе на боковой панели соответствующее приложение загружается в основную часть экрана.Ссылки внутри каждого из этих приложений могут вызывать другие приложения, как при изменении веб-страниц.
Однако, оглядываясь вокруг, я не вижу прямого способа реализации этого ни в IntraWeb (наш первый выбор - размещение в браузере), ни в Delphi, если не считать кодирования всего этого в одном приложении.
Любой совет?
Решение
Подразумевает ли веб-интерфейс браузер?В зависимости от типа приложения, возможно, лучше написать обычное клиентское приложение Delphi, которое просто использует Интернет для связи.Одним из примеров двух подходов является электронная почта:Outlook против Gmail.Они оба (очевидно) используют Интернет, но один из них работает на стороне клиента, а другой — в «облаке».Конечно, можно утверждать, что оба технически работают на стороне клиента.
Судя по вашему описанию вашего плана, есть один очень простой способ достижения вашей цели только с помощью Native Delphi:
- Каждое приложение представляет собой отдельный EXE-файл.
- Есть "родительский" лаунчер EXE
- В лаунчере перечислены доступные приложения.
- Когда приложение запускается, оно становится родительским (скажем) TPanel в EXE-файле запуска.
Другие советы
Вместо того, чтобы смотреть на среду и язык, на котором вы хотите разработать вложенное приложение, обратите внимание на функциональные блоки, необходимые для его работы.Попробуйте написать макеты этого в Delphi и в сети.
Функциональные части, которые обычно являются общими для всех приложений, — это меню, безопасность и пользовательский интерфейс, — добавьте их в основной «Менеджер».
Отделите бизнес-логику от пользовательского интерфейса.
Посмотрите, как построены системы CMS, такие как Joomla, Drupal и другие.Особенно в управлении единицами функциональности.Со временем некоторые из них превратились в полноценные программные контейнеры.
Создайте небольшое приложение cgi, которое может загружать dll и добавлять функциональность первому приложению.