Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
23.2K subscribers
2.2K photos
120 videos
38 files
4.61K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
🎨Что, если бы мы сказали вам, что для создания графики вроде градиентов или эффекта дождя, может потребоваться всего несколько строк кода? Добро пожаловать в мир шейдеров!

👀 Перед вами крутой интерактивный гайд о том, как устроены шейдеры на уровне математики/кода и как применять их в вебе для создания визуальных эффектов.
Please open Telegram to view this post
VIEW IN TELEGRAM
398. Servo, селекты, State of JS, адвенты, OTMT, Math в CSS, @scope…
Веб-стандарты
🎙Свежий выпуск подкаста «Веб-стандарты»: Юля Миоцен, Вадим Макеев, Никита Дубко про Servo, селекты, State of JS, адвенты, подкаст OTMT, Math в CSS, @​scope, адаптивное видео, дизайн и разработку.

00:02:40 Движок Servo
00:09:07 Линейки в селектах
00:15:16 Дэшборд с браузерами
00:19:42 State of JS 2023
00:23:38 Адвенты для всех
00:36:55 Подкаст OTMT
00:42:17 Math-функции в CSS
00:49:55 Особенности @​scope
00:57:42 Адаптивное видео
01:08:41 Дизайнеры и разработчики

YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка | Сайт подкаста

#подкасты
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📯Внимание всем отважным героям и искателям приключений!

«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!

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

💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
Как использовать html-элемент <dialog>: гайд для фронтенд-разработчика

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

💬 Если в вашем проекте какой-то функционал уже реализован на JavaScript, при наличии/появлении нативных HTML-элементов вы проведете рефакторинг?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔘SVG viewBox: гайд для фронтенд-разработчика

Творческий туториал с интерактивными примерами, который объясняет, как использовать атрибут viewBox в SVG.

📌 Что внутри:

☑️ SVG как уникальный формат изображения и преимущества производительности
☑️ Встраивание SVG
☑️ Использование и анимация viewBox, манипуляции с viewBox
☑️ Учет масштабирования обводки
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Вы можете создавать микровзаимодействия, управляемые прокруткой, с помощью animation-timeline и кастомных свойств.

.search {
animation: shrink;
animation-timeline: scroll();
animation-range: 0 calc(var(--header-height) * 0.5);
}
@keyframes shrink {
to { width: calc(100% - var(--button-size)); }
}


Переменная --header-height используется для определения высоты контейнера заголовка. Вы можете использовать это для animation-range, применяемого в различных анимациях прокрутки 🤙

В качестве другого примера, вы можете анимировать появление тени (box-shadow) на заголовке, как только поиск зафиксирован 🍡

header {
animation: shadow;
animation-timeline: scroll();
animation-range:
var(--header-height)
calc(var(--header-height) * 1.5);
}
@keyframes shadow {
to { box-shadow: 0 5px 10px hsl(0 0% 0%); }
}


Все это работает на основе scroll() в animation-timeline, который подключается к прокрутке страницы. И затем используя --header-height в различных animation-range 

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

<a href="#">Back to top</a>


CSS :focus-within используется для активации плавной прокрутки только для этого взаимодействия.

html:focus-within {
scroll-behavior: smooth;
}


➡️ Поиграть можно здесь

#css #tip by Jhey
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👀67 странных приемов отладки, о которых ваш браузер не хочет, чтобы вы знали

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

📌Не самый свежий гайд, но он достоин того, чтобы остаться в ваших закладках.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
💭Какой JavaScript фреймворк или библиотеку вы бы посоветовали новичку-фронтендеру для изучения, который знаком с HTML/CSS и кодит на чистом JavaScript?

#холивар
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Дизайн-система Gravity UI: как легко построить свой интерфейс

Команда User Experience в Yandex Cloud выпустила дизайн-систему и библиотеку компонентов Gravity UI в опенсорс.

📌 Что внутри:
☑️ Набор базовых React-компонентов
☑️ Библиотека-конструктор для лендингов
☑️ Подробные гайды по использованию компонентов
☑️ Набор готовых иконок, в составе которого почти 600 вариантов
☑️ ChartKit — пакет для визуализации данных
☑️ Yagr — высокопроизводительный рендеринг графиков, основанный на uPlot
☑️ I18n — пакет для локализации интерфейса
☑️ Библиотека в Figma и ещё более 25 полезных библиотек

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

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

Какой курс выбрать?


🔹 Математика для Data Science

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

🔹 Алгоритмы и структуры данных

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

🔹 Основы программирования на Python

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

Если вы не знаете, какой курс вам подойдет, оставляйте заявку, и наш менеджер поможет с этим и любым другим вопросом – https://proglib.io/w/4dfcdde4
🎙️Подкаст Podlodka: TypeScript

У TypeScript — очень интересная история. Это первый крупный опенсорсный проект компании Microsoft, которая до этого воспринималась исключительно как империя зла. Он соревновался сразу с несколькими другими языками, включая Dart, и смог с огромным опережением их обойти.

TypeScript настолько глубоко проник в фронтенд-экосистему, что JavaScript де-факто зависит от него. Андрей Старовойт, тимлид команды WebStorm в JetBrains, который много лет занимался поддержкой TypeScript в IDE, рассказал всё про принципы дизайна языка, устройство системы типов, экосистему и известные проблемы.

⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка

#подкасты
P-00X-20F.pdf
1.4 MB
🆚 WebAssembly versus JavaScript: Energy and
Runtime Performance


🔎 Академическое сравнение требований к энергопотреблению и производительности JavaScript и WASM.

🙊 Спойлер: WebAssembly быстрее, чем JavaScript, и даже более энергоэффективен.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍Пошаговая разработка игры «Змейка»: видеогайд для начинающего фронтенд-разработчика от freeCodeCamp

Вы научитесь рисовать игровое поле с использованием JS, создавать змею со случайно сгенерированной едой, заставлять ее двигаться, увеличивать размер/скорость и многое другое.

👾 Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🤙 Использование контейнерных запросов и функции linear() для создания подобного подпрыгивающего переключателя на чистом CSS.


:root {
--magic-ease: linear( 0, 0.0039, 0.0157, 0.0352...);
}
label { container-type: size; }
label::after {
translate: calc(var(--active) * (100cqi - 100%)) -50%;
transition: translate 1s var(--magic-ease);
}
:checked ~ label { --active: 1; }


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

Хорошо здесь то, что если размер контейнера изменяется, перемещение всё равно работает.

👉 Поиграть можно здесь.

#css #tip by Jhey
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Представлен четвертый выпуск веб-фреймворка для создания контентно-ориентированных сайтов Astro с более быстрой сборкой, новым инструментом разработки и многим другим.

📌 Что внутри:


🔧 Панель инструментов Astro Dev
🔧 Internationalization (i18n) routing
🔧 Incremental Content Caching (экспериментальный)
🔧 Новые View Transition API
🔧 Переработанные логирование и документация


npm create astro@latest