Привет, Хабр! Это Саша Раднаев, фронтенд-разработчик в МТС Диджитал. Сегодня поговорим о фронтенде и тех инструментах, которые делают работу специалистов более эффективной. Я бы сказал, что подборка рассчитана на начинающих, но, возможно, и те, кто уже давно в теме, найдут для себя что-то интересное. Было бы отлично, если бы вы делились собственными находками в комментариях. Поехали!

Tailwind CSS

CSS-фреймворк с открытым исходным кодом, ориентированным на утилитарный подход к стилизации веб-интерфейсов. Создан Адамом Уэтеном и Стивом Шогером, выпущен в 2017 году. Фреймворк поддерживается компанией Tailwind Labs.

Tailwind CSS помогает упростить процесс разработки пользовательских интерфейсов. Он предоставляет набор низкоуровневых утилитарных классов — их можно комбинировать в HTML-разметке и создавать уникальные дизайны без необходимости писать собственные CSS-стили.

Основные возможности:

  • утилитарные классы: стили для различных CSS-свойств, таких как отступы, цвета, шрифты, размеры и расположение элементов;

  • адаптивный дизайн: встроенные классы для создания интерфейсов, адаптирующихся к различным форматам экранов;

  • темизация позволяет настраивать тему проекта через конфигурационный файл, изменяя значения по умолчанию для цветов, шрифтов и других параметров;

  • компиляция Just-In-Time (JIT) генерирует только те стили, которые используются в проекте, а это уменьшает размер конечного CSS-файла и ускоряет процесс работы;

  • интеграция с инструментами разработки поддерживает работу с различными сборщиками модулей и фреймворками, такими как Webpack, PostCSS, React и Vue.js.

Примеры использования:

  • разработка пользовательских интерфейсов: создание уникальных и адаптивных дизайнов веб-приложений и сайтов;

  • прототипирование: благодаря готовым утилитарным классам фреймворк позволяет быстро создавать прототипы интерфейсов;

  • мобильные приложения: применяется в разработке адаптивных интерфейсов;

  • системы управления контентом (CMS): интегрируется в различные CMS, что упрощает стилизацию и обеспечивает единообразие дизайна.

Почитать больше об инструменте и начать работу с ним можно тут.

Bootstrap

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

Bootstrap создали в середине 2010 года Марк Отто и Джейкоб Торнтон в компании Twitter. Изначально проект назывался Twitter Blueprint и использовался для нужд самой компании. 19 августа 2011 года фреймворк был выпущен в открытый доступ под названием Bootstrap.

Основные возможности и функции:

  • система сеток (Grid system) позволяет создавать адаптивные макеты, которые автоматически подстраиваются под различные размеры экранов;

  • готовые компоненты включают в себя набор модулей, элементов интерфейса, таких как кнопки, формы, навигационные панели, модальные окна и так далее;

  • стилизация типографики: стили для заголовков, параграфов, списков и других текстовых элементов;

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

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

Примеры использования:

  • корпоративные сайты: благодаря готовым компонентам и адаптивности Bootstrap часто применяется для создания сайтов компаний;

  • административные панели: быстрая разработка интерфейсов админ-панелей;

  • блоги и портфолио: фреймворк позволяет оперативно разрабатывать персональные сайты с современным дизайном;

  • прототипирование: благодаря готовым элементам Bootstrap удобен для быстрого создания прототипов веб-приложений.

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

Normalize.css

Небольшая CSS-библиотека с открытым исходным кодом, предназначенная для единообразного отображения HTML-элементов в различных браузерах. Normalize.css разработан Николасом Галахером (Nicolas Gallagher) и Джонатаном Нилом (Jonathan Neal) и впервые выпущен в 2011 году.

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

Основные возможности и функции:

  • сохранение полезных стилей по умолчанию: в отличие от CSS Reset, Normalize.css не удаляет все стили, а сохраняет те, которые считаются полезными и соответствуют современным стандартам;

  • коррекция ошибок браузеров: исправляет распространенные баги и несоответствия в отображении элементов, такие как неправильная высота строк или некорректное отображение HTML5-элементов;

  • улучшение юзабилити: вносит небольшие изменения, повышающие удобство использования. Например, улучшает читаемость текста или корректирует размеры шрифтов;

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

Примеры использования:

  • веб-сайты и приложения: кроссбраузерная совместимость и единообразное отображение элементов на различных устройствах;

  • фреймворки и библиотеки: многие популярные фреймворки, такие как Bootstrap и Foundation, интегрируют Normalize.css, чтобы обеспечить базовую стилизацию;

  • образовательные проекты: обучение веб-разработке для демонстрации принципов нормализации стилей и обеспечения кроссбраузерной совместимости.

Получить больше информации об инструменте и начать работу с ним можно по этой ссылке.

Semantic UI

