MoonUI — молочно-голубая тема для WPF

Думаю, что многие кто увидит заголовок данного топика, первым делом захотят скачать исходники (если, конечно, понравился скриншот) и не будут читать о чем тут я понаписал. Все же, хотелось бы написать пару слов о давно ведущемся противоборстве программистов и дизайнеров, что так же будет является историей создания данной темы для WPF. Кому интересно, добро пожаловать под хабракат.



Ссылка на исходники: github.com.

Не интересная история

Программирование своей профессией я сделал не так давно. В школьные и студенческие годы меня больше привлекали разработка дизайна и верстка сайтов (да-да, я был одним из тех студентиков, которые делают сайты за 5 — 10 тысяч и отнимают хлеб у веб-студий). Параллельно с этим я изучал различные ЯП, но в отличии от первого рода занятий, программирование было сложнее применить, получая для себя выгоду. В итоге же пришлось определиться, что важнее и куда двигаться дальше.

Устроившись в небольшую компанию, занимающуюся разработкой электронно-программных комплексов, я решил подтянуть навыки программирования найдя для них конкретное применение. После вводной части и рассказов о прекрасном настоящим и радостным будущем, меня познакомили с ПО, с которым мне придется общаться и совершенствовать его. Я, конечно, представлял себе что такое технологическое ПО, но внешний вид, а вместе с ним и usability всего этого, меня, человека избалованного карамельными кнопками, повергло в ужас. Даже используя платформу .NET 4-й версии, разработчики умудрялись делать old-style квадратные кнопки из 90х. О выравнивании элементов интерфейса и речи не шло. Такое чувство, что при написании программ, они перетаскивали элементы на форму как получиться и даже не пытались находить ей место. В итоге все это было похоже на монотонную кашу. Среди двух десятков программистов не было не одного человека, которого хотя бы как то заботила проблема внешнего вида. На мои замечания по этому поводу я встречал лишь искреннее удивление в глазах и вопрос: «Да кому это нужно?»

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

Ближе к сути

Суть в том, что я убедился на сколько разное мировоззрение у программистов и дизайнеров. Мне кажется теперь, что такая ситуация творится везде, где разрабатывают ПО не общего использования. Или мне так повезло и я ошибаюсь?

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

Подумав, что задача посильная и я еще не растерял все свои навыки (школоло-дизайна), взялся за это дело с нуля. На вряд ли темка WPF принесет мне какую то прибыль, поэтому не выкладывать в сеть, причин нет. Возможно кому то мои труды пригодятся, буду только рад.

Стили находятся в фазе активной разработки, поэтому в исходниках довольно много говнокода. Вернее не так… причина в необходимой скорости разработки, но это уже отдельная песня. Рефакторинг обязательно будет. Эстетическая сторона (ради чего это и создавалось) тоже будет дорабатываться, т.к. есть много нестыковок линий, градиентов, выравнивания текста и т.д.
В прицепе, то что есть уже работает и вы можете без проблем использовать стили в своих целях.
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 16
  • +7
    Даже используя платформу .NET 4-й версии, разработчики умудрялись делать old-style квадратные кнопки из 90х

    Они нынче снова в моде ;-)
    • +4
      Зачем нужны custom темы под Windows?
      • +2
        За всех не скажу, но мне это надо по нескольким причинам:
        1.Так как приложеними будут управлять с планшетов, то необходимо чтобы контролы могли становиться большими. Стандартные либо выглядят убого в растянотом виде (чего только стоит «хромированная» кнопка, типа с перепадом тени/света по центру), либо вообще не поддаются «растяжке». В последнем случае придется пилить стандартные темплейты и опять потерять гармоничноть интерфейса.

        2.Нужны совершенно новые стили стандартных контролов, опять же из-за тач управления. Например, тыкать в стандартные чекбоксы пальцем просто крайне неприятно. В результате родился чекбокс в виде кнопки-слайдера (см скриншот). Делать подобные штуки с закосом под стандартный стиль опять же не хочется (см пункт 1). Да, пока спецефичных стилей я почти не сделал, но в первою очередь надо было воссоздать стандартные, т.к. мне нужен и десктоп-интерфейс.

        Вообще все это решается переходом на NET 4.5 и Windows 8 и использованием стандартных стилей, но пока Win8 не набрал боьшой популярности, приходиться городить огород.

        Наверное, с позиции чистого программиста, все равно не стало яснее, зачем это надо. В двух словах — опят все сводится к эстетике, чуточку приправленой удобством использования.
        • +2
          Местами сильно похоже на mac, но при этом действительно красиво. Вы молодец.
      • 0
        выглядит не очень
        • +1
          В целом симпатично, только скроллбар явно недоработан.
          • 0
            В чём заключается явность?
            (во избежание конфуза — скроллбар второй сверху во второй колонке, самый правый контрол — вертикальный слайдер)
            • 0
              Кнопок < и > у него нет?
              • 0
                пока нету, обязательно будут
                • +1
                  я так понял вы о слайдере говорите, т.к. скролбар я еще даже не трагал
          • –2
            Как с поддержкой Windows Phone 7, 8? Можно ли ожидать пакет на NuGet.org?
            • +3
              Под Wp7,8 есть четкие гайдлайны, придерживаться которых строго рекомендуется
              • –1
                Если я создаю приложение для себя, то плевал я на гайдлйны.
              • 0
                чесно говоря, я не сталкивался с разработкой под WP, поэтому ничего сказать не могу. На счет NuGet.org — не вижу смыса.
              • +1
                Чекбоксы неидиоматичны Windows, т.е. пользователи у которых не было iPhone не поймут как этим пользоваться. А так неплохо…
                • 0
                  Задача очень и очень непростая. Для развития навыков работы с WPF хорошо, но практической пользы мало. Я бы на вашем месте для начала загрузил рефлектором с BAML-вьювером майкрософтофские темы и изучил бы их, попутно ужасаясь сложности. Закинул тему Luna Normalcolor для примера. И могу сказать, что все навороты там не просто так.

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

                  Самое читаемое