WebDev+ | Веб-разработка
8.32K subscribers
504 photos
241 videos
10 files
700 links
Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки

Связь: @devmangx
Download Telegram
Становится сложно не отставать от всех новых возможностей CSS.

@WebDev_Plus
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Создавай красивые карты для своего веб-сайта или приложения.
Бесплатно, без настройки и одной командой:

http://github.com/AnmolSaini16/mapcn

@WebDev_Plus
2
Ускорьте рендеринг с помощью content-visibility: auto

Это CSS-свойство пропускает рендеринг контента вне экрана до тех пор, пока он не понадобится, давая серьёзный прирост производительности на длинных страницах.

⋅ Хорошо сочетается с contain-intrinsic-size
⋅ Ленивый рендеринг практически «из коробки» (zero-effort)

Подробнее 👇
https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
Фильтрация по геолокации — частое требование:

- «найти поблизости»
- «в радиусе X км»
- «отсортировать по расстоянию»

Eloquent scope помогает избежать дублирования Haversine-запросов.

Можно вынести это в Trait, чтобы использовать в нескольких моделях.

Или даже оформить как Package для использования в разных проектах.


@WebDev_Plus
1
Скоро можно будет попрощаться с Date() в JavaScript.

Temporal API уже находится на стадии Stage 4 и поддерживается в Chrome, Edge и Firefox. Поддержка — около 65% браузеров!

Новый способ работы с датами и временем.
С большим количеством утилит и улучшений:

@WebDev_Plus
❤‍🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
JavaScript Array.with() — обновление неизменяемого массива в одном выражении

@WebDev_Plus
🔥2
push(), pop(), shift() и unshift() в JavaScript 👇

Это базовые методы массива, используемые для добавления или удаления элементов в начале или в конце массива.

Важные моменты:
▪️push() → добавляет элементы в конец массива
▪️pop() → удаляет последний элемент
▪️shift() → удаляет первый элемент
▪️unshift() → добавляет элементы в начало массива

Помните, что все эти методы изменяют исходный массив (они мутабельные).

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Laravel tip

Знал ли ты, что CarbonPeriod может генерировать все даты в заданном диапазоне?

Больше никаких пропущенных дней в графиках.

@WebDev_Plus
2
В Next.js 16.2 ошибки браузера теперь напрямую прокидываются в терминал во время разработки

Больше не нужно переключаться в консоль браузера, чтобы дебажить client-side ошибки.

Особенно полезно для AI-агентов, которые не могут открыть DevTools и посмотреть ошибки в браузере.

@WebDev_Plus
CSS-совет:

Создавайте плавные переходы между страницами всего одной строкой CSS

@WebDev_Plus
На случай, если ты не знал: React концептуально не изобрёл RSC, SSR или Hydration.

SSR — это по сути Express:

app.get('/', (req, res) => {
res.render('index', { name: 'John' })
})


RSC — это Pug:

if name == "Bob"
button(class="btn") Hello Bob
else
button(class="btn") My name is #{name}


Hydration — это jQuery:

$('.btn').click(...)


Отсюда и следствия: в SSR нет window, в RSC нельзя навесить onClick, а проблемы с hydration были ещё в jQuery (например, опечатка в .btn), просто тогда это называлось не так модно.

@WebDev_Plus
Точно измеряйте производительность своего кода

performance.mark() и performance.measure() позволяют вам инструментировать JavaScript, используя высокоточные тайминги.

Узнайте больше 👇
https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Свойство transitionType для ссылок (Links) в Next.js 16.2
(требует дополнительной настройки для <ViewTransitions />)

<ViewTransitions> всё ещё является экспериментальной возможностью в Next.js и не рекомендуется для продакшена

Полное демо 👇

https://github.com/SidKH/gist-of-next-demos/blob/cursor/view-transition-transition-types-demo/README.md

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
CSS-совет:

Используйте svh, чтобы мобильная адресная строка не скрывала ваш UI. Это гарантирует точное соответствие видимой области экрана.

@WebDev_Plus
1
React / JS / TS приём

Используйте символы (Symbol) вместо null/undefined для представления отсутствующих значений.

Этот пример провайдера в React:

- позволяет передавать null
- при этом всё ещё проверяет, что пользователь не забыл обернуть в <Provider>

Бывают случаи, когда null — это вполне валидное значение контекста (ctx).

@WebDev_Plus
2
Это поможет вашим пользователям не уходить со страницы случайно — особенно при прокрутке таблицы или слайдера.

Запомните мои слова 😁

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Рарзраб прошёл через все круги ада, чтобы принести вам, на ближайшие годы, один из ключевых фундаментальных инструментов UI-инжиниринга (если не в реализации, то хотя бы в концепции): быстрый, точный и полный алгоритм измерения текста на стороне пользователя на чистом TypeScript, который можно использовать для верстки целых веб-страниц без CSS, обходя измерения DOM и перерасчёт reflow.

Верстка и измерение текста были последним и самым большим узким местом для создания более интересных UI, особенно в эпоху ИИ.

С этим решением больше не нужно выбирать между эффектностью GL-лендинга и практичностью статьи в блоге. Демки: тут

Установить через npm или bun:

npm install @chenglou/pretext
# или
bun add @chenglou/pretext


И используйте его, чтобы дать волю своему ИИ и создавать крутые демки 😶

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
Вложенность CSS теперь является базовым стандартом!

Теперь можно писать вложенные селекторы прямо в CSS, как в Sass, но без использования препроцессоров. Просто пишите чистый CSS

Пример:

.card {
color: black;
&:hover { color: blue; }
.title { font-weight: bold; }
}

Что изменилось?
Теперь вам не нужно использовать препроцессоры, чтобы работать с вложенными селекторами. Всё доступно прямо в стандартном CSS

@WebDev_Plus
5
This media is not supported in your browser
VIEW IN TELEGRAM
CSS-тени. Глубина, которая действительно ощущается реалистично.

@WebDev_Plus
Если вы знаете эти строки CSS, вы можете сверстать 80% макетов 👇

display: flex;
justify-content: center;
align-items: center;

display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));

position: relative;
gap: 1rem;


@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Мгновенно извлекайте всю дизайн-систему любого сайта

Dembrandt — это NPM-пакет, который сканирует сайт и вытаскивает его визуальные стилевые параметры: цвета, типографику, отступы и паттерны лейаута.

Вместо того чтобы вручную инспектировать стили в DevTools, вы можете быстро понять, как сайт структурирован и стилизован

GitHub тут, сайт здесь 👜
Please open Telegram to view this post
VIEW IN TELEGRAM