Фреймворк с открытым исходным кодом для разработки пользовательских интерфейсов. Semantic UI разработан Джеком Лукманом (Jack Lukic) и впервые представлен в 2014 году.

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

Основные возможности и функции:

  • семантическая разметка: использование классов и имен, отражающих смысл и назначение элементов. Это улучшает читаемость и поддержку кода;

  • готовые компоненты: широкий набор модулей интерфейса, таких как кнопки, формы, меню, модальные окна и многое другое;

  • адаптивный дизайн: корректное отображение на устройствах с различными разрешениями экрана;

  • темизация: возможности для настройки внешнего вида компонентов через систему тем и переменных;

  • интеграция с фреймворками поддерживает работу с React, Angular и другими популярными JavaScript-фреймворками.

Примеры использования:

  • веб-приложения: создание сложных интерфейсов с применением готовых компонентов и модулей;

  • корпоративные сайты: разработка адаптивных и стильных веб-сайтов для компаний и организаций;

  • прототипирование: быстрая сборка прототипов интерфейсов для демонстрации клиентам или тестирования идей;

  • образовательные проекты: обучение принципам семантической разметки и современным подходам к разработке интерфейсов.

Узнать больше об инструменте и начать работу с ним можно здесь.

Fort Awesome

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

Основные возможности и функции:

  • управление иконками и шрифтами: позволяет собирать и организовывать иконки и шрифты в одном месте для удобного использования;

  • кастомизация: добавление собственных векторных иконок, таких как логотипы компаний и их кастомизация;

  • оптимизация производительности: позволяет загружать только те иконки, которые используются на сайте, что ускоряет загрузку страниц;

  • интеграция с CDN: наборы иконок и шрифтов обслуживаются через сеть доставки контента (CDN) и обеспечивают быструю и надежную загрузку;

  • поддержка CSS: включает мощный CSS-инструментарий для стилизации иконок, аналогичный тому, что используется в Font Awesome.

Примеры использования:

  • корпоративные сайты: компании могут добавлять свои логотипы и уникальные иконки в наборы, чтобы брендинг был единообразным;

  • веб-приложения: создание кастомных наборов иконок, соответствующих специфике приложения, с оптимизацией нагрузки;

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

Потестить инструмент можно здесь.

Ну что, подытожим?

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

Комментарии (10)


  1. Stepler
    22.11.2024 15:51

    Несколько лет пользуюсь фреймворком Bulma. Рекомендую. Для начинающих как раз хороший противовес Bootstrap.


  1. vagon333
    22.11.2024 15:51

    Для себя нашел полезным Webix.
    В разработке с 2014.
    Webix хорошо расширяется своими контролами, типа текстовый редактор, редактор BPMN, Flow, Timeline диаграм и т.п.
    В 2019 создали на его базе Low Code и клепаем веб-приложения.


  1. shsv382
    22.11.2024 15:51

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


    1. DTPlayer
      22.11.2024 15:51

      Для себя нашел Tailwind очень полезным. Если писать код на фреймоврке(где у тебя и так весь код разбит на компоненты) то я с такими проблем не встречался. Напрягает длинна классов - есть такая штука как @apply внутри css класса - и вот вам счастье.

      Он просто сам по себе очень гибок и позволяет быстро накидать то, что требуется. Нужно больше гибкости - Native CSS / SCSS вам в помощь.


      1. shsv382
        22.11.2024 15:51

        Ну как бы...нет.

        Накидать 10 свойств CSS vs накидать 10 классов - тож на тож получается

        Ну а гибкость - она не больше, чем у CSS/SCSS

        Может, конечно, дело привычки (работал полгода верстальщиком на чистом SCSS), но мне вообще непонятны плюсы от его использования


  1. goose228
    22.11.2024 15:51

    jQuery, jQuery UI, jQuery Migrate, Modenizer, html5shiv :)


  1. zheglo
    22.11.2024 15:51

    а что, про UnoCSS никто не слышал?


  1. GrinEgor
    22.11.2024 15:51

    Для меня tailwind - редфлаг, и показатель деградировавшей комманды.

    Насколько надо быть извращенцем, чтобы вместо того чтобы в отдельном файле писать

    div {display: flex;  overflow: hidden;  padding-top: 1.5rem; padding-bottom: 1.5rem;  flex-direction: column;  justify-content: center;  min-height: 100vh;  background-color: #F9FAFB;   @media (min-width: 640px) {}}

    фигачить в шабыче вот ЭТО

    <div class="relative flex min-h-screen flex-col justify-center overflow-hidden bg-gray-50 py-6 sm:py-12">

    Change my mind


  1. polRk
    22.11.2024 15:51

    Привет статья из 2010


  1. habrbah
    22.11.2024 15:51

    День в день буквально :-)

    Understanding Modern Development Frameworks: A Guide for Developers and Technical Decision-makers

    https://www.freecodecamp.org/news/understanding-modern-development-frameworks-guide-for-devs/