Webdev сохраненки
13 subscribers
137 photos
17 videos
7 files
353 links
Tips and tricks и прочие полезности из области веб-разработки, а также репосты понравившихся материалов
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
View Transition API позволяет анимировать flex и grid позиционирование 🧑‍🎓

С его помощью ты сможешь делать плавные переходы align-content и justify-content, всего в пару строчек JS

function setRandomAlignments() {
document.body.style.alignContent = positions[getRandomInt(3)]
document.body.style.justifyContent = positions[getRandomInt(3)]
}

document.body.addEventListener('click', e => {
if (!document.startViewTransition)
setRandomAlignments()
else
document.startViewTransition(() => {
setRandomAlignments()
})
})

CodePen (работает в хроме начиная со 111 версии, 63.55% по caniuse)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from FrontEndDev
Возможности JS и TS, о которых многие не знают

Теггированые шаблонные литералы, Promise.allSettled, globalThis, WeakRef, явное определение неиспользуемых переменных и многое другое.

https://my-js.org/blog/js-ts-features
Forwarded from Frontender's notes [ru]
​​🤠Открываем и закрываем модалки на Vue Composition API

В этой статье автор расскажет, как Composition API позволяет нам переиспользовать логику в разных компонентах и избавить нас от лишнего дублирования, и можно ли передать внутри <template> в функцию не значение, а Proxy, а также вы узнаете как функция open умеет не только менять состояние у proxy, но и вызывать передаваемую в нее функцию.

Читать...
Что нового из CSS я уже использую в продакшене? 🛁

Я всё время пишу про новые CSS фичи, но большинство из них ещё не готово к использованию в реальных проектах, сегодня хочу поделиться, какими современными CSS фичами я пользуюсь в продакшене

1. Псевдоселектор :has — мощный селектор для выбора родительского элемента, который содержит в себе конкретный дочерний элемент (87.43% на caniuse)
2. display: contents — перестаёт отображать элемент, как будто его не существует в DOM, очень удобно для адаптива (95.83% на caniuse)
3. Псевдоселектор :is — удобно для сокращения повторящихся вложенностей для конкретного селектора (96.91% на caniuse)
4. Псевдоселектор :where — для меня это альтернатива для :is, но с нулевой специфичностью (92.82% на caniuse)
5. Псевдоселектор :focus-within — удобно стилизовать контейнер, который содержит инпут с фокусом (95.81 на caniuse)
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Javascript js frontend
This media is not supported in your browser
VIEW IN TELEGRAM
Book reviews

Верстка реализована при помощи CSS Grid. Анимации созданы библиотекой gsap.

#css
Forwarded from Веб-страница
Работа с GraphQL с помощью ванильного JavaScript

GraphQL — это язык запросов и серверная среда выполнения для API. Он разработан для того, чтобы сделать API быстрыми, гибкими и удобными для разработчиков. С момента его появления многие API перешли на поддержку GraphQL. Сегодня существуют различные библиотеки для работы с GraphQL, но иногда они могут быть избыточны для проекта.

Вы можете обойтись без лишних зависимостей, положившись на ванильный JS. Вот как это можно сделать:

https://blog.openreplay.com/working-with-graphql-with-vanilla-javascript/

#javascript #api #graphql
Forwarded from Frontender's notes [ru]
​​🚀Использование Ionic и Vue 3 для создания мобильных приложений

В этой статье мы рассмотрим процесс разработки мобильных приложений с использованием Ionic, Vue 3 и Capacitor, сочетающих в себе преимущества гибкости Vue.js и возможности кросс-платформенной разработки Ionic и Capacitor.

Читать...
Vue Vine

Vue Vine - легковесная библиотека для управления состоянием и асинхронными операциями в приложениях Vue.js. Ее основной концепцией является использование винов (Vines) для описания и выполнения асинхронных операций. Vue Vine предоставляет чистый и декларативный API для управления данными и обновления состояния приложения. Она интегрируется хорошо с компонентами Vue.js и позволяет упростить разработку асинхронных операций, обеспечивая чистоту и модульность кода.

👉 @sWebDev
Что значит текст max call stack size exceeded в консоли?

Текст "max call stack size exceeded" в консоли означает, что было достигнуто максимальное количество вызовов функции в стеке вызовов JavaScript. Стек вызовов - это механизм, который используется для отслеживания выполнения функций. Каждый раз, когда функция вызывается, она помещается в стек вызовов. Когда функция заканчивает свое выполнение, она удаляется из стека вызовов.

Когда функция вызывает саму себя рекурсивно без остановки, то каждый новый вызов функции добавляется в стек вызовов, и если количество вызовов становится слишком большим, то возникает ошибка "max call stack size exceeded". Это происходит потому, что стек вызовов имеет ограниченный размер и не может бесконечно увеличиваться.

Чтобы решить эту проблему, нужно переписать код таким образом, чтобы рекурсивные вызовы функции прекращались на определенном условии. Например, можно добавить условие, которое проверяет, достигнуто ли максимальное количество вызовов функции, и если да, то прекратить рекурсивные вызовы. Также можно использовать циклы вместо рекурсии, чтобы избежать проблемы с переполнением стека вызовов.

👉 @frontendInterview