Большой плюс дизайн-экосистемы — это возможность заново использовать код. Конечно, мы хотим написать код один раз, сэкономив время на внедрение. Однако нужно помнить, что и внедрений будет не одно и не два. UI Kit — это не железобетонная плита: его обновление будет продолжаться и после того, как реализованы конечные системы (а иногда даже после их перехода из активной разработки в фазу сопровождения).
Поэтому важно сделать так, чтобы разработчики имели возможность узнавать об обновлениях UI Kit, понимали, что именно изменилось и насколько сложно будет внедрить эти изменения в их проект, могли оценивать и планировать работу по внедрению этих изменений.
Помимо изменений в дизайне возможны и ошибки в CSS, воплощающем проект. Эти ошибки лучше исправлять глобально, а не в каждой системе по отдельности. Решение этой задачи достаточно очевидное: создаём библиотеку, реализующую концепции разработанного дизайна. Физически это выглядит как тема для Bootstrap, упакованная в приватный NPM-пакет. Разработчики устанавливают её поверх Bootstrap и получают нужный им дизайн.
Спасибо за статью.
http://www.material-ui.com/#/components/app-bar
Вот такое решение может быть аналогом вашего UI Kit ? (не считаю привязанности к конкретному заказчику)
Добрый день!
Рады, что статья была полезной.
Вся суть как раз в привязанности к заказчику. Без нее UI kit превращается в безликую библиотеку компонентов.
Разница между такими библиотеками и дизайн-системами в том, что библиотеки дают конструктор. Дизайн-система же подразумевает наличие индивидуальных в глобальном плане, но общих в рамках компании правил взаимодействия с пользователем.
Чтобы понять эту разницу можно посмотреть вот эти дизайн-системы: https://github.com/alexpate/awesome-design-systems. В них во всех есть описанная и довольно четкая «дизайн-философия».
молодцы!
последнее время стало всё больше статей появляться на эту тему, правда пока в основном не русскоязычном сегменте.
к сожалению, наверно самым сложным этапом в создании подобной системы является, как раз, решение о её создании и выделение ресурсов.
как правило, понимания в надобности нет ни у руководства компании, ни у разработчиков (программистов).
У последних, конечно, в меньшей степени, но это факт: дизайн мышление пока слабо развито в среде разработчиков.
А вот у руководства это в первую очередь связано с затратами и, зачастую это воспринимается как какая-то "хотелка" дизайнера-перфекциониста, которая будет дорого стоить.