Я работаю над программой, которая будет иметь пользовательский интерфейс и серверную часть. Приложение разделено на две основные функции:
- UI - JavaFX (инструмент разработки и тестирования)
- на стороне сервера (без пользовательского интерфейса) - Java (инструмент SOAP)
Пользовательский интерфейс или SS будут выбраны на основе предпочтений пользователя (сохраненных на локальном компьютере) или выбора (в любое время). Например: у пользователя есть программа, работающая в режиме пользовательского интерфейса, и он решает переключиться на серверную сторону (с помощью кнопки настроек) - это может либо убить пользовательский интерфейс и запустить новый поток с серверной частью, либо просто запустить серверный поток .
Программа может работать на более старых машинах, которые не имеют возможности запускать пользовательский интерфейс, либо у них нет ресурсов, ОС (более старые версии linux) или даже экран, с которым пользователь может взаимодействовать. Чтобы отобразить пользовательский интерфейс при необходимости, я подумал о том, как на стороне сервера принять определенный запрос, который включит пользовательский интерфейс (когда имеет место запуск пользовательского интерфейса).
Запуск в одно и то же время:
| UI Запуск | Запуск на стороне сервера |
| да | нет |
| нет | да |
| да | да |
Javafx main не может быть запущен (или мне не удалось это сделать) из main public static void main(String[] args)
и жалуется на поток IllegalStateException.
Мой главный вопрос: как мне это структурировать и как начать с базового кода. Я полагаю, что мне нужно 4 темы, чтобы начать:
- 1-й основной поток, который загрузит пользовательские настройки и определит
какой режим инициализировать (UI, SS или оба)
- 2-ой экран-заставка пользовательского интерфейса во время выполнения настроек и настроек,
также отображает информацию о том, что происходит
- 3-й пользовательский интерфейс
- 4-я сторона сервера