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