Стоит ли использовать кроссплатформенный GUI-инструментарий или полагаться на нативные? - PullRequest
4 голосов
/ 29 августа 2008

На моей стороне работы программиста я должен написать программу на C ++ для преобразования аудиофайлов из / в различные форматы. Вероятно, это потребует создания простого графического интерфейса.

Будет ли большим усилием создание отдельных графических интерфейсов для Mac и Windows с использованием Cocoa и WinForms вместо кроссплатформенного инструментария, такого как Qt или GTK?
(В любом случае мне придется поддерживать отдельную версию для Windows и Mac)
Графический интерфейс, вероятно, будет очень простым и потребует только самых базовых функций.

Я всегда чувствовал, что родной графический интерфейс гораздо более интуитивно понятен, чем его кроссплатформенные братья ...

Ответы [ 7 ]

8 голосов
/ 29 августа 2008

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

7 голосов
/ 29 августа 2008

Вы смотрели на wxWidgets ? Кроссплатформенное встроенное управление.

3 голосов
/ 17 апреля 2010

Кроссплатформенные наборы инструментов, более или менее, ошибочно предполагают, что разница между платформами заключается в расположении кнопок и оформлении виджетов. В некоторых случаях вы можете обойтись без этого - приложение Qt будет чувствовать себя довольно нативно как в Windows (где соглашения UI очень слабые), так и в Linux, особенно в среде KDE. В общем, вы можете перемещаться между Linux и Windows относительно легко; соглашения похожи, и сообщество Windows небрежно о них говорит.

Mac самый сложный. Его пользовательский интерфейс построен на совершенно иной парадигме, чем в Windows или в большинстве сред Linux.

Но в целом в родном приложении проще говорить на родном языке платформы, чем просто в стиле виджетов.

2 голосов
/ 29 августа 2008

Я бы согласился, что, если возможно, родные интерфейсы - это путь. Я недавно не использовал wxWidgets, и я слышал, что он прошел долгий путь, но тогда, когда это было wxWindows, мы создали приложение, которое было специально для X / Motif. Когда мы закончили работу и доставили ее, заказчик сказал, что она выглядит не совсем так, как X / Motif, и нам пришлось переделать весь пользовательский интерфейс за наш счет ... Джоэл Спольски написал хорошую статью по этому поводу, но я могу не помню название. Что он сказал, IIRC, так это проблему с Java, и некоторые другие кросс-платформенные интерфейсы заключались в том, что «ваша собака лает на мое приложение» - это небольшие несоответствия, которые раздражают людей.

1 голос
/ 02 октября 2009

Я собираюсь написать свой собственный слой кроссплатформенного графического интерфейса приложения для этого в ближайшее время. В зависимости от сложности вашего приложения это может быть частью того, что требуется для QT, GTK или FOX.

Причина в том, что мы видим тенденцию, что производители платформ (сначала Apple) пытаются спроектировать свою систему так, чтобы она выглядела уникальной. Это значительно затрудняет синхронизацию QT, GTK, FOX и других инструментов платформы с последними виджетами.

Когда основополагающая техника становится все более и более одинаковой, поставщики ОС не имеют никакой возможности, кроме брендинга на внешний вид платформы.

1 голос
/ 29 августа 2008

Да.

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

Возможно, начинать с CLI и получать функциональные возможности наиболее целесообразно для приложения преобразования звука.

0 голосов
/ 12 января 2016

wxWidgets использует стандартный синтаксис c ++ и препроцессор, что позволяет вам легко переходить с простого C или C ++. И будет производить очень родной вид, где бы вы ни были, будь то на GTK, X11, MS-Windows или Mac.

Он устарел с 20 лет с первого выпуска, имеет полную документацию с удобной навигацией и поддерживается большим сообществом по всему миру. Кодируйте в вашей любимой IDE или используйте известные Eclipse-IDE и wxFormBuilder в качестве дизайнера GUI. Сборка библиотеки wx и настройка IDE / Toolchain можно найти по этой ссылке: http://yasriady.blogspot.co.id/2016/01/raspberry-pi-toolchain.html

Разработайте ваше приложение на рабочем столе Linux, а также предоставьте компилятор для Raspberry Pi2 (целевое приложение плавно протестировано на Raspbian Jessie) ............

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...