Ответ 1
Хорошо, я далек от эксперта, но я попытаюсь написать полезный материал. Я мало знаю о вашем опыте, поэтому извините, если это кажется глупым.
В прошлом я работал с несколькими интерфейсами GUI на разных языках (wxpython, gtk +, swing,...). Никогда, как эксперт, но вот что я могу сказать:
-
Держите его простым. Если вы хотите дизайн с нуля, я думаю, что нет необходимости в сумасшедшем сложном материале. Постарайтесь сделать это максимально простым, уменьшив количество входов и опций в ваших элементах.
- б
. Основная общая точка всех успешных фреймворков, которые я знаю, - это абстракция. Каждый отдельный элемент можно легко обрабатывать, но он по-прежнему обладает всеми родителями. Это позволяет вашим объектам быть действительно универсальными, хотя и простыми.
-
Прочитайте дополнительную документацию по другим фреймворкам. Мне нравится тратить время на чтение документа графического интерфейса, потому что он помогает понять уровни абстракции. Я считаю, что документ pygtk легко читается.
-
Использовать другие фреймворки. Большинство структур делают вещи более или менее одинаково. Это особенно верно для графических интерфейсов. Рамка, содержащая макеты; меню и статусные панели; Я уверен, что 95% концепций, которые вы хотите использовать, можно найти в других рамках. Таким образом, лучший способ узнать, как его развивать, - это знать, что вам нужно и как это сделать. Всякий раз, когда я работаю над графическим интерфейсом, я начинаю читать соответствующую серию статей здесь. Писатель делает отличную работу, объясняя все простым образом, чтобы вы могли быстро продвигаться с концепциями.
-
Держите его открытым. Что-то, что я вижу все чаще и чаще, - это использование синтаксиса высокого уровня для описания GUIS. GTk, например, может принимать XML файлы во входных данных и создавать из него целый интерфейс. Я считаю это очень приятным для абстракции и повторного использования. И я также значительно уменьшаю количество необходимого кода.
Я не мог найти книги по точной теме, которую вы хотите. Я думаю, вы уже искали в Интернете. Надеюсь, эти маленькие идеи помогут вам.