Атомарный дизайн. Atomic Design с использованием Sketch – это будущее разработки продуктового дизайна

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

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

Во избежание подобных ситуаций команде просто необходима система правил по разработке дизайна. В последнее время для систематизации процесса разработки сайтов нередко используют методологию «атомарного дизайна », предложенную в 2013 году Брэдом Фростом . Эта методология полезна не только для крупных компаний, но и для тех, кто работает над сайтами в одиночку, ведь она помогает значительно упростить процесс разработки. Сегодня мы постараемся разобраться, что такое атомарный дизайн и как эта методология поможет вам оптимизировать рабочий процесс.

Что такое атомарный дизайн?

Как утверждает сам создатель методологии, идея атомарного дизайна пришла к нему из химии. Как известно, в природе все вещества состоят из атомов и молекул. Подобным образом Фрост рассматривает интерфейсы, ведь они тоже состоят из определенных компонентов. Данная методология предлагает дизайнеру работать не над целым интерфейсом сразу, а создать сначала его компоненты, постепенно объединяя их в блоки и создавая дизайн. Одним словом, методология «атомарного дизайна» требует от разработчика умения мыслить от меньшего к большему и комбинировать готовые элементы.

В методологии атомарного дизайна выделяют 5 уровней разработки:

1. Атомы

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

Сами по себе атомы бесполезны, но, объединяя их в блоки, дизайнер постепенно придет к целостной структуре интерфейса. Уже на стадии атомов разработчику стоит позаботиться о том, чтобы все элементы соответствовали определенному стилю и сочетались между собой.

2. Молекулы

Молекулы - это комбинации двух и больше атомов; наименьшие блоки, из которых состоит дизайн. К примеру, объединив несколько полей ввода, кнопок и иконок мы получим готовую форму. На этой стадии преимущества атомарного подхода уже более понятны - ведь очевидно, что молекулы можно использовать повторно, а это существенно сокращает время разработки.

3. Организмы

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

4. Шаблоны

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

5. Страницы

Страница - это шаблон, заполненный реальным контентом. Именно на стадии страниц можно проверить, как выглядит контент, читабелен ли он, удобна ли страница для пользователей. В случае обнаружения каких-либо неточностей можно всегда вернуться назад и изменить конкретный атом, молекулу или организм (что гораздо удобнее, чем работать с целой страницей).

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

В следующей статьей вы узнаете о преимуществах и применении атомарного дизайна.

TL; DR: Атомарный дизайн с использованием Sketch - это будущее продукции дизайна.

Иди со мной

Брэд Фрост, потрясающий человек, которого вы видите на видео в начале статьи, в значительной степени несет ответственность за систему, о которой здесь пойдет речь. Атомарный дизайн был разработан в ответ на адаптивный, цифровой мир, в котором мы живем.

Мы все еще работаем над стилем руководства, элементарными принципами, коллажом и многими другими инструментами, чтобы сделать наши проекты проще для понимания будущими поколениями. Точно так же, разработчики используют такие инструменты Bootstrap, Foundation, Bourbon и другие, чтобы облегчить им жизнь, когда придет время кодировки. Когда мы идем на компромисс и работаем вместе, жизнь становится намного проще для обеих сторон. Вот в чем смысл Атомарного Дизайна.

Атомарный дизайн не занимается разработкой только одной модели или страницы, речь идет о проектировании огромной системы, а точнее о проектировании ядра этой ​​системы.

1-j1P0pjQtl36QJavv8lHdyw

Из чего состоит Атомарный дизайн?

Атомарный дизайн подразумевает создание частей системы, которые можно объединить, чтобы разработать элементы и шаблоны, которые затем можно использовать снова и снова.

Атомы

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

2 1-SmVWgKY2jdCYOV4dXJNlkg

Молекулы

Молекулы - это составляющие элементы, которые мы строим при помощи атомов. Хотя они и состоят из атомов, молекулы это как раз те самые детали Лего, при помощи которых мы будем строить и проектировать в будущем. Хотя некоторые элементы могут получиться сложными на первых порах, простота является здесь ключевой.

Молекулы включают в себя такие составляющие, как поля формы с лейблами или таблицы с заголовками и столбцами с данными.

3 1-kA-WoT5O0uCgeowzhuSwiQ

Микроорганизмы

Микрооганизмы находятся там, где мы начинаем видеть, как интерфейс образует единую картину. Через объединение молекул мы можем построить более сложные, но повторяющиеся элементы нашей продукции.

Примером микроорганизма может быть заголовок навигации, который включает в себя логотип, навигационные ссылки и поля поиска или кнопку регистрации.

4 1-aL51hsdFw7ugSXXB5HnWZQ

Шаблоны

Шаблоны по сути своей те же самые схемы. Объединив несколько микроорганизмов, мы действительно начинаем видеть большую картину того, что мы строим.

Если высокая точность результата не нужна, это та точка, где мы могли бы легко начать разработку закодированной системы.

5 1-mx-cBDwsz3MkXa-oX_-56g

Страницы

Страницы являются высокоточными версиями наших шаблонов. Конструкция выше будет считаться страницей. Это то место, где даже несведущие ничего в дизайне могут понять, что мы строим.

Страницы не всегда являются необходимыми, но кто не любит красивое визуальное воплощение?

Почему Sketch?

Несмотря на то, что Sketch может быть еще не лидер положения, которыми являются Adobe Illustrator или Photoshop, он по-прежнему уникальный инструмент при работе по методике Атомарного дизайна.

Организация

Sketch - это детище Adobe Illustrator и Photoshop. Мы не отрицаем, что Sketch еще молод, но он по-прежнему очень мощный и, кроме того, его также невероятно легко подобрать и использовать. Вы можете не только делать практически все, что вам когда-либо необходимо было сделать, не пытаясь найти и вытащить инструменты, спрятанные в меню с несколькими уровнями, у вас в наличии высокоорганизованная модель, которая разделена на уровни.

7 1-gyxduSTXDd1K-7eEuW1xHA

Модульность

Sketch является необходимым инструментом для атомного дизайна, потому что с его помощью легко сделать элемент модульным. У вас не только есть уровневая организация, аналогично Adobe Photoshop, вы можете также сделать модульные элементы. В Sketch, эти элементы называются символами.

Создание символа позволяет изменять все стили на одном элементе и наблюдать, как эти изменения происходят во всех подобных элементах, по всему файлу.

Для начала, создайте элемент таким, каким бы вы хотели его видеть.

9 1-QU5UMRKF7jnifIcA0K6RlA

Подсказка: Для того, чтобы элементы с текстом превратились в модульные символы в Sketch, убедитесь, что вы также проверили поле Исключить текстовое значение из символа в панели инструментов справа.

Для этого, во-первых, вы должны выбрать текст внутри символа. Если вы не сделаете этого, вы не увидите опцию в панели инструментов справа.

10 -5iQXZSddoS-OxEm0YfU1Sw

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

11-X9DNHPtyXiBxYEes10u_Iw

Если внутренний текст не то, что вы планируете менять, забудьте про этот шаг. Но помните, что он есть, и это невероятно удобно.

Каждый раз, когда вы захотите разместить один из элементов, которые вы создали, все что вам нужно сделать, это нажать на выпадающем меню Вставка, найти опцию Символы и выбрать символ, который вы хотите использовать в выпадающем меню.

Преобразование в код

Теперь, когда мы создали наш проект, настало время экспортировать элементы в код.

Экспорт в код

Что лучше модульных символов? Экспортировать свои проекты непосредственно в код. Это означает, что вы дизайнеры не должны учиться кодировать, а вы разработчики не должны знать, как ломать активы дизайна. Хотя, вам следует это знать.

Чтобы получить код для элементов, вам сначала нужно убедиться, что они либо объединены надлежащим образом или превращены в символы. После этого, все просто, достаточно нажать правой кнопкой мыши на элементе и выбрать Копировать Атрибуты CSS из выпадающего списка

12-0JSPPy6qdMM6UUUfzH1Zmw

Все, что вам нужно сделать - это скопировать оттуда и вставить код в ваш любимый текстовый редактор.

13-qrSfNi7EmBroFNQoM1zcuw

Убедитесь, что вы учли все необходимые приставки также, потому что они исходят не от Sketch. В противном случае, убедитесь, что вы используете пакет функций, чтобы справиться с ними.

Так же, как Bootstrap или шаблон Foundation, теперь наши элементы в определенном стиле, и все что мы должны сделать, это добавить класс к элементу в нашем HTML.

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

Брэд Фрост и Дэйв Олсон из Pattern Lab создали удивительный пример того, как это выглядит. Оцените.

Использование шаблонных языков

Бонусные баллы для тех из вас, кто окончил изучение языков шаблона и CSS, таких как swig, jade, haml и любой из многих других языков, доступных сегодня.

Многие из микроорганизмов, которые мы спроектировали, станут частичными как только их преобразуют в код.

Таким образом, вы сделали это

Теперь вы можете сделать вид, как будто вы знаете что-то о науке. И в какой-то степени вы действительно знаете. Атомарный Дизайн - наука о дизайне высокого качества.

Создавая модульные, повторяющиеся элементы и модели мы можем экспоненциально ускорить процесс проектирования и разработки. Дело не только в том, как быстро их можно построить, но и в том, как быстро сделать изменения во всей системе.

Проведите немного больше времени, размышляя о ядре системы, ​​и вы как будто вернетесь назад во времени, пока разворачивается этот процесс.

Высоких конверсий!

Атомарный дизайн позволяет нам переключаться между контекстами также, как это красноречиво описал художник Фрэнк. Атомы, молекулы и организмы, из которых состоят интерфейсы, не висят в вакууме. Интерфейсы и страницы в самом деле состоят из маленьких частей. Маленькие части влияют на всю конструкцию в целом, а целое влияет на более мелкие части. Эти два контекста переплетены, и атомарный дизайн признает этот факт.

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

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

Атомарный дизайн предоставляет нам схему для переключения между частями и целым, однако крайне важно повторить, что атомарный дизайн не является линейным процессом . Было бы глупо проектировать кнопки и другие элементы в изоляции, а затем, скрестив пальцы, надеяться, что все сойдется, и получится единое целое. Именно по этой причине пять этапов атомарного проектирования не должны звучать в вашей голове так: «Шаг 1: атомы; Шаг 2: молекулы; Шаг 3: организмы; Шаг 4: шаблоны; Шаг 5: страницы» .

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

# Четкая граница между структурой и контентом

Обсуждение дизайна и контента немного схоже со спором про курицу и яйцо. Марк Боултон объясняет:

У контента должна быть структура, а структура, как и дизайн, влияет на контент. Неправильно говорить «сперва контент, потом дизайн» и «или контент, или дизайн». Они равноценны, поэтому: «И контент, и дизайн». ~ Марк Боултон

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

Атомарный дизайн дает нам язык для обсуждения структуры паттернов UI и контента, который будет в них содержаться. Несмотря на четкое разграничение между структурой контента (шаблонами, паттернами) и самим контентом (страницами), в атомарном дизайне учитывается их влияние друг на друга. Для примера, давайте рассмотрим эту схему:

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

# Что в имени?

На страницах этой книги я уже говорил, что идея модулярности в дизайне и разработке не является чем-то новым. Тогда зачем мы вводим новые термины, такие как атомы, молекулы и организмы, когда можно придерживаться уже установленных: модули, компоненты, элементы, разделы и области?

Столько, сколько я рассказываю об атомарном дизайне, всегда были люди, которые предлагали альтернативные названия для этапов проектирования. Один предлагает: «Почему бы просто не назвать их элементами, модулями и компонентами?», другой: «Почему бы просто не назвать их базой, компонентами и модулями?» Проблема с терминами вроде «компонент» и «модуль» заключается в том, что из одних только названий нельзя понять их иерархию. Атомы, молекулы и организмы подразумевают иерархию, так что любой, у кого есть базовые знания химии, догадается, о чем идет речь.

Давать названия трудно. Те, что я выбрал для этапов атомарного дизайна, отлично сработали для меня и команд, с которыми я работал при разработке UI. Но, возможно, они не сработают для вас и вашей компании. Это нормально. Вот вам подтверждение от команды разработчиков в GE:

При представлении концепций системы проектирования коллегам мы первоначально использовали терминологию атомарного дизайна. Однако, это вызвало недоуменные взгляды. […] Стало очевидно, что для успешной работы в нашей компании мы должны подобрать более подходящую таксономию. ~

В систему таксономии, к которой в итоге пришли ребята, вошли термины: «Принципы», «Основы», «Компоненты», «Шаблоны», «Характеристики» и «Приложения». Имеют ли эти названия для вас больший смысл? Это не важно. Они установили таксономию, которая имела смысл в их компании, но каждый, кто знает принципы атомарного дизайна смог бы эффективно работать с ними.

Термин «атомарный дизайн» воплощает идеи модулярного дизайна и разработки, что делает его полезным и емким словечком для убеждения заинтересованных сторон и общения с коллегами. Но атомарный дизайн не является жесткой догмой . В конечном итоге, любая таксономия, которую вы выберете, должна помочь вам и сотрудникам вашей компании более эффективно общаться для создания отличной системы проектирования UI.

Атомарный дизайн для UI

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

Вы можете использовать методологию атомарного проектирования при разработке интерфейса любого программного обеспечения: Microsoft Word, Keynote, Photoshop, интерфейса банкомата вашего банка, - чего угодно. Чтобы это доказать, давайте применим атомарный дизайн к нативному приложению Instagram.

Дизайн приложения Instagram, разобранный на атомы.

Давайте расщепим интерфейс Instagram на атомы:

  • Атомы. Этот экран пользовательского интерфейса Instagram состоит из нескольких иконок, нескольких текстовых блоков и двух типов изображений: главного изображения и аватара пользователя.
  • Молекулы. Несколько иконок образуют простые утилитарные компоненты: нижнюю панель навигации и панель действий с фотографиями, где пользователи могут лайкнуть или оставить комментарии. В дополнение, простые комбинации из текста и/или изображений образуют относительно простые компоненты.
  • Организмы. Здесь мы видим, как формируется организм фотографии. Он состоит из информации о пользователе, времени публикации, самой фотографии, действий с этой фотографией и информации о ней, в том числе количество лайков и подпись. Этот организм - основа Instagram, поскольку многократно повторяется в нескончаемом потоке сделанных пользователем фотографий.
  • Шаблоны. Мы видим, как компоненты работают вместе в контексте макета. Кроме того, здесь перед нами обнажается структура контента Instagram, в которой особенно выделяется динамический контент: никнейм пользователя, аватар, фотография, лайки и подпись.
  • Страницы. И, наконец, мы видим конечный продукт, наполненный контентом. Это помогает убедиться, чтобы основная система дизайна сложилась и формирует красивый и функциональный интерфейс.

Я нарочно выбрал в качестве примера не сайт, потому что есть тенденция ошибочно относиться к атомарному дизайну, как к подходу при работе с веб-технологиям: CSS, JavaScript и т.п. Позвольте внести ясность: атомарный дизайн не имеет ничего общего с такими узкими веб-темами, как CSS или JavaScript . В первой главе мы говорили о тенденции к модульности во всех аспектах проектирования и разработки. Это фантастическая тенденция, в том числе для CSS и JavaScript, но атомарный дизайн связан с созданием систем проектирования UI, независимо от того, какая технология используется.

Атомарный дизайн в теории и на практике

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

Атомарный дизайн позволяет нам расщеплять интерфейсы на атомы и одновременно наблюдать, как эти элементы объединяются для формирования итоговых интерфейсов.

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

И, наконец, мы узнали, как язык атомарного дизайна дает нам возможность для обсуждения модулярности с коллегами и обеспечивает столь важное понимание иерархии в наших системах проектирования.

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

And much of it focuses on establishing foundations for color, typography, grids, texture and the like. This type of thinking is certainly important, but I’m slightly less interested in these aspects of design because ultimately they are and will always be subjective. Lately I’ve been more interested in what our interfaces are comprised of and how we can construct design systems in a more methodical way.

In searching for inspiration and parallels, I kept coming back to chemistry. The thought is that all matter (whether solid, liquid, gas, simple, complex, etc) is comprised of atoms. Those atomic units bond together to form molecules, which in turn combine into more complex organisms to ultimately create all matter in our universe.

Similarly, interfaces are made up of smaller components. This means we can break entire interfaces down into fundamental building blocks and work up from there. That’s the basic gist of atomic design.

Pages

Pages are specific instances of templates. Here, placeholder content is replaced with real representative content to give an accurate depiction of what a user will ultimately see.

Pages are the highest level of fidelity and because they’re the most tangible, it’s typically where most people in the process spend most of their time and what most reviews revolve around.

The page stage is essential as it’s where we test the effectiveness of the design system. Viewing everything in context allows us to loop back to modify our molecules, organisms, and templates to better address the real context of the design.

Pages are also the place to test variations in templates. For example, you might want to articulate what a headline containing 40 characters looks like, but also demonstrate what 340 characters looks like. What does it look like when a user has one item in their shopping cart versus 10 items with a discount code applied? Again, these specific instances influence how we loop back through and construct our system.

Why Atomic Design

In a lot of ways, this is how we’ve been doing things all along, even if we haven’t been consciously thinking about it in this specific way.

Atomic design provides a clear methodology for crafting design systems. Clients and team members are able to better appreciate the concept of design systems by actually seeing the steps laid out in front of them.

Atomic design gives us the ability to traverse from abstract to concrete. Because of this, we can create systems that promote consistency and scalability while simultaneously showing things in their final context. And by assembling rather than deconstructing, we’re crafting a system right out of the gate instead of cherry picking patterns after the fact.

Pattern Lab

In order to apply this methodology in my work, I (along with the help of the great Dave Olsen) created a tool called Pattern Lab to actually create these atomic design systems. I’ll cover Pattern Lab in detail later, but feel free to check it out on Github .

Further Reading

  • So Andy Clarke has been setting the stage for these types of conversations for a long while now. In fact, he wrote a chapter for Smashing Book 3 called “Becoming Fabulously Flexible: Designing Atoms and Elements.” I had no idea that existed, so how about that! I highly encourage you to check that out. I also highly encourage you to take a look at his tool called Rock Hammer Vimeo .

    I’m really excited to dive in deeper and develop more tools and thoughts around these concepts.

    Update: since writing this original article, I wrote a book called that dives into this topic in more detail, which you can buy in /or formats. Thanks!

Предлагаю читателям «Хабрахабра» перевод статьи Брэда Фроста (Brad Frost) «Atomic Web Design» .

Мы не проектируем страницы, мы проектируем системы компонент. - Stephen Hay

По мере того, как ремесло веб-дизайна продолжает развиваться, мы всe больше ощущаем нужду в продуманной, системной разработке, в отличие от создания простых наборов веб страничек.

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

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

Аналогично интерфейсы состоят из меньших компонент. Это означает, что мы можем разбить интерфейсы на фундаментальные блоки и комбинировать их, постепенно наращивая сложность . Это суть атомного веб дизайна.


Переодическая система элементов HTML.

Что такое атомарный дизайн

Атомарный дизайн это методология создания систем дизайна. В атомном дизайне есть пять отчётливых уровней:

  1. Атомы
  2. Молекулы
  3. Огранизмы
  4. Шаблоны
  5. Страницы

Атомы

Атомы в природе - это основные строительные блоки материи. В контексте веб-интерфейсов атомы - это HTML тэги, такие как форма, поле ввода, или кнопка.


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

Как и атомы в природе, они довольно абстрактны и зачастую бесполезны сами по себе. Однако польза от их проектирования состоит в задании единого общего стиля интерфейса.

Молекулы

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

Например - метка, поле ввода и кнопка не так уж применимы сами по себе, но могут быть действительно полезными, если их соединить.


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

Организмы

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


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

Огранизмы могут состоять из похожих или разных типов молекул. К примеру, заголовок страницы может состоять из разных компонент - логотипа, главного меню, формы поиска и списка медиа-каналов. Но организм, отображающий сетку товаров, может содержать одну молекулу (изображение продукта, название и цена), которая повторяется много раз.

Переход от молекул к организмам способствует созданию самостоятельных компонент, готовых к повторному использованию.

Шаблоны

На этой стадии мы перестанем проводить аналогии с химией, чтобы общаться на более осмысленном для наших клиентов языке. Шаблоны чаще всего состоят из групп организмов, связанных вместе и формирующих страницы. Именно на этом этапе становится видна общая картина.


Шаблоны очень конкретные и предоставляют контекст ко всем довольно абстрактным молекулам и организмам. Именно шаблон позволяет видеть конечный дизайн. В моём опыте работы с этой методологией шаблоны начинаются с HTML wireframe"ов, но со временем становятся более точными. В итоге они становятся конечными продуктами. Bearded Studio в Питтсбурге имеют похожий процесс, при котором дизайны начинают разрабатывать чёрно-белыми и без разметки, но постепенно набирают конкретики и деталей до тех пор, пока не становятся конечными работами.

Страницы

Страницы - это конкретные экземпляры шаблонов. В них для точной передачи того, что увидит пользователь, «заглушечный» контент заменён настоящим.


Страницы - это высший уровень конкретики и, т.к. они наиболее осязаемы. В работе над ними тратится большинство времени большинства людей, вовлечённых в процесс, и на них пишется большинство обзоров.

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

Также это стадия для тестирования изменений в шаблонах. Например, вам нужно удостовериться в том, что заголовок с 40 символами выглядит согласованно с заголовком из 340 символов. Или проверить, как вместо корзины с одной вещью выглядит она же с 10 вещами и со скидкой по промо-коду. Эти ситуации влияют на то, как мы строим нашу систему.

Почему атомарный дизайн

Во многих смыслах именно так мы и делали сайты, даже если мы не задумывались об этом сознательно.

Атомарный дизайн предоставляет ясную методологию для создания систем дизайна. Клиенты и члены команды могут оценить идеи конкретной системы дизайна благодаря тому, что они видят этапы её разработки.

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

Pattern Lab

Для применения этой методологии в своей работе я (с помощью Дейва Ослена) разработал инструмент Pattern Lab , предназначенный для создания атомных систем дизайна. Расскажу о Pattern Lab в деталях позднее, но не стесняйтесь посмотреть исходники на Github

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то