- Следует ли отделить графический интерфейс от логики приложения?
Да.
- Если он разделен, как должны взаимодействовать логика и графический интерфейс? Являются
TCP / IP розетки хороший вариант? Что
другие возможности?
TCP / IP заходит слишком далеко. Разделите логику приложения и GUI, используя ООП или любой другой подход структурированного программирования.
- Хорошо ли иметь графический интерфейс на языке, отличном от
C ++? Если да - на каком языке?
C ++ достаточно хорош для кроссплатформенных приложений. Другими вариантами являются Java и .NET, и в этом случае большинство кроссплатформенных вещей позаботятся ... хотя и не с той степенью контроля, которую обеспечивает C ++.
- Является ли хорошей идеей иметь графический интерфейс на основе браузера?
Лучшая идея, если ваше приложение не требует слишком точного контроля во время взаимодействия с пользователем.
- Хотя основная логика проекта кроссплатформенная, я могу решить,
что графический интерфейс будет только
На основе Windows (.NET?), И это будет
общаться с логикой на
соответствующая машина Win / Linux через
Сокет или аналогичный метод. Это хорошо
идея сделать это?
ИМХО дополнительная сложность использования сокетов не стоит.
SciTE - довольно хороший пример простого кроссплатформенного приложения. Исходный код должен быть простым для программиста Windows. Я предлагаю вам загрузить исходный код и взглянуть на то, как две платформы (Windows и GTK) обрабатывались в одной и той же кодовой базе.