HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#статьи</a></p>
1 <p><a>#статьи</a></p>
2 <ul><li>3 сен 2024</li>
2 <ul><li>3 сен 2024</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><h2>Вёрстка сайта: инструкция для новичков</h2>
4 </ul><h2>Вёрстка сайта: инструкция для новичков</h2>
5 <p>Ваш первый гайд по созданию и оформлению веб-страниц.</p>
5 <p>Ваш первый гайд по созданию и оформлению веб-страниц.</p>
6 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6 <p>Иллюстрация: Оля Ежак для Skillbox Media</p>
7 <p>Автор. На 50% состоит из музыки и ещё на 50% - из любви к интересным людям.</p>
7 <p>Автор. На 50% состоит из музыки и ещё на 50% - из любви к интересным людям.</p>
8 <p>Если разработчик пишет код и создаёт программу, это называется программированием. Однако, когда вместо программы создаётся сайт, мы говорим о вёрстке. Вёрстка сайта - это преобразование дизайнерских макетов в интерактивные веб-страницы, которые пользователи видят в интернете.</p>
8 <p>Если разработчик пишет код и создаёт программу, это называется программированием. Однако, когда вместо программы создаётся сайт, мы говорим о вёрстке. Вёрстка сайта - это преобразование дизайнерских макетов в интерактивные веб-страницы, которые пользователи видят в интернете.</p>
9 <p>Из этой статьи вы узнаете:</p>
9 <p>Из этой статьи вы узнаете:</p>
10 <ul><li><a>что такое вёрстка</a>;</li>
10 <ul><li><a>что такое вёрстка</a>;</li>
11 <li><a>какой она бывает</a>;</li>
11 <li><a>какой она бывает</a>;</li>
12 <li><a>что такое валидная вёрстка</a>;</li>
12 <li><a>что такое валидная вёрстка</a>;</li>
13 <li><a>когда вёрстка считается правильной</a>;</li>
13 <li><a>когда вёрстка считается правильной</a>;</li>
14 <li><a>с какими инструментами работают верстальщики</a>.</li>
14 <li><a>с какими инструментами работают верстальщики</a>.</li>
15 </ul><p>Для лучшего понимания процесса вёрстки давайте рассмотрим основные этапы создания сайта - от идеи до его публикации в интернете. Это будет упрощённая схема, поскольку в реальных проектах некоторые этапы могут совмещаться или делиться на подэтапы с участием множества специалистов.</p>
15 </ul><p>Для лучшего понимания процесса вёрстки давайте рассмотрим основные этапы создания сайта - от идеи до его публикации в интернете. Это будет упрощённая схема, поскольку в реальных проектах некоторые этапы могут совмещаться или делиться на подэтапы с участием множества специалистов.</p>
16 <p><strong>Исследование.</strong>На этом этапе заказчик определяет цели и задачи будущего сайта, его целевую аудиторию и основные функциональные требования. В результате создаётся техническое задание, которое подробно описывает, как должен выглядеть сайт и какие задачи он должен выполнять.</p>
16 <p><strong>Исследование.</strong>На этом этапе заказчик определяет цели и задачи будущего сайта, его целевую аудиторию и основные функциональные требования. В результате создаётся техническое задание, которое подробно описывает, как должен выглядеть сайт и какие задачи он должен выполнять.</p>
17 <p><strong>Создание прототипа.</strong>На основе технического задания веб-дизайнер разрабатывает прототип сайта. Прототип - это упрощённое визуальное представление сайта, отображающее его структуру, расположение элементов и функциональные возможности. После утверждения прототипа дизайнер создаёт графический макет, который включает детализированное оформление, цвета, шрифты и стилистику. Этот макет затем утверждается заказчиком как окончательный дизайн сайта.</p>
17 <p><strong>Создание прототипа.</strong>На основе технического задания веб-дизайнер разрабатывает прототип сайта. Прототип - это упрощённое визуальное представление сайта, отображающее его структуру, расположение элементов и функциональные возможности. После утверждения прототипа дизайнер создаёт графический макет, который включает детализированное оформление, цвета, шрифты и стилистику. Этот макет затем утверждается заказчиком как окончательный дизайн сайта.</p>
18 <p><strong>Вёрстка сайта.</strong>На этом этапе к процессу подключается верстальщик, который преобразует графический макет в рабочий сайт. Для этого верстальщик использует две основные технологии:</p>
18 <p><strong>Вёрстка сайта.</strong>На этом этапе к процессу подключается верстальщик, который преобразует графический макет в рабочий сайт. Для этого верстальщик использует две основные технологии:</p>
19 <ul><li><strong>HTML (HyperText Markup Language)</strong> - это язык разметки, который расставляет на странице заголовки, абзацы, изображения и другие элементы. HTML можно сравнить с каркасом здания, определяющим расположение стен, окон и дверей.</li>
19 <ul><li><strong>HTML (HyperText Markup Language)</strong> - это язык разметки, который расставляет на странице заголовки, абзацы, изображения и другие элементы. HTML можно сравнить с каркасом здания, определяющим расположение стен, окон и дверей.</li>
20 <li><strong>CSS (Cascading Style Sheets)</strong> - это язык стилей, отвечающий за оформление страницы. CSS управляет внешним видом, цветом, шрифтами и расположением элементов. Его можно сравнить с внутренней отделкой дома, которая включает покраску стен, выбор мебели и оформление интерьера.</li>
20 <li><strong>CSS (Cascading Style Sheets)</strong> - это язык стилей, отвечающий за оформление страницы. CSS управляет внешним видом, цветом, шрифтами и расположением элементов. Его можно сравнить с внутренней отделкой дома, которая включает покраску стен, выбор мебели и оформление интерьера.</li>
21 </ul><p>HTML и CSS всегда работают в связке. Например, HTML добавляет на страницу абзац, а CSS задаёт его цвет и шрифт. Подобным образом с помощью HTML и CSS верстается каждый элемент сайта.</p>
21 </ul><p>HTML и CSS всегда работают в связке. Например, HTML добавляет на страницу абзац, а CSS задаёт его цвет и шрифт. Подобным образом с помощью HTML и CSS верстается каждый элемент сайта.</p>
22 <p><strong>Дальнейшие действия</strong>: свёрстанному сайту могут потребоваться этапы тестирования, оптимизации и внедрения дополнительной функциональности. Например, для интернет-магазина это могут быть:</p>
22 <p><strong>Дальнейшие действия</strong>: свёрстанному сайту могут потребоваться этапы тестирования, оптимизации и внедрения дополнительной функциональности. Например, для интернет-магазина это могут быть:</p>
23 <ul><li><strong>Интеграция с базой данных</strong>: для хранения информации о продуктах, заказах и клиентах.</li>
23 <ul><li><strong>Интеграция с базой данных</strong>: для хранения информации о продуктах, заказах и клиентах.</li>
24 <li><strong>Разработка серверной логики</strong>: для обработки запросов, управления корзиной покупок и создания<a>API</a>для связи между<a>фронтендом и бэкендом</a>.</li>
24 <li><strong>Разработка серверной логики</strong>: для обработки запросов, управления корзиной покупок и создания<a>API</a>для связи между<a>фронтендом и бэкендом</a>.</li>
25 <li><strong>Добавление интерактивности на страницы</strong>:<strong></strong>для реализации работы корзины покупок, фильтрации товаров и обновления страниц без перезагрузки.</li>
25 <li><strong>Добавление интерактивности на страницы</strong>:<strong></strong>для реализации работы корзины покупок, фильтрации товаров и обновления страниц без перезагрузки.</li>
26 <li><strong>Разработка администраторской панели</strong>: для управления товарами, заказами и пользователями.</li>
26 <li><strong>Разработка администраторской панели</strong>: для управления товарами, заказами и пользователями.</li>
27 </ul><p>Функциональность и набор технологий зависят от целей проекта. Однако все дополнительные этапы начинаются только после того, как верстальщик преобразует графический макет в рабочий сайт.</p>
27 </ul><p>Функциональность и набор технологий зависят от целей проекта. Однако все дополнительные этапы начинаются только после того, как верстальщик преобразует графический макет в рабочий сайт.</p>
28 <p>В начале 2000-х разработчики часто использовали<a>табличную вёрстку</a>, размещая содержимое сайта в столбцах и ячейках. Этот метод упорядочивал контент, но не обеспечивал адаптацию сайта под разные размеры экранов. В результате сайт мог корректно отображаться на одном устройстве, но становился нечитаемым на другом, особенно на мобильных телефонах. Для решения этой проблемы появились новые методы вёрстки: фиксированная, резиновая, адаптивная и отзывчивая (респонсивная).</p>
28 <p>В начале 2000-х разработчики часто использовали<a>табличную вёрстку</a>, размещая содержимое сайта в столбцах и ячейках. Этот метод упорядочивал контент, но не обеспечивал адаптацию сайта под разные размеры экранов. В результате сайт мог корректно отображаться на одном устройстве, но становился нечитаемым на другом, особенно на мобильных телефонах. Для решения этой проблемы появились новые методы вёрстки: фиксированная, резиновая, адаптивная и отзывчивая (респонсивная).</p>
29 Первая мобильная версия сайта vk.com требовала постоянного скроллинга в разные стороны для перемещения по странице<em>Изображение: AM-STUDiO / Shutterstock</em><p><strong>Фиксированная вёрстка</strong>предполагает одинаковую ширину страницы, независимо от размера экрана устройства. Если элемент не помещается на экране, появляется полоса прокрутки. Этот подход был популярен в период, когда количество пользователей смартфонов было небольшим и были распространены мониторы с фиксированными разрешениями, такими как 800×600 или 1024×768.</p>
29 Первая мобильная версия сайта vk.com требовала постоянного скроллинга в разные стороны для перемещения по странице<em>Изображение: AM-STUDiO / Shutterstock</em><p><strong>Фиксированная вёрстка</strong>предполагает одинаковую ширину страницы, независимо от размера экрана устройства. Если элемент не помещается на экране, появляется полоса прокрутки. Этот подход был популярен в период, когда количество пользователей смартфонов было небольшим и были распространены мониторы с фиксированными разрешениями, такими как 800×600 или 1024×768.</p>
30 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Резиновая вёрстка</strong>оставляет элементы на странице на своих местах, но при этом растягивает или сжимает их в зависимости от ширины экрана. Это достигается за счёт использования относительных размеров вместо фиксированных. Например, если в фиксированной вёрстке у кнопки ширина 200 пикселей, то она всегда будет 200 пикселей, независимо от размера экрана. В резиновой вёрстке кнопка может занимать 20% ширины экрана, и её размер изменится в зависимости от ширины устройства. Однако если контент не поместится в блок, он может выйти за его пределы и перекрыть другой контент.</p>
30 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Резиновая вёрстка</strong>оставляет элементы на странице на своих местах, но при этом растягивает или сжимает их в зависимости от ширины экрана. Это достигается за счёт использования относительных размеров вместо фиксированных. Например, если в фиксированной вёрстке у кнопки ширина 200 пикселей, то она всегда будет 200 пикселей, независимо от размера экрана. В резиновой вёрстке кнопка может занимать 20% ширины экрана, и её размер изменится в зависимости от ширины устройства. Однако если контент не поместится в блок, он может выйти за его пределы и перекрыть другой контент.</p>
31 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Адаптивная вёрстка</strong>позволяет подстраивать структуру и стиль страницы в зависимости от размера экрана устройства. Можно создать отдельные макеты для разных разрешений и поддерживать оптимальную функциональность сайта на мобильных телефонах, планшетах и десктопах. Для реализации адаптивной вёрстки используются медиазапросы - специальные CSS-правила, позволяющие применять различные стили в зависимости от ширины экрана или его ориентации.</p>
31 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Адаптивная вёрстка</strong>позволяет подстраивать структуру и стиль страницы в зависимости от размера экрана устройства. Можно создать отдельные макеты для разных разрешений и поддерживать оптимальную функциональность сайта на мобильных телефонах, планшетах и десктопах. Для реализации адаптивной вёрстки используются медиазапросы - специальные CSS-правила, позволяющие применять различные стили в зависимости от ширины экрана или его ориентации.</p>
32 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Респонсивная вёрстка</strong>использует медиазапросы и задаёт размеры элементов в относительных единицах, что позволяет им плавно изменять размер и расположение в зависимости от ширины экрана. Например, при уменьшении ширины экрана текст в колонках может автоматически переноситься на следующую строку, тогда как в адаптивной вёрстке текст может просто уменьшаться или обрезаться. Такой подход обеспечивает более гибкое и удобное отображение контента на различных устройствах.</p>
32 <em>Изображение:<a>Мария Черноскулова</a>/ Behance</em><p><strong>Респонсивная вёрстка</strong>использует медиазапросы и задаёт размеры элементов в относительных единицах, что позволяет им плавно изменять размер и расположение в зависимости от ширины экрана. Например, при уменьшении ширины экрана текст в колонках может автоматически переноситься на следующую строку, тогда как в адаптивной вёрстке текст может просто уменьшаться или обрезаться. Такой подход обеспечивает более гибкое и удобное отображение контента на различных устройствах.</p>
33 <em>Изображение: предоставлено Олегом Рязанцевым</em><p>Если разработчики будут произвольно использовать HTML и CSS, это приведёт к путанице и непредсказуемости в отображении сайтов. Поэтому существует<a>Всемирный консорциум W3C</a>, который разрабатывает и утверждает стандарты веб-вёрстки. Таким образом, валидная вёрстка - это код, выполненный в соответствии со спецификациями W3C.</p>
33 <em>Изображение: предоставлено Олегом Рязанцевым</em><p>Если разработчики будут произвольно использовать HTML и CSS, это приведёт к путанице и непредсказуемости в отображении сайтов. Поэтому существует<a>Всемирный консорциум W3C</a>, который разрабатывает и утверждает стандарты веб-вёрстки. Таким образом, валидная вёрстка - это код, выполненный в соответствии со спецификациями W3C.</p>
34 <p>Преимущества валидной вёрстки:</p>
34 <p>Преимущества валидной вёрстки:</p>
35 <ul><li><strong>Совместимость между браузерами.</strong>Возьмём элемент &lt;button&gt; с атрибутом type="submit". Если его неправильно закрыть, в Chrome он может отображаться как кнопка, а в Firefox - как текст. Валидная вёрстка гарантирует единообразное отображение всех элементов на разных платформах. В нашем случае в Chrome и в Firefox мы увидим кнопку.</li>
35 <ul><li><strong>Совместимость между браузерами.</strong>Возьмём элемент &lt;button&gt; с атрибутом type="submit". Если его неправильно закрыть, в Chrome он может отображаться как кнопка, а в Firefox - как текст. Валидная вёрстка гарантирует единообразное отображение всех элементов на разных платформах. В нашем случае в Chrome и в Firefox мы увидим кнопку.</li>
36 <li><strong>Оптимизация поисковой выдачи.</strong>Валидный код обеспечивает чёткую и структурированную разметку, что упрощает анализ и индексацию сайта поисковыми роботами. Например, тег &lt;h1&gt; для основного заголовка помогает поисковым системам лучше понять содержание страницы, что может улучшить её ранжирование в результатах поиска.</li>
36 <li><strong>Оптимизация поисковой выдачи.</strong>Валидный код обеспечивает чёткую и структурированную разметку, что упрощает анализ и индексацию сайта поисковыми роботами. Например, тег &lt;h1&gt; для основного заголовка помогает поисковым системам лучше понять содержание страницы, что может улучшить её ранжирование в результатах поиска.</li>
37 <li><strong>Улучшение доступности.</strong>Валидная вёрстка делает сайт удобным для пользователей с особыми потребностями или проблемами со здоровьем. Например, если добавить текст в атрибут alt, пользователи с нарушением зрения смогут услышать описание изображения на сайте.</li>
37 <li><strong>Улучшение доступности.</strong>Валидная вёрстка делает сайт удобным для пользователей с особыми потребностями или проблемами со здоровьем. Например, если добавить текст в атрибут alt, пользователи с нарушением зрения смогут услышать описание изображения на сайте.</li>
38 </ul><p>Чтобы не запоминать спецификации наизусть, для разработчиков созданы валидаторы - специальные инструменты, которые проверяют код на соответствие стандартам W3C. Валидаторы анализируют разметку и указывают на проблемные места, которые нужно исправить.</p>
38 </ul><p>Чтобы не запоминать спецификации наизусть, для разработчиков созданы валидаторы - специальные инструменты, которые проверяют код на соответствие стандартам W3C. Валидаторы анализируют разметку и указывают на проблемные места, которые нужно исправить.</p>
39 Пример результата работы валидатора: обнаружены незначительные неточности и ошибки, которые могут повлиять на работу кода. Неточности выделены жёлтым, а ошибки - красным. Оба типа проблем нужно исправить, чтобы вёрстка считалась валидной<em>Скриншот:<a>W3C Markup Validation Service</a>/ Skillbox Media</em><p><strong>Если вы хотите познакомиться со спецификацией W3C, посмотрите следующие документы:</strong></p>
39 Пример результата работы валидатора: обнаружены незначительные неточности и ошибки, которые могут повлиять на работу кода. Неточности выделены жёлтым, а ошибки - красным. Оба типа проблем нужно исправить, чтобы вёрстка считалась валидной<em>Скриншот:<a>W3C Markup Validation Service</a>/ Skillbox Media</em><p><strong>Если вы хотите познакомиться со спецификацией W3C, посмотрите следующие документы:</strong></p>
40 <p>Вы уже знаете, что современная вёрстка должна быть валидной, адаптивной и доступной для людей с особыми потребностями. Есть и другие критерии, которыми должны руководствоваться верстальщики:</p>
40 <p>Вы уже знаете, что современная вёрстка должна быть валидной, адаптивной и доступной для людей с особыми потребностями. Есть и другие критерии, которыми должны руководствоваться верстальщики:</p>
41 <ul><li><strong>Кросс-браузерность.</strong>Сайт должен корректно отображаться во всех популярных браузерах, таких как Chrome, Firefox, Safari и Edge. Также важно учитывать кросс-платформенность, чтобы всё одинаково хорошо работало на различных операционных системах: Windows, macOS, Linux, iOS и Android. Это обеспечит единый пользовательский опыт, независимо от устройства или браузера, при помощи которых пользователи заходят на сайт.</li>
41 <ul><li><strong>Кросс-браузерность.</strong>Сайт должен корректно отображаться во всех популярных браузерах, таких как Chrome, Firefox, Safari и Edge. Также важно учитывать кросс-платформенность, чтобы всё одинаково хорошо работало на различных операционных системах: Windows, macOS, Linux, iOS и Android. Это обеспечит единый пользовательский опыт, независимо от устройства или браузера, при помощи которых пользователи заходят на сайт.</li>
42 <li><strong>Соответствие макету.</strong>Вёрстка должна точно следовать дизайнерскому макету, включая размеры, отступы и расположение элементов. Несоответствие может нарушить визуальный стиль и сделать сайт неудобным для пользователей. Например, если кнопку расположить слишком близко к другим элементам, её может быть трудно нажимать на смартфонах.</li>
42 <li><strong>Соответствие макету.</strong>Вёрстка должна точно следовать дизайнерскому макету, включая размеры, отступы и расположение элементов. Несоответствие может нарушить визуальный стиль и сделать сайт неудобным для пользователей. Например, если кнопку расположить слишком близко к другим элементам, её может быть трудно нажимать на смартфонах.</li>
43 <li><strong>Семантичность.</strong>Важно использовать семантические теги для описания структуры контента. Например, &lt;header&gt; для заголовков и &lt;nav&gt; для меню. Это делает сайт более удобным для пользователей, так как правильная структура облегчает навигацию и восприятие информации. Также это помогает поисковым системам лучше индексировать и ранжировать страницы.</li>
43 <li><strong>Семантичность.</strong>Важно использовать семантические теги для описания структуры контента. Например, &lt;header&gt; для заголовков и &lt;nav&gt; для меню. Это делает сайт более удобным для пользователей, так как правильная структура облегчает навигацию и восприятие информации. Также это помогает поисковым системам лучше индексировать и ранжировать страницы.</li>
44 <li><strong>Оптимизация производительности.</strong>Сайт должен быстро загружаться даже при слабом или нестабильном интернет-соединении. Для этого верстальщик должен уменьшать размеры изображений, использовать<a>кэширование</a>и минимизировать код. Эти меры помогают улучшить пользовательский опыт и снизить вероятность отказов, когда пользователи покидают сайт из-за долгого времени загрузки.</li>
44 <li><strong>Оптимизация производительности.</strong>Сайт должен быстро загружаться даже при слабом или нестабильном интернет-соединении. Для этого верстальщик должен уменьшать размеры изображений, использовать<a>кэширование</a>и минимизировать код. Эти меры помогают улучшить пользовательский опыт и снизить вероятность отказов, когда пользователи покидают сайт из-за долгого времени загрузки.</li>
45 <li><strong>Удобство навигации.</strong>Сайт должен иметь понятное меню, логичную структуру и интуитивно понятные элементы управления, чтобы пользователи могли быстро находить нужную информацию.</li>
45 <li><strong>Удобство навигации.</strong>Сайт должен иметь понятное меню, логичную структуру и интуитивно понятные элементы управления, чтобы пользователи могли быстро находить нужную информацию.</li>
46 <li><strong>Чистота кода.</strong>В коде вёрстки не должно быть лишних элементов и избыточных стилей, чтобы другим разработчикам было легко в нём ориентироваться. Для этого существуют<a>BEM (Block Element Modifier)</a>и другие методологии, которые обеспечивают читаемость кода и облегчают его поддержку.</li>
46 <li><strong>Чистота кода.</strong>В коде вёрстки не должно быть лишних элементов и избыточных стилей, чтобы другим разработчикам было легко в нём ориентироваться. Для этого существуют<a>BEM (Block Element Modifier)</a>и другие методологии, которые обеспечивают читаемость кода и облегчают его поддержку.</li>
47 </ul>Схема слева - HTML4: чтобы не запутаться в &lt;div&gt;, разработчикам приходилось добавлять id или class. Схема справа - HTML5: по названию семантических тегов понятно, какую часть сайта они представляют<em>Изображение: Майя Мальгина для Skillbox Media</em><ul><li>Редакторы кода:<a>VS Code</a>,<a>Sublime Text</a>,<a>Brackets</a>.</li>
47 </ul>Схема слева - HTML4: чтобы не запутаться в &lt;div&gt;, разработчикам приходилось добавлять id или class. Схема справа - HTML5: по названию семантических тегов понятно, какую часть сайта они представляют<em>Изображение: Майя Мальгина для Skillbox Media</em><ul><li>Редакторы кода:<a>VS Code</a>,<a>Sublime Text</a>,<a>Brackets</a>.</li>
48 <li>Валидаторы:<a>Markup Validation Service</a>,<a>HTMLHint</a>,<a>CSS Lint</a>.</li>
48 <li>Валидаторы:<a>Markup Validation Service</a>,<a>HTMLHint</a>,<a>CSS Lint</a>.</li>
49 <li>Фреймворки и библиотеки:<a>Bootstrap</a>,<a>Bulma</a>,<a>Tailwind CSS</a>.</li>
49 <li>Фреймворки и библиотеки:<a>Bootstrap</a>,<a>Bulma</a>,<a>Tailwind CSS</a>.</li>
50 <li>Графические редакторы:<a>Figma</a>,<a>Sketch</a>,<a>Pixso</a>.</li>
50 <li>Графические редакторы:<a>Figma</a>,<a>Sketch</a>,<a>Pixso</a>.</li>
51 <li>Предпроцессоры для ускорения работы:<a>Sass</a>,<a>LESS</a>,<a>Stylus</a>.</li>
51 <li>Предпроцессоры для ускорения работы:<a>Sass</a>,<a>LESS</a>,<a>Stylus</a>.</li>
52 <li>Системы контроля версий:<a>Git</a>,<a>GitHub</a>,<a>GitLab</a>,<a>Bitbucket</a>.</li>
52 <li>Системы контроля версий:<a>Git</a>,<a>GitHub</a>,<a>GitLab</a>,<a>Bitbucket</a>.</li>
53 <li>Инструменты для сборки и автоматизации:<a>Webpack</a>,<a>Gulp</a>,<a>Parcel</a>,<a>Grunt</a>.</li>
53 <li>Инструменты для сборки и автоматизации:<a>Webpack</a>,<a>Gulp</a>,<a>Parcel</a>,<a>Grunt</a>.</li>
54 <li>Сервисы для тестирования:<a>BrowserStack</a>,<a>Selenium</a>.</li>
54 <li>Сервисы для тестирования:<a>BrowserStack</a>,<a>Selenium</a>.</li>
55 <li>Работа с API:<a>Postman</a>,<a>Insomnia</a>,<a>Swagger</a>.</li>
55 <li>Работа с API:<a>Postman</a>,<a>Insomnia</a>,<a>Swagger</a>.</li>
56 <li>Анализ производительности:<a>GTmetrix</a>,<a>WebPageTest</a>,<a>Pingdom</a>.</li>
56 <li>Анализ производительности:<a>GTmetrix</a>,<a>WebPageTest</a>,<a>Pingdom</a>.</li>
57 <li>Инструменты разработчика:<a>Chrome DevTools</a>,<a>Firefox Developer Tools</a>.</li>
57 <li>Инструменты разработчика:<a>Chrome DevTools</a>,<a>Firefox Developer Tools</a>.</li>
58 </ul><ul><li>Проверка SEO:<a>Google Search Console</a>,<a>Ahrefs</a>,<a>Semrush</a>.</li>
58 </ul><ul><li>Проверка SEO:<a>Google Search Console</a>,<a>Ahrefs</a>,<a>Semrush</a>.</li>
59 <li>Прототипирование:<a>InVision</a>,<a>Marvel</a>.</li>
59 <li>Прототипирование:<a>InVision</a>,<a>Marvel</a>.</li>
60 <li>Библиотеки и иконки:<a>Font Awesome</a>,<a>Material Icons</a>.</li>
60 <li>Библиотеки и иконки:<a>Font Awesome</a>,<a>Material Icons</a>.</li>
61 <li>Генераторы и конвертеры изображений:<a>TinyPNG</a>,<a>ImageOptim</a>,<a>CloudConvert</a>,<a>iLoveIMG</a>.</li>
61 <li>Генераторы и конвертеры изображений:<a>TinyPNG</a>,<a>ImageOptim</a>,<a>CloudConvert</a>,<a>iLoveIMG</a>.</li>
62 <li>Сервисы для работы со шрифтами:<a>Google Fonts</a>,<a>Adobe Fonts</a>,<a>Font Squirrel</a>,<a>DaFont</a>.</li>
62 <li>Сервисы для работы со шрифтами:<a>Google Fonts</a>,<a>Adobe Fonts</a>,<a>Font Squirrel</a>,<a>DaFont</a>.</li>
63 </ul><a>Практический курс: "Веб-вёрстка" Узнать о курсе</a>
63 </ul><a>Практический курс: "Веб-вёрстка" Узнать о курсе</a>