iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
980 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
🔨 Переосмысление цветовой системы
Дизайн система? Нет, цветовая система! Очень интересный пример использования системы типов для работы с цветами:
🔵Система проектирования предоставляет цвета для фона, переднего плана и границ.
🔵Каждый цвет может находиться в четырех состояниях: обычном, зависшем, отключенном и нажатом.
🔵Исторически использовался подкласс UIColor, но он не работал с динамическими темами

Проблемы UIColor:
🔴UIColor не предназначен для создания подклассов.
🔴Отсутствие безопасности типов: любой экземпляр UIColor можно использовать где угодно.
🔴Повышение уровня кастомизации требует правильного использования цвета.

Новый подход с фантомными типами:
🟢Введены фантомные типы для обеспечения безопасности ввода на основе контекста.
🟢Определен протокол с тремя перечислениями для ролей цвета.
🟢Создана типобезопасная оболочка для UIColor, обеспечивающая правильную цветовую роль.

У автора большие ожидания от идеи системы типов в Swift, я же надеюсь что это не уйдет дальше идеи и мы останемся с текущей концепцией семантических цветов - accentColor, primary, secondary. Но сама по себе идея использования системы типов для реализации безопасного использования имеет шанс на жизнь

#swift #color #system
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔43