Sketch и Zeplin
Следующий этап: необходимо отдавать разработчикам в понятном виде информацию об используемых в макетах токенах. Для этого мы визуализировали токен в виде символа, где кроме названия есть превью используемого цвета в тёмной и светлой темах, а также названия цветов из палитры.
Такие токены мы сгенерировали в виде символов уже после того, как составили большую часть схемы, и токенов уже тогда оказалось немало. Чтобы не составлять их вручную, мы подготовили небольшой плагин, который подтягивал актуальную версию JSON-схемы и генерировал из них токены в виде символов из шаблона, подставляя туда цвета из общих стилей библиотеки цветов. С помощью этого же плагина мы генерируем обновление библиотеки: добавляются новые токены, и обновляются значения уже имеющихся. Символ из библиотеки обновляется во всех макетах, где он используется.
Так выглядит токен в виде символа
Такие токены мы добавляем рядом с макетами и отправляем всё вместе в Zeplin. Если не понятно сразу по названию или нужно уточнить, к какому элементу относятся токены, добавляем описание и делим токены на секции, описывая конкретные элементы. Используя плагин Sketch Runner для быстрого поиска по названиям символов, мы получили свой конструктор описания тёмной темы в виде аннотаций к макетам.
Добавление описания о используемых токенах
Более нативного, простого и наглядного решения, как встроить токены в макеты с дальнейшей отправкой в Zeplin, мы не нашли. Хотя в Zeplin можно давать названия уникальным цветам, в нашей схеме один цвет может использоваться сразу в нескольких токенах.
Вместо того чтобы рисовать тёмную версию для каждого из сотни экранов, мы просто описываем всё в виде токенов, тем самым экономя время дизайнеров. Все имеющиеся значения токенов у компонентов уже протестированы, и нужно лишь подставить правильные. Единой точкой правды является UI Kit — в нём можно найти не только актуальное состояние компонента, но и его используемые токены.
Ошибки в реализации тёмной темы можно будет найти уже на стадии тестирования при проверке скриншотов. Тестировщики могут сами заметить явно неправильный цвет и попросить помощи дизайнера — для исправления недочёта понадобится только название правильного токена.
Как сделать темную тему телефона Андроид
Существует экзотический вариант для включения некоего подобия темного оформления телефона. Суть способа в том, что на мобильном устройстве включается инверсия — обратная перестановка цветов, благодаря чему появляется возможность получить темные цвета в большинстве элементов интерфейса.
Сделайте следующее:
- Войдите в «Настройки».
- Откройте «Специальные возможности».
- Включите пункт «Инверсия цветов».
На телефоне поменяются цвета, значки приложений станут несколько необычного вида. Возможно, вам подойдет именно этот вариант. Следует учитывать, что данный режим по заверениям Google, разработчика операционной системы Android, несколько замедляет работу телефона.
Сохранение тем
Теперь всё работает, но если пользователь обновит страницу, то его тема снова станет светлой. Чтобы это исправить, нам понадобится немного PHP. В самое начало страницы добавьте такой код:
PHP
Здесь запускается сессия, а потом проверяется существование элемента theme в супермассиве _SESSION. Если его нет, то он объявляется со значением light — это и есть сохранённая тема, которая хранится в браузере пользователя.
Изменим подключение стиля так, чтобы по умолчанию загружался сохранённый файл:
HTML + PHP
Теперь нужно сделать так, чтобы при смене темы отправлялся запрос другому php-файлу, который и будет менять $_SESSION. Начнём с самого файла, который назовём themes.php:
PHP
Этот файл получает запрос, а потом, если в запросе содержится параметр theme со значением light или dark, меняет сохранённый стиль.
Остаётся только дописать функцию, которая будет отправлять этот запрос, — ту самую Save():
JavaScript
Теперь при обновлении страницы тема не будет меняться.
Как включить темный режим в Firefox с помощью темной темы
В Firefox Nightly (скачать) появилась возможность использовать темный режим Windows 10 для приложений. Однако Firefox Nightly представляет собой бета-версию для разработчиков и не является окончательным релизом. Если вы не хотите иметь дело с «не допиленной» версией браузера, активируйте темную тему в Firefox, который вы привыкли использовать. Для этого:
1. Откройте меню Firefox и выберите «Дополнения»;
2. Кликните на опцию «Темы» слева, и Firefox предложит вам три встроенные темы (по умолчанию, светлую и темную);
3. Нажмите на «Включить» справа от темы «Темная», и все элементы интерфейса браузера (панели инструментов, меню и пр.) станут черными или темно-серыми.
Темой по умолчанию в Firefox является светлая, соответствующая настройкам темы Windows. К примеру, если вы используете для Windows 10 цветную тему, титульная строка в браузере также будет отображаться в соответствующем цвете.
При использовании светлой темы все элементы интерфейса браузера отображаются в светло-сером цвете. Титульная строка, панель инструментов, меню – все станет светло-серым. Даже если вы настроили цветную тему для Windows 10, все элементы Firefox останутся светло-серыми.
Темы затрагивают только элементы интерфейса, такие как меню, вкладки, панель инструментови пр. Как сделать темными еще и веб-страницы, мы расскажем чуть позже.
Для того чтобы отключить темную тему и вернуться к настройкам по умолчанию, нажмите на «Отключить» справа от опции «Темная». Если вы хотите включить светлую тему, нажмите на «Включить» возле соответствующей опции.
Для того чтобы выбрать другую тему, в меню слева нажмите на опцию «Получить дополнения».
ПО ТЕМЕ: Как включить встроенный антивирус в Google Chrome и проверить компьютер на вирусы.
Как сделать темную тему в Tik Tok
К сожалению, в приложении социальной сети не предусмотрено способов, позволяющих включить темную тему в Тик Ток. По этой причине владельцам смартфонов приходится выкручиваться и искать новые способы для решения поставленной задачи. Ниже приведем инструкции для разных девайсов.
Как сделать для Андроид
Сначала рассмотрим, как сделать черный Тик Ток на Андроид и тем самым привести приложение в соответствие со своими желаниями.
Метод №1:
- Войдите в «Настройки».
- Зайдите в раздел «Экран и яркость».
Переместите тумблер «Темный режим» в правую сторону.
Отметим, что такая функция для темной темы есть только у смартфонов с 10-й версией Андроид. При этом рабочий стол и приложения меняют фон. Но отметим, что интерфейс Тик Ток может не измениться. В таком случае попробуйте другие варианты.
Метод №2:
Зайдите в «Настройки».
- Найдите пункт «Специальные возможности» и войдите в него.
- Снова зайдите в «Специальные возможности».
Опуститесь вниз до пункта «Инверсия цветов», а после переместите тумблер в правую сторону.
Метод №3:
Включение такой опции очень удобно вечером и ночью. Многие активируют такое оформление, чтобы сделать минималистичный дизайн. Если же он не нравится, темную тему в любой момент можно отключить по обратной схеме. Отметим, что пользоваться опцией изменения цвета долгое время не желательно, чтобы не испортить зрение.
Как сделать на Айфоне
Теперь рассмотрим, как сделать Tik Tok черным на iPhone. Здесь также существует несколько вариантов, позволяющих решить поставленную задачу.
Метод №1:
- Зайдите в «Настройки».
- Перейдите в «Экран и яркость».
Переведите нужный тумблер в правую сторону, чтобы сделать темную тему в интерфейсе и Тик Ток.
Метод №2:
Для последних версий Айфона можно поступить еще проще — войти в параметры Тик Ток и сделать темную тему путем перемещения тумблера вправо.
Но отметим, что такая настройка встречается далеко не во всех версиях.
Альтернативный вариант
Если рассмотренные способы не помогли, можно поставить темную тему в Тик Ток другим способом. Он может подойти для Айфона или смартфона с Андроид. Сделайте следующие шаги:
- Откройте приложение Тик Ток.
- Найдите в нем поле с увеличительным стеклом.
- Введите в него igdarkmode.
- Найдите нужный твик и жмите на него.
- Кликните на кнопку «Изменить» и «Установить».
- Подтвердите операцию.
- Перезагрузите телефон.
После выполнения этой опции в Тик Ток можно активировать нужную опцию в настройках.
В чем секрет популярности темной темы
Найти точного ответа на этот вопрос у меня не получилось. Я очень хотел найти мнения психологов, маркетологов, дизайнеров, да кого угодно, хоть НЛПшников, будь они неладны, но внятного мнения так и не увидел. Пришлось ходить по форумам, комментариям и нашему Telegram-чату и собирать мнения простых людей. В итоге, вот до чего я дошел в своем поиске.
Темная тема на OLED дисплее
В первую очередь, все говорят, что темная тема хороша на OLED-экранах, которых в последнее время становится все больше. Тут я могу только полностью согласиться. Это действительно смотрится эффектно. Особенно в полной темноте, когда буквы на экране буквально парят в воздухе. В остальных случаях разница не настолько заметна. Просто ты лучше видишь, что у тебя четкий черный цвет.
Настроили бы смартфон так? Или белый фон лучше?
Темная тема бережет глаза
Считается, что экран с темной темой не просто хорошо выглядит, но и бережет глаза, если пользоваться им в темноте. Как раз из-за того, что в глаза не бьет белый поток света, как из прожектора. Тут немного спорно, так как многие все равно утверждают, что их глаза даже при использовании темной темы устают от экрана в темноте. Кроме этого пока никто не смог нормально опровергнуть информацию о том, что OLED-экраны в принципе вреднее для глаз, чем IPS из-за бОльшего мерцания.
Пока меньшим из зол для глаз при использовании смартфона в темноте является выбор ночного режима с приглушенным синим спектром на IPS-экране. А еще лучше просто не пользоваться в экранами в темноте. Даже телевизор и компьютер сильно портят зрение, когда бьют из темноты ярким встречным потоком. Когда в помещении светло, глаз сам адаптируется к яркому освещения и не так сильно напрягается. С этим можно спорить, но со временем действительно начинаешь это чувствовать. Если кто-то говорит, что у него такого нет, надо просто немного подождать — появится.
Темная тема выглядит стильно
Кроме описанных выше преимуществ по мнению пользователей, есть еще одно. Оно заключается в том, что темная тема выделяет его владельца на фоне остальных. Хотя в последнее время ситуация немного изменилась, но многим все равно нравится, как выглядит черная картинка на экране смартфона. Есть в этом что-то современное и прорывное. Так думают многие.
В целом это действительно выглядит стильно.
Темная тема более информативная
Столкнулся я и с мнением, что темная тема, если она хорошо прорисована, является более информативной. Сторонники этого мнения утверждают, что это эволюционное развитие интерфейса, которое позволяет считывать информацию быстрее и правильнее. Возможно, в этом что-то есть, но на счет развития не очень согласен. Темная тема у меня была еще на КПК HP iPaq 4700 около пятнадцати лет назад. Тогда никто не говорил, что это тренд будущего. Просто люди читали книги с темной подложкой, если им это нравилось. Сейчас мало что изменилось, кроме трендов и увлечений.
С другой стороны, нет ничего плохого в том, что дизайнеры пробуют и придумывают что-то, что нравится людям. Хотя, я больше склонен к тому, чтобы дизайнеры сами предлагали инновации, а не слушали толпу, которая зачастую сама не знает, что хочет. В итоге может получиться, как в анекдоте про глухонемого деда, который поймал золотую рыбку и теперь у него есть гитара, грудь и лыжные палки.
Так может получиться, когда дизайнеры и разработчики идут на поводу у пользователей.
Как сделать темную тему ВК на ПК
С телефоном все просто и понятно, разработчики молодцы, что предоставили такую полезную и популярную функцию, а что если пользователь хочет сделать темную тему ВК на компьютере? Тут все сложнее и без вспомогательных средств не обойтись.
И в качестве этих вспомогательных средств выступают расширения для браузеров, которые позволяют сделать красивый дизайн ВК в черных тонах:
Список расширений, позволяющих включить темную тему в браузере Google Chrome:
- VK Styles
- VKTop
- Темная тема для ВК
Черная тема ВК для Яндекс браузера
Темная тема для ВК в Яндекс браузере делается с уже упомянутыми расширениями для Google Chrome:
- VK Styles
- VKTop
- Темная тема для ВК
Какими будут интерфейсы будущего
Ни для кого не секрет, что все идет к повсеместному внедрению AR в нашу жизнь. В чем-то это действительно будет удобно, например, при использовании очков для получения дополнительной информации, но где-то проще будет пользоваться по старинке. В любом случае, в то, что со временем интерфейсы станут прозрачными, в целом верится.
Проблема в том, что даже при прозрачном интерфейсе надо будет делать подложку под буквы для того, чтобы они лучше читались. Вот и вопрос, какой она будет. Мне кажется, что, скорее всего, она будет полупрозрачной, а ее оттенок будет адаптивным и станет подстраиваться под окружающие объекты. Если подложки не будет, то в некоторых случаях считывание информации будет тем еще челенджем.
Устанавливаем тёмную тему на Андроид 10?
Если же у вас Android 10, как у меня, то путь к тёмному экрану окажется другим. Итак, делаем следующее:
- Кликнем по ярлыку «Настройки»;
- Переходим по вкладке «Экран»;
- После этого кликнем по ярлыку «Тёмный режим»»;
- Теперь у нас данная страница приобретает следующий вид;
- Войдём в любую страницу телефона, и видим, что она приобрела тёмный вид, а буквы стали белыми;
- При этом главная страница смартфона может быть довольно светлой, если вы на неё установили светлую тему.
После установки тёмного фона, большинство деталей страницы будут стараться подделаться под тёмный фон. Но, у тёмной темы есть и недостатки. Давайте их рассмотрим.
Как сделать темную тему с помощью сторонних ПО
Если установить «мрачный» оттенок экрана вышеописанным способом не удалось, можно прибегнуть к помощи сторонних приложений. Реализовать отсутствующую функцию способно множество приложений, доступных для скачивания в Google Play. Такой вариант считается универсальным и подходит для любой версии ОС Андроид. Подобный софт полностью бесплатный и по отзывам абонентов работает исправно на любых устройствах.
Программа | Характеристика |
Черная и серая тема |
После скачивания и установки стандартная тема устройства будет изменена, иконки станут отображаться с инверсией цвета. Однако лаунчер обеспечивает стабильную работу устройства без вылетов, зависаний и снижения скорости. Приятным бонусом является отсутствие рекламы. |
Dark Ponder Theme |
Создана специально для любителей готики, и позволяет всего лишь изменить стиль рабочего стола. Чтобы тема работала корректно, после запуска приложения необходимо установить СМ Лаунчер. Программа изобилует рекламой, что является ее единственным недостатком. В остальном же нареканий по использованию данной темы нет. |
Pure Black Launcher Theme |
Довольно удобный софт, позволяющий изменить не только внешнее оформление дисплея, но и заменить официальный черный интерфейс. Достоинством является быстрота и плавность работы. Чтобы включить тему потребуется скачать МЕ Лаунчер. Загрузить его можно с сайта разработчика или из Google Play. |
KateMobile
Чаще его устанавливают поклонники социальной сети ВКонтакте. Одной из основных причин, является реальная возможность без труда изменить в ней тему.
Чтобы сделать фон темным, действуем по следующей схеме:
- Зайдя в Play Маркет, вбиваем в поисковой строке «KateMobile для ВКонтакте», нажимаем «Установить».
- Далее, заходим в приложение, вводим свои данные, открываем раздел «Настройки». Он расположен в правом верхнем углу.
- В появившемся списке находим вкладку «Внешний вид», затем переходим на «Тема оформления».
- Появятся специально разработанные фоновые варианты. Просто нажимаем на подходящий для себя.
Читайте еще: Что делать, если пропало безопасное извлечение устройства в Windows
Пока что это все известные способы для владельцев смартфонов. И как видите, сделать тёмную тему в ВК на операционную систему Андроид очень легко, быстро, само действие не займет больше 5 минут.
Как сделать темную тему Ватсап
Разработки подобного ведутся с 2018 г. Программисты показывали, как выглядит черный цвет на айфонах, получилось довольно стильно: насыщенный серый фон, контрастный шрифт белого и серого оттенков.
Но владельцы андроидов могут не расстраиваться. Есть простая хитрость, как поставить черный вид на ватсап.
1. Зайдите в приложение.
2. Нажмите на 3 точки (правый угол экрана).
3. Выберите “Настройки” — “Чаты” – “Обои” – “Сплошной цвет“.
4. Выберите черный фон и нажмите “Установить“.
Внешний вид чата сменится, но само приложение останется привычного зеленого цвета.
Есть совсем экзотический способ поучить dark версию экрана на Whatsapp. Нужно написать письмо разработчикам, подтвердив свое согласие на участие в тестировании дарк-опции. Это не стопроцентная гарантия, но шанс есть у каждого.
Как включить темную тему на Андроид
Сначала посмотрим, как включается темная тема Android 10. Этот функционал встроен в операционную систему по умолчанию. Поэтому здесь никаких проблем не будет.
Пройдите следующие шаги на телефоне с Android 10 или более поздних версий:
- Войдите в настройки мобильного телефона.
- Нажмите на раздел «Экран».
- В разделе «Экран» в опции «Темная тема» передвиньте переключатель в положение «Включено».
- На устройстве заработает темная тема оформления.
Теперь, черный режим станет использоваться по умолчанию в интерфейсе системы и в тех приложениях, в которых имеется поддержка темной темы оформления.
На некоторых устройствах темный режим автоматически включается при падении заряда батареи до низкого уровня, чтобы использовать режим энергосбережения. Изменить эту опцию можно в настройках телефона.
Если на экране устройства отображаются обои, выбранные пользователем в настройках телефона, а там нужен темный фон, загрузите на мобильник подходящее изображение с черным фоном, а затем выберите его в качестве обоев для рабочего стола.
Что такое темная тема
На самом деле, это был своего рода пиар-ход, рекламирующий новые возможности ВК. Написав этот комментарий, вы могли получить доступ к новой популярной теме. К счастью, сейчас на мобильных устройствах она доступна по умолчанию — достаточно просто включить ее в настройках.
С мобильными устройствами на сегодняшний день все более менее понятно. Но можно ли сделать фон ВК черным на компьютере?
Темная тема ВК на компьютере
Сразу ответим — сделать черный фон в ВК на компьютере официально нельзя. Возможно когда-нибудь разработчики и добавят эту настройку в полную версию сайта. Ну а пока мы можем воспользоваться для этого специальными расширениями браузеров.
VK Helper
Это одно из самых популярных расширений, которое не только позволит установить темную тему в ВК на компе, но и сделает доступными для вас массу других настроек.
Совместимо оно со всеми самыми популярными браузерами, а это значит, что темная тема ВК на ПК станет доступна в Яндексе, Goole Chrome, Opera и Firefox и другими, работающими на движке cromium. Скачать и установить его можно с официального сайта vk-helper.pro/pages/download.html.
Перенесите архив с расширением на рабочий стол своего ПК, чтобы его было проще найти, распакуйте его.
- После этого откройте браузер и перейдите в настройки. Как правило это делается нажатием на значок в правом верхнем углу страницы (это могут быть три черточки, шестеренка или вертикальные точки).
- Вызовите следующие пункты меню «Дополнительные инструменты» — «Расширения».
- В появившемся окне выберите «Загрузить распакованное расширение», и через открывшийся проводник найдите папку с плагином.
- По завершении установки, вы окажетесь на официальной страничке расширения, где сможете найти полное руководство по его применению. Теперь давайте выясним как сделать темную тему ВК на компьютере.
- Справа от адресной строки в браузере появится новый значок в виде букв VK — кликните по нему.
- В появившемся окошке выберите «Добавить аккаунт».
- Далее введите свой логин и пароль от своего аккаунта.
- После того, как вы окажетесь на своей страничке, вновь нажмите на значок расширения.
- В появившемся окне выберите «Настройки».
- Прокрутите страничку до раздела «Интерфейс».
- Возле строчки «Ночная тема» активируйте галочку.
После этого черная тема ВК для ПК будет автоматически запущена. Если вы захотите вернуть страничке прежний вид, то нужно будет просто зайти в настройки еще раз и убрать соответствующую галочку.
Stylish
Stylish — это еще одно расширение для браузера, открывающее для вас возможность настройки интерфейса на любой вкус. Оно позволяет изменять темы любых сайтов, разработанных с помощью языка разметки. А это значит, что с его помощью вы сможете как сделать темную тему ВК на ПК, так и на любом другом сайте.
- Появится дополнительное окошко, в нем также кликните «Установить расширение».
- Справа от адресной строки в браузере появится значок плагина в виде букв S на радужном квадрате.
- Выполните вход в свой аккаунт с ПК.
- Кликните по значку плагина и выберите пункт «Найти больше стилей для этого сайта».
- После этого откроется страница с различными настройками. Здесь вы сможете как поставить темную тему, так и любую другую в ВК на ПК.
- Здесь на выбор представлено много вариантов, по названиям вы поймете какие из них активируют черный фон.
- Кликните «Get Style», чтобы включить темный фон.
- При желании вы можете воспользоваться кнопкой «Customize Settings», чтобы произвести дополнительные настройки.
- После чего нажмите кнопку «Install Style».
Вот как можно сделать ВК черным на ПК благодаря этому плагину. Если вы захотите вернуть первоначальные настройки, то расширение можно будет просто отключить. Сделать это можно нажав на кнопочку, которая находится в верхней строчке, при нажатии на значок плагина (Stylish On — Stylish Off).
Dark theme for VK
- В появившемся окне нужно еще раз нажать «Установить расширение».
- Теперь при входе свой аккаунт на ПК вы увидите темную тему во всей красе.
Удобство этого расширения состоит в том, что оно содержит в себе одну единственную функцию, призванную включать и выключать черный фон в ВК на ПК. Просто кликните по значку плагина справа от адресной строки и выберете ту цветовую схему, которая для вас сейчас актуальнее — светлая или темная.
Как сделать темную тему с помощью стороннего ПО
Из-за неоспоримой популярности черного режима, разработчики софта уделяют ему большое внимание. Причем они заботятся не только о тех, кто использует актуальный Андроид, но и о людях, у которых до сих пор стоит условный Android 7
В Google Play можно найти массу приложений, позволяющих активировать темную тему даже в том случае, если она не предусмотрена на программном уровне. Предлагаем ознакомиться с полным списком подобных программ и загрузить понравившуюся.
Наименование | Описание | Рейтинг |
Темный режим |
Самая популярная программа подобного типа, которую оценили уже 115 тысяч раз. Приложение позволяет не только самостоятельно включить черный интерфейс, но и активирует его самостоятельно. | ★★★★★ |
Темный режим (Avalon Inc) |
Бесплатная программа, предназначенная для того, чтобы активировать ночной режим в отдельных приложениях. | ★★★★★ |
Черная и серая тема |
Простое, но довольно полезное приложение, главная задача которого – запустить темную тему. А еще одним заметным плюсом программы является то, что она не замедляет даже старый Андроид. | ★★★★★ |
Глянцевая черная тема |
Своеобразный софт, который не просто меняет светлую тему на темную, но и устанавливает собственные иконки кислотного цвета. | ★★★★★ |
Темная тема Ponder |
Далеко не самая популярная программа с затемнением, но зато абсолютно стабильная в работе. | ★★★★★ |
Чтобы разобраться в установке черного интерфейса при помощи стороннего приложения, не придется долго ломать голову. Достаточно просто запустить программу и нажать кнопку включения. После этого сразу же заработает стильная тема от разработчиков.
Подбор цветов в тёмной теме
Мы начали примерять цвета тёмной темы на макетах главных экранов, чтобы определиться с основными используемыми оттенками. Для фона используем Gray 900 — цвет на один тон светлее чёрного, чтобы понизить контраст между фоном и текстом. Текст по этой же причине выбрали не белый, а Gray 100.
Все главные цвета для тёмной темы были определены по той же градации, что и в светлой. Поставив в ряд идущие друг за другом по яркости стили, мы подобрали соответствующие значения, инвертировав их и сместив уровень контраста на один тон. Затем протестировали цвета на макетах, убедившись, что все элементы сохранили читаемость.
Таблица основных используемых цветов
В тёмной теме мы использовали меньшее количество цветов: синяя шапка и синие кнопки стали монохромными, спектр используемых серых оттенков сузился, а холодно-серая палитра перешла в обычный серый, сохранив контраст. Акцентные элементы остались синими — для тёмной темы был подобран более светлый и менее насыщенный оттенок.
Были и проблемные места, например модальные окна и карточки. Затемнение под ними не хотелось инвертировать в белый, и без дополнительных мер в тёмной теме обычный фон контента сливался бы с окружением. Чтобы этого избежать, для модальных карточек мы подобрали фон на тон светлее обычного, а также добавили обводку (пока только на Android), чтобы лучше отделять их от нижнего слоя.
Такие примеры показали, что нам нужна более гибкая система при реализации тёмной темы.
Техническая реализация
Подобрав на макетах соответствующие цвета для тёмной темы, мы стали переносить это дело в код.
Как мы убедились на макетах, просто внести соответствия цветов из светлой темы в тёмную — не наш вариант. Белый не везде заменится на чёрный: у элементов одного и того же цвета в светлой теме могут быть различные цвета в тёмной. Нам потребовался точный контроль над тем, как каждый элемент или группа общих стилей перекрашиваются в тёмной теме. Элементы должны менять цвет в соответствии со смыслом, вложенным в название переменной.
Мы определились со следующим подходом, где токен — это уникальное название элемента или группы элементов (например, background_content), а его значением может быть только цвет из фиксированной палитры (например, White). Мы сделали схему в JSON-формате, внутри которой прописаны все токены с их значениями в каждой теме.
Такая схема очень похожа на CSS-файл с идентификаторами элементов и их стилями, но в формате JSON.
Как выглядит схема с токенами background_content и text_primary
Всё, что у нас получилось, доступно на GitHub:
- палитра со всеми цветами и их уникальными названиями;
- схема со всеми токенами и их значениями в светлой и тёмной темах.
Из JSON-схемы разработчики на всех платформах генерируют код в необходимом для себя формате. Об этом с примерами кода на iOS можно почитать на слайдах Антона Спивака с его выступления на CodeFest. Доклад о реализации на Android с выступления Арсения Васильева на AppConf можно посмотреть здесь.
Напомним, что мы решили сделать строгую систему, где можно указывать цвет только из внутренней палитры, то есть в значении токена нельзя прописать произвольный HEX-код цвета. К значению токена можно добавлять параметр alpha для указания дополнительной прозрачности цвета. Этот параметр мы планируем использовать для добавления отключённого состояния и состояния при касании у контролов, чтобы не добавлять в палитру те же цвета с другой прозрачностью.
На данный момент в схеме уже больше 150 токенов. Есть как глобальные переменные, так и полностью расписанные стили каждого контрола, а также уникальные случаи, которые не поддались бы более логичному объединению, например стили бабблов из сообщений.
Примеры часто используемых токенов
Достаточно важный момент — необходимо ясно и коротко называть токены, чтобы легко и быстро их находить. Принцип наименования выбрали следующий — от большего к меньшему. По такой логике в глобальных стилях сначала указывается общий тип, а у компонентов по порядку идут название, состояние, и в конце конкретный перекрашиваемый элемент. Токен по возможности должен быть универсальным — отражать тип и семантический смысл, а не его местоположение и содержание в конкретном случае.
Работа с графикой
Весь набор иконок, используемый в приложениях, нарезан в белом цвете, и их можно легко перекрашивать, применяя токен из схемы.
Сложности возникли с двуцветными иконками: иконки, которые накладывались поверх аватарок в виде бейджей и которым нужна была белая обводка, нарезалась в двух цветах. Перекрасить такую было бы непросто. Подобные иконки мы разбиваем на два слоя, передний и фоновый, который применяется как маска и вырезает необходимую фигуру.
На Android также есть 9-patch графика, которая используется, например, чтобы отрисовывать карточки с тенями. Тень в них чёрная, а заливка карточки белая. Чтобы не разбивать и здесь графику на два слоя, разработчики воспользовались режимом наложения цвета Multiply — таким образом чёрная тень не перекрашивается, и цвет применяется только на белом участке картинок, что нам и было необходимо.
Когда появится темная тема для всех приложений?
Проблема распространения темной темы в том, что недостаточно просто сделать белый фон черным, а черные буквы белыми. Для полной адаптации надо проделать большую работу. Потребуется не только работа дизайнера, но и программиста. Они должны будут придумать и реализовать новый дизайн и работу элементов. Все должно быть видно и в некоторых случаях приложения придется буквально написать заново.
Многие крупные продукты уже сделали это, но некоторые полулюбительские приложения точно еще долго будут адаптироваться или просто выпускать интерфейс, от которого будет рябить в глазах и болеть голова. Я лично встречал такие примеры. При этом, если приложения еще как-то позволяют адаптироваться, то некоторые сайты, которые поддерживают темную тему, это настоящая боль. Даже мой не особо требовательный дизайнер внутри стучит отверткой по батарее и просит выключить это уродство.
Темная тема не всегда смотрится хорошо.
Есть примеры приложений, которые хорошо работают с темной темой, но адаптированы как-то не полностью. Например, приложения YouTube и Яндекс.Карты на iOS при запуске выдают заставку белого цвета и только потом открывают темный интерфейс. Такой колорит мне вообще непонятен.
Вывод
На первый взгляд разработка темной темы не является слишком сложной задачей. Многие ее воспринимают как тренд и стремятся внедрить на свой ресурс без веских причин. В первую очередь необходимо провести тщательный анализ вашего продукта. После этого – выдвинуть действительно значимые аргументы для добавления темной темы.
Dark Mode больше подходит для приложений. Как правило, они имеют минималистичный дизайн и небольшое количество цветов. На сайтах реализовать темную тему сложнее, ведь на это влияет обилие контента: красочные изображения, сочетание нескольких цветов, использование различных шрифтов и т. д.
Перейти на «темную сторону» – смелое решение. Если решились на такой шаг, надеемся, вы нашли веские причины для этого.