Почему так мало приложений для iOS поддерживают ночную тему
Ночная тема, которую Apple добавила в iOS 13, была, пожалуй, одним из самых желанных нововведений. Несмотря на то что одни хотели снизить нагрузку на свои глаза в условиях недостаточного освещения, а другие - просто сэкономить ресурс аккумулятора, ночная тема удовлетворила потребности и тех, и других. В Купертино очень ответственно подошли к ее созданию и позволили затемнять не только оформление операционной системы, но и интерфейс сторонних приложений, разумеется, при наличии соответствующей поддержки. Вот только разработчики почему-то не очень торопятся внедрять эту самую поддержку.
Думаю, вы уже успели обратить внимание, что поддержка ночной темы появляется в популярных приложениях довольно медленно. Из-за этого у многих складывается впечатление, что разработчики просто халатно подходят к своим обязанностям и не спешат оптимизировать свой софт должным образом. Однако, если разобраться, можно понять, что это не совсем так, или, вернее, совсем не так. Просто для того, чтобы добавить в приложение ночную тему, недостаточно просто применить черную заливку. Нужно еще и особым образом адаптировать его.
Ночной режим в iOS
Несмотря на то что Xcode, по сути, позволяет включить ночную тему буквально в два клика, выпускать это в релиз все равно нельзя. Да, среда разработки окрашивает какие-то элементы интерфейса в черный цвет и даже инвертирует шрифты, чтобы их было лучше видно на темном фоне, но ничего путного из этого все равно не выходит. Поэтому студиям разработки приходится привлекать дизайнеров, чтобы те сначала сели и проанализировали весь интерфейс, потом сформулировали план редизайна и, наконец, реализовали то, что было запланировано.
Но это только на словах звучит легко. На практике все обстоит довольно непросто. Из-за того что интерфейс большинства приложений имеет не статичное оформление, а анимированное, чаще всего его вообще приходится перерисовывать заново. Например, разработчик фитнес-приложения Reps &038; Sets заявил, что у него ушло 40 часов чистого времени на простое перекрашивание 100 пиктограмм и 300 изображений, используемых в интерфейсе приложения. При этом термин «перекрашивание» здесь употреблен лишь постольку-поскольку. Все-таки, чтобы результат не выглядел плоским, помимо применения заливки разработчику пришлось еще и поработать с тенями, бликами и другими компонентами картинки.
В чем сложность ночной темы
А ведь есть еще и логотипы, которые являются зарегистрированными торговыми марками. Поэтому попытки как-то видоизменить их оформление автоматически являются юридически значимыми действиями, которые необходимо заново регистрировать, не говоря уже о том, что некоторые логотипы в принципе не поддаются оптимизации под темную тему. Вы только представьте, как мог бы выглядеть логотип Facebook, который переиначили в соответствии с особенностями темного интерфейса. Это же просто ужас.
Окончание работы над ночной темой вовсе не равно успеху. Очень важно добиться того, чтобы все элементы приложения выглядели и работали точно так же и в дневной теме. Проще говоря, при переключении тем оформление приложения не должно меняться кардинальным образом - меняться должны только оттенки интерфейсных компонентов. То есть пользователи не должны замечать преимуществ у одной версии перед другой, поскольку из-за этого многие могут начать пользоваться либо только темной темой, либо только светлой, хотя их предназначение состоит только в адаптации под условия окружающего освещения.
Но даже после того как все работы по разработке и отладке завершены, теперь на разработчике, который адаптировал свое приложение под ночную тему, будет висеть пожизненное ярмо. Ведь отныне при проектировании обновлений ему придется всегда учитывать, как оно будет работать в светлой версии и в темной, при необходимости подстраивая все изменения под особенности включенной темы. Поэтому, если разработчик вашего любимого приложения еще не добавил ночную тему, не вините и не поторапливайте его. Возможно, он уже и так работает в поте лица, чтобы удовлетворить ваши требования. iOS 13ПриложенияРазработка приложений для iOS