Создание скинов GUI - хорошо или плохо?/ С чего начать? - PullRequest
6 голосов
/ 08 января 2011

Не знаю, только ли это я, но мне действительно нравится дизайн графического интерфейса некоторых приложений, таких как iTunes / Avast или некоторые медиаплееры, такие как KMPlayer. Поэтому я думал о том, чтобы заставить мои GUI выглядеть по-другому, и позже я узнал, что это называется оболочкой GUI (я прав?).

Я где-то читал, что не очень хорошая идея использовать или создавать их в отношении скорости приложения, удобства использования и всего такого. Таким образом, вопрос: это хорошо и безопасно делать скины GUI? и если так, как я мог начать программировать один (потому что я не хочу использовать готовые, если они действительно велики). Какая основная идея стоит за ними. Я ожидаю, что смогу изменить внешний вид всей формы и, возможно, изменить ее форму.

Любая идея по этому поводу очень ценится.

Ответы [ 2 ]

7 голосов
/ 08 января 2011

Хорошо или плохо?

Bad. У меня нет детального ответа для вас. У меня нет кучу исключений. У меня нет вдумчивого эссе, чтобы писать, когда скины могут быть или не уместны. У меня однозначное: плохо.

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

Если вам нужна тема, потому что ваше приложение является исключением, и вы просто круты, пожалуйста, предоставьте опцию, чтобы отключить ее и использовать обычную тему ОС. Не скин-аппроксимация Aero, Luna или Classic, а актуальная нормальная тема ОС, какая бы (потенциально настраиваемая) тема не была выбрана.

5 голосов
/ 08 января 2011

Насколько мне известно, существует два типа приложений, которые могут быть скины: например, медиаплееры могут выиграть от того, что они выглядят как настоящие физические устройства (PowerDVD или около того, iirc). Тем не менее, реальных случаев использования таких вещей очень мало, если таковые имеются - сегодня наблюдается тенденция к тому, что такие приложения практически не имеют пользовательского интерфейса и вместо этого концентрируются на контенте (VLC является исключением).

Кроме того, существует большое количество приложений, в которых разработчики или менеджеры проявили творческий подход или слишком много времени заняли. Раймонд Чен называет это «Могу поспорить, что кто-то получил действительно хороший бонус за эту функцию». - с этим я глубоко согласен. Прежде всего, скины часто не являются функцией; новинка изнашивается очень быстро, на самом деле они не помогают пользователю с любой проблемой, с которой им приходится сталкиваться при использовании вашей программы, и, наконец, для многих программ, демонстрирующих скины, действительно не нужно на все . Я имею в виду давай; как часто вы открываете свою AV-программу или панель настроек видеокарты, наслаждаясь великолепной и тщательно продуманной кожей? Никогда, верно.

Таким образом, возникает вопрос, почему вы даже хотите посвятить ресурсы разработки (как свои, так и чужие) созданию чего-то, что не приносит никакой пользы, кроме как визуально выделить ваше приложение. В руководящих принципах Windows UX также есть что-то для оконных рам и , маркировка . Обратите внимание, особенно на следующий раздел:

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

Неправильно:

alt text

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

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

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

...