Хитрости объектно-ориентированного программирования. Часть 5: Правило бойскаутов


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

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

Font Awesome

Более чем уверен, что большинство из вас хотя бы раз использовали иконки Font Awesome, одной из самых первых популярных библиотек с открытым кодом. В настоящее время ее галерея содержит в целом 1588 бесплатных и 7 842 платных иконок.

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

Font Awesome предлагает еще одну интересную возможность — создание персональной ссылки на CDN при наличии аккаунта (на соответствующем сервисе). Это позволит вам задать условие для исключения обычных иконок и использования только двухцветных. 

Конечно, вы также можете включить только пару иконок, напрямую скопировав код SVG. Я бы настоятельно посоветовал это делать при условии, что вы не используете больше 20–30 значков на сайте. 

Существует много способов использования возможностей Font Awesome: копирование источника SVG одной иконки, загрузка библиотеки или использование общего или их персонального CDN. У них есть прекрасная страница, которая поможет начать работу с Font Awesome. 

  • Демо.
  • 2. Репозиторий на Github.

    Ionicons

    Ionicons.io — еще одна библиотека SVG с открытым кодом, содержащая 457 иконок в трех разных стилях: контурные, заливные и заостренные. Здесь мне особенно нравится простой и понятный дизайн контуров и форм. Почему бы не использовать их в своем будущем проекте?

    Использование Ionicons сопровождается хорошей документацией. Если вам нужна вся библиотека вместо отдельной SVG иконки, можете включить следующий скрипт в футер (нижний блок сайта): 

    <script src="https://unpkg.com/[email protected]/dist/ionicons.js"> </script>

    После этого просто добавьте следующий элемент в HTML-шаблон и измените атрибут name в соответствии с иконкой, которую хотите показать, вот таким образом: 

    <ion-icon name="heart"></ion-icon>

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

  • Демо.
  • 2. Репозиторий на Github.

    CSS.gg

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

    В свое время возникало много споров по поводу того, что лучше использовать с точки зрения производительности: CSS или SVG. Но позднее создатель библиотеки @astritmalsija запустил форматы SVG, SVG Sprite, Figma и Adobe XD для второй версии, предложив таким образом более широкий выбор реализаций. 

    Начать работу с CSS.gg очень просто: надо лишь выполнить команду npm -i css.gg и затем включить следующую таблицу стилей в тег head: 

    <link href='https://css.gg/css' rel='stylesheet'>

    Также существуют альтернативы CDN, а именно UNPKG или JSDelivr:

    <!-- UNPKG --> <link href='https://unpkg.com/css.gg/icons/all.css' rel='stylesheet'> <!-- JSDelivr --> <link href='https://cdn.jsdelivr.net/npm/css.gg/icons/all.css' rel='stylesheet'>

    Более подробная информация о том, как начать использование CSS.gg, содержится в инструкциях официального репозитория на Github.

  • Демо.
  • 2. Репозиторий на Github.  

    Feathericons

    Представляю вам Feathericons, внешне привлекательную и понятно устроенную библиотеку с 282 SVG иконками. По умолчанию ее основным форматом является SVG, так как на данный момент он является самым быстрым способом работы со значками.

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

    Для начала работы с Feathericons необходимо загрузить файл SVG и включить его в вашу разметку либо с помощью src, либо используя его в качестве встроенного объекта SVG. 

  • Демо.
  • 2. Репозиторий на Github. 

    Eva Icons ❤️

    Eva Icons — это набор из 480 искусно выполненных иконок с открытым кодом в форматах SVG и PNG. Для создания значков используются два основных стиля: контурный и заливной. Радует тот факт, что изначально можно выбирать анимационные эффекты при наведении курсора мыши на значки, например изменение масштаба, пульсацию или вибрацию. 

    Работа с Eva Icons начинается с загрузки файла SVG/PNG после выбора иконки или загрузки целого набора. Вы можете также добавить Eva Icons, установив пакет npm следующим образом: 

    npm i eva-icons
  • Демо.
  • 2. Репозиторий на Github.

    Heroicon

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

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

  • Демо.
  • Репозиторий на Github.
  • Bootstrap icons

    Данная библиотека включает свыше 600 пользовательских иконок с поддержкой SVG. На мой взгляд, она выгодно отличается от всех других с точки зрения дизайна. Если вам нравится использовать Bootstrap как CSS-фреймворк, то советую обратить внимание на Bootstrap 5 Icons и включить его в свой следующий проект.

    Для работы с Bootstrap 5 Icons необходимо скопировать код SVG, а затем применить его по своему усмотрению: либо используя как встроенный код, либо включая в качестве источника для образа, либо создавая классы псевдокода в CSS. Какой бы способ вы не выбрали, на сайте есть информация по реализации каждого из них. 

  • Демо.
  • Репозиторий на Github.
  • Remix Icon

    Remix Icon — это большая коллекция из 2149 красивых иконок с открытым кодом под лицензией Apache. Они распределены по таким категориям, как бизнес, общение, финансы, карта и многие другие. Эта библиотека определенно заслуживает вашего внимания. 

    Начинаем работу с Remix Icon либо с загрузки версий SVG или PNG, либо с копирования встроенного кода SVG в буфер обмена. В качестве альтернативы можно также загрузить весь пакет как один файл .svg или SVG-спрайт.

  • Демо.
  • Репозиторий на Github.
  • Octicons

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

    Огромное преимущество Octicons состоит в том, что его можно использовать как уже готовый пакет в React, Ruby, Rails, Jekyll и JavaScript. Здесь вы найдете список всех пакетов, необходимых для работы с Octicons. 

  • Демо.
  • Репозиторий на Github.
  • Ikonate

    Завершает наш список не менее интересная библиотека Ikonate, содержащая около 100 качественных иконок в плоском дизайне. Она находится под весьма лояльной и разрешительной лицензией MIT. 

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

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


    Перевод статьи


    Поделиться статьей:


    Вернуться к статьям

    Комментарии

      Ничего не найдено.