Должен ли я использовать кроссплатформенный GUI-инструментарий или полагаться на собственные?

StackOverflow https://stackoverflow.com/questions/34325

Вопрос

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

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

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

ДА.

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

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

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

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

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

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) ............

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top