惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
量子位
腾讯CDC
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
B
Blog
S
SegmentFault 最新的问题
P
Privacy & Cybersecurity Law Blog
T
Threatpost
博客园 - 聂微东
T
Tailwind CSS Blog
The Last Watchdog
The Last Watchdog
C
Check Point Blog
N
Netflix TechBlog - Medium
D
DataBreaches.Net
爱范儿
爱范儿
IT之家
IT之家
S
Secure Thoughts
M
MIT News - Artificial intelligence
NISL@THU
NISL@THU
C
Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
有赞技术团队
有赞技术团队
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
Schneier on Security
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
雷峰网
雷峰网
Project Zero
Project Zero
博客园 - Franky
H
Heimdal Security Blog
A
About on SuperTechFans
Security Latest
Security Latest
Webroot Blog
Webroot Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Почему я так придираюсь к вёрстке (и вам советую)
bovrst (Альф · 2026-04-23 · via Все публикации подряд на Хабре

Почему я так придираюсь к вёрстке (и вам советую)

Уровень сложностиСредний

Время на прочтение11 мин

Охват и читатели1.9K

Мнение

Привет! Я Оля, лид дизайн‑системы Альфа‑Банка на мобильных платформах и я всерьёз считаю, что знания о вёрстке незаслуженно списали со счетов, особенно в 2026 году, когда дизайнеры всё чаще думают, что ИИ сделает за них всю работу, а вёрстку вообще можно не трогать.

Увы и ах. Вёрстка — это не просто «разложить прямоугольники на макете». Это мост между дизайном и кодом.

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

А если ты всё ещё думаешь, что дизайнер не может повлиять на конечный код на этапе макета — надеюсь, к концу статьи ты усомнишься в своей уверенности, ведь в ней я:

  • Покажу, как с помощью макетов дотащить свою концепцию до прода с минимальными потерями.

  • Попробую настроить дизайнеров и разработчиков на продуктивное взаимодействие друг с другом. 

  • И попробую замотивировать дизайнеров погружаться в технические аспекты разработки интерфейсов.

Что такое вёрстка?

Для начала давай обозначим, что такое «вёрстка».

Безусловно, термин многогранный. Для кого-то это «процесс создания структуры кода по отрисованному макету», для кого-то «она определяет, как элементы макета пользовательского интерфейса (UI) будут отображаться на экране устройства и как пользователь будет с ними взаимодействовать». Есть и те, что знают термин «вёрстка» как «монтаж макета газеты или книги из подготовленного материала — текста, таблиц, изображений, который потом отправляется в печать».

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

Если прям совсем коротко (и ясно), то это «Ready to dev макет»: когда дизайнер жмёт те самые зелёные треугольные скобки рядом с именем фрэйма.

На изображении выше слева — макет от дизайнера, а справа — его реализация в коде от разработчика. Обычно от разработчиков, которые забирают на проверку вёрстку от дизайнеров, и от дизайнеров, что сталкиваются с результатом от разработчика, я слышу один и тот же вопрос: «Что это?». 

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

Но почему? Потому что, глядя на них, я не могу оценить ни качество пользовательского опыта, ни интерактивность, ни наличие анимации, ни, тем более, её параметры. Я вижу и могу оценить только статичную вёрстку — картинку.

И в воздухе зависает вопрос…

Да что в такой простой задаче могло пойти не так?

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

А помнит ли об этом дизайнер при проектировании интерфейса? 

  • Если нет, то он неосознанно использует одинаковые паттерны как на iOS, так и на Android и старается сформировать у пользователя общие паттерны использования одного и того же приложения, независимо от платформы.

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

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

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

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

Глубина понимания вёрстки: чему я научилась на своих ошибках (и ваших тоже)

Не будем сейчас разбирать, кто на самом деле верблюд виноват — дизайнер, разработчик или процесс. Моя задача — сделать так, чтобы дизайнер смотрел на свои макеты внимательнее (а разработчик это ценил).

Какие-то ошибки покажутся тебе мелочами. С чем-то ты не согласишься. Отлично. Значит, будет дискуссия.

Но мой опыт говорит: когда этих ошибок нет — дизайнер не переделывает (или переделывает реже), а разработчик не задаёт глупых вопросов (или задаёт более важные).

Перейдём к моей коллекции — от простого к сложному.

Уровень 1: разметка элементов интерфейса

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

Верх, низ, контент, скролл — теперь весь макет можно затолкнуть в Auto layout и обозначить, что сверху у нас будет верхняя навигация, снизу — нижняя, а контент где-то посередине. Auto layout расслабляет. 🫠

Однако технически на интерфейсе не всё собирается через таблицу или стэк. Применять только Auto layout невозможно, потому что технически часть элементов может помещаться как в таблицу, так и настраиваться через констрэйнтсы (кто-то про них ещё помнит?).

Но даже если принять во внимание, что мы целиком собираем макеты на Auto layout, как часто мы следим за поведением областей относительно макета или экрана?

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

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

Ещё один из моих любимых примеров, о котором дизайнер не помнит — изображение, что должно сохранять соотношение сторон. Забывая об этом, дизайнер сталкивается с очень большими картинками на широких экранах (да, одна такая торчит на скриншоте выше).

Уровень 2: паттерны навигации

Копнём глубже. Ты же знаешь, что такое Push и Present навигация? Закрой текст ниже ладошкой и проверь свои знания.

Если кратко, Push — это паттерн линейной навигации на iOS, Present — паттерн модальной навигации на iOS. А если ещё короче, Push — стрелочка «назад», а Present — крестик. Это не просто технические детали. Это пользовательский опыт. Перепутал — пользователь закроет экран (и повезёт, если только 1 экран) вместо того, чтобы вернуться назад.

Если представить паттерны схематично, получится что-то похожее на изображении ниже. 

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

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

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

Где брать эту бесценную практику? В технической литературе для разработчиков (подчеркнула 2 раза). 

К сожалению, документации HIG и Material дают лишь поверхностное представление о том, каким принципам должны подчиняться интерфейсы на платформах и с помощью каких компонентов эти принципы можно поддержать

В своё время разобраться в паттернах нативной навигации мне помогли:

  • Учебник по Swift UI «Kodeco: iOS and SwiftUI for Beginners».

  • Курс от iOS-разработчика «Beginning iOS 13 Programming with Swift (Simon NG)».

  • Курс от Android-разработчика «Kodeco: Android & Kotlin for Beginners».

  • А также разговоры по душам с разработчиками.

К технической литературе я обращаюсь и по сей день. 

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

А если «масштабировать» рекомендацию, то в целом сформируйте правила, гайдлайны, свой личный ГОСТ по вёрстке макетов, по сборке компонентов, по описанию паттернов, которые невозможно продемонстрировать. Если у вас выстроена коммуникация с разработкой, то есть и правила, по которым вы с ними работаете — просто оформите их. О коммуникации с разработчиками пара рекомендаций также будет ниже.

Уровень 3: типы элементов на экране

Копаем ещё глубже: посмотрим на элементы интерфейса внутри контента. 

Если выбор элемента делегировать разработчику, то этот поиск проходит полный круг и разработчик возвращается к дизайнеру с той же задачей, но с дополнительным множеством «неудобных» вопросов: «Элемент интерактивный или статичный? Нативный или кастомный? Это виджет? Должен ли он нажиматься? Он будет отображать состояние ошибки или загрузки? Будет ли в нём динамический контент? А где это написано? А как ты его нарисовал?»

И здесь важно сказать, что понимание типов элементов также влияет на вёрстку: какие-то элементы обладают своими собственными состояниями и могут отображать ошибку и загрузку, а какие-то этого не умеют и являются статичными; какие-то элементы можно комбинировать друг с другом на одном экране, а какие-то — нет, и далее-далее. 

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

На изображении выше представлена часть мобильных типов элементов в Альфе

Уровень 4: типы экранов и технологии

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

В современном мире много технологий, но я разделяю их на три условные группы:

  • Вёрстка на фронте (фронтовая),

  • Вёрстка на бэке (серверная),

  • Комбинированная вёрстка.

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

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

И конечно, каждая их этих технологий имеет свои ограничения и особенности. 

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

Вернёмся к экрану из начала статьи и ответим на вопрос: «Что с ним не так?». Он демонстрирует, что дизайнер не учёл или типы компонентов, или технологию. В итоге — некачественное ТЗ, самодеятельность разработчика и дизайн-ревью, которое ничего не спасло.

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

В какой момент дизайнер в IT потерял важность матчасти и подготовки технической стороны своего проекта?

Ведь дизайнер интерьеров (или архитектор) не рисует просто эскизы, а потом отдаёт их прорабам, мол, крепитесь с этим сами? Нет, все эти дизайнеры готовят техническое задание и оформляют несколько этапов своих проектов. Иначе мы оказываемся в ситуации с классическим ремонтом «под ключ»: чертежи сделаны халтурно — прораб с командой уже всё по ним сделали — проверять и переделывать долго и бесценно.

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

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

Итого, 4 важных тейка, которые мы сегодня разобрали:

  1. Разметка элементов интерфейса.

  2. Паттерны навигации.

  3. Типы элементов.

  4. Технология реализации.

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

А если уделять вёрстке внимание?

Если уже на этапе дизайна уделять внимание такой концепции, как «платформа», учитывать её потребности и ограничения, то:

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

  • Это точно сэкономит время дизайнера при подготовке адаптивной вёрстки или демонстрации поведения элементов интерфейса.

  • Позволит сохранить консистентность между дизайном и кодом.

  • У вас будет «рабочий» макет прямо там, где вы его собираете.

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

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

Как начать относиться к вёрстке внимательнее?

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

Что можно сделать самому:

1. Общайтесь с разработчиками. Не стесняйтесь задавать «глупые» вопросы: «А здесь точно будет крестик, а не стрелочка?» Это формирует общие правила игры. Чем раньше спросите — тем меньше переделок. Мы регулярно общаемся с коллегами на общих консультациях и личных встречах, задавая глупые вопросы и вырабатывая общие процессы и правила работы.

2. Установите Xcode или Android Studio. Посмотрите, как работают нативные паттерны навигации. Один час в среде разработки даст больше, чем большинство книг по дизайну.

3. Ходите на митапы разработчиков (или смотрите записи). Там рассказывают о сложностях и практиках простым языком (обычно).

4. Изучайте техническую литературу. Не бойтесь — это не значит «стать разработчиком», это значит «понимать, о чём они говорят».

Что можно сделать в команде (если есть ресурсы):

5. Фиксируйте документацию. Заведите общую базу знаний, куда записываете правила вёрстки, паттерны, решения. Это помогает не забыть, не стать узким горлышком и поделиться с новичками. Например, мы ведём несколько проектов в общей базе знаний и разрабатываем общий внутренний портал.

6. Проводите внутренние лекции и воркшопы — дизайнеры учат разработчиков, разработчики — дизайнеров. Работает в обе стороны. В Альфе мы пошли дальше: у нас есть отдельные комитеты по направлениям, внутренние каналы и дайджесты. Но это уже опция для крупных команд. Главное — начать с первых четырёх пунктов

Заключение

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

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

А что такое код? Это язык представления информации. Это закодированная информация в виде символов определённого языка программирования и его правил. А что такое Фигма? Разве это не язык? Язык. Язык представления той же информации, но с другими правилами.

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

А всё, что прошло этап систематизации и документирования, можно автоматизировать (и отдать ИИ). Вот и думайте.