Qt vs native при написании фонового приложения

Я собираюсь написать часть программного обеспечения для моей магистерской программы проект на C ++, и я хочу использовать это как возможность изучить собственный API Linux или Qt API, оба из которых меня интересуют, но я не уверен, какой из них будет более подходящим. Прошу прощения, если этот вопрос кажется длинным, запутанным и несколько двусмысленным, но я боюсь, что, если я сейчас приму неправильное решение, это может сорвать весь проект.

Приложение, которое я собираюсь создать, очень мало что мешает интерфейса. Это будет и меню конфигурации, пара диалогов с индикаторами выполнения, которые информируют пользователя о том, что происходит, и кнопка, которая заставит приложение делать это. Я намереваюсь в конечном итоге развернуть это приложение в Windows, Mac OS и Linux, и эта кнопка будет иметь другое расположение на каждой платформе (панель Gnome в Linux, панель задач в Windows и все, что панель вызывается на Mac ОС).

Остальная часть будет работать в фоновом режиме, и когда пользователь нажимает кнопку, чтобы запустить ее, он будет искать определенную информацию о приложениях, которые в настоящее время работают, компилировать ее в XML. файл и синхронизировать его с помощью службы, которую я также собираюсь создать сам и разместить на инстансе Amazon EC2 под управлением Linux. Когда они входят в систему на другом компьютере, подключенном к этому экземпляру EC2, и нажимают кнопку «запуск приложения», синхронизированные данные будут извлечены и помещены на их компьютер.

Теперь мой вопрос:

Что было бы лучшим выбором из API здесь: нативный или Qt? Хотя Qt может показаться очевидным выбором для кроссплатформенного приложения, некоторые из моих опасений следующие:

  • Станет ли Qt странным, если я попытаюсь делать что-то без использования виджетов графического интерфейса?
  • Является ли нативное (и, следовательно, довольно глубоко внедренное в ОС) излишним для чего-то вроде этого?
  • Учитывая, что приложение будет работать в фоновом режиме и, следовательно, вместе с другими приложениями, Qt и дополнительные уровни абстракции, которые он принесет с собой, будут оказывать пагубное влияние на производительность остальной части пользователя. сессия?
  • Если я использую Qt, насколько сложно будет «вырваться» из оболочки Qt для таких вещей, как размещение кнопки «запуск приложения» в соответствующем месте на каждой платформе.

Хотя я уже упоминал, что хочу, чтобы она была кроссплатформенной, я у меня был довольно плохой опыт работы с приложениями, которые были перенесены на платформу с использованием раскрывающегося меню, и они с радостью перепишут клиентское приложение, если это приведет к существенному улучшению взаимодействия с пользователем.

6
задан 20 April 2011 в 17:00
поделиться