Во ВКонтакте серьезно обновили frontend-архитектуру
Речь про переход ключевых разделов vk.com на SPA: ленты, профилей, сообществ, мессенджера и других сценариев, то есть про реальный highload frontend.
Что получили:
→ первая отрисовка страницы ускорилась на 25%
→ переходы между разделами — в 3.5 раза быстрее
→ интерфейс сразу показывает каркас страницы, а затем догружает контент
Из интересного по инженерке:
→ деплой фронтенда сократился до 20 секунд
→ 6–8 релизов в сутки
→ 100+ merge request ежедневно попадает в прод
Переход делали постепенно и без изменения привычного интерфейса.
https://www.cnews.ru/news/line/2026-06-03_vkontakte_obnovila_veb-platformu
➡️ @FrontendPortal
Речь про переход ключевых разделов vk.com на SPA: ленты, профилей, сообществ, мессенджера и других сценариев, то есть про реальный highload frontend.
Что получили:
→ первая отрисовка страницы ускорилась на 25%
→ переходы между разделами — в 3.5 раза быстрее
→ интерфейс сразу показывает каркас страницы, а затем догружает контент
Из интересного по инженерке:
→ деплой фронтенда сократился до 20 секунд
→ 6–8 релизов в сутки
→ 100+ merge request ежедневно попадает в прод
Переход делали постепенно и без изменения привычного интерфейса.
https://www.cnews.ru/news/line/2026-06-03_vkontakte_obnovila_veb-platformu
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣56😁13👍11🥱6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
А ты знал, что в VS Code можно мгновенно выделить всё содержимое между парными скобками? 🤯
Просто дважды кликни внутри пары
Мелкая фишка, но при редактировании кода она может неожиданно сэкономить кучу времени✌️
➡️ @FrontendPortal
Просто дважды кликни внутри пары
{} или (), и VS Code автоматически выделит весь код, который находится между ними.Мелкая фишка, но при редактировании кода она может неожиданно сэкономить кучу времени
Please open Telegram to view this post
VIEW IN TELEGRAM
❤54🔥23🤔3🥱3👨💻3🤣2😱1
This media is not supported in your browser
VIEW IN TELEGRAM
Релизнулся Chrome 149! Наконец-то появилась возможность стилизовать gaps в CSS Grid и Flexbox.
Внешний вид календаря теперь тоже можно легко реализовать с помощью CSS Grid
➡️ @FrontendPortal
Внешний вид календаря теперь тоже можно легко реализовать с помощью CSS Grid
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63❤16🤣8🔥3😱2
Cloudflare купила компанию, стоящую за Vite!
Компанию создателя Vue — Эвана Ю.
Теперь Cloudflare также владеет проектами Vitest, Rolldown, Oxc... Ранее у них уже был Astro. Теперь ещё и Vite.
Это даёт Cloudflare контроль над всем стеком. У них теперь есть все примитивы: frontend/backend-фреймворк, линтинг, тестирование, форматирование, JS runtime, база данных, KV, инференс, blob storage, access и так далее.
Умный ход. Аккуратно упакованный набор, который можно скормить LLM, чтобы она собрала сайт✌️
➡️ @FrontendPortal
Компанию создателя Vue — Эвана Ю.
Теперь Cloudflare также владеет проектами Vitest, Rolldown, Oxc... Ранее у них уже был Astro. Теперь ещё и Vite.
Это даёт Cloudflare контроль над всем стеком. У них теперь есть все примитивы: frontend/backend-фреймворк, линтинг, тестирование, форматирование, JS runtime, база данных, KV, инференс, blob storage, access и так далее.
Умный ход. Аккуратно упакованный набор, который можно скормить LLM, чтобы она собрала сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤34😱18🔥2🤣2👍1
Создать прикольную анимацию сайдбара на CSS не так уж сложно ☺️
Здесь мы делаем простую анимацию, чтобы скрывать и показывать сайдбар, одновременно сдвигая основной контент страницы вправо.
Если хочешь, можно сделать анимацию проще: убрать
Экспериментируй с разными значениями timing functions, длительностью и другими параметрами, чтобы добиться нужного эффекта
➡️ @FrontendPortal | #CSS
Здесь мы делаем простую анимацию, чтобы скрывать и показывать сайдбар, одновременно сдвигая основной контент страницы вправо.
Если хочешь, можно сделать анимацию проще: убрать
scale и оставить только translate.Экспериментируй с разными значениями timing functions, длительностью и другими параметрами, чтобы добиться нужного эффекта
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍10🤣3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Метод для возврата элемента массива по указанному индексу
Он действует почти как скобочная запись
➡️ @FrontendPortal | #js
Он действует почти как скобочная запись
array[index], за исключением того, что индекс может быть отрицательнымPlease open Telegram to view this post
VIEW IN TELEGRAM
❤20👍6😱5🤯2🥱2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Принес небольшую коллекцию красивых переходов 😳
Внутри готовые анимации для карточек, меню, уведомлений, загрузок, переключателей и других элементов интерфейса. Всё можно сразу посмотреть, скопировать и украсть себе в проект.
https://transitions.dev/
➡️ @FrontendPortal
Внутри готовые анимации для карточек, меню, уведомлений, загрузок, переключателей и других элементов интерфейса. Всё можно сразу посмотреть, скопировать и украсть себе в проект.
https://transitions.dev/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29👍15🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал мощный редактор с кучей красивых готовых mesh-градиентов, которые можно визуально кастомизировать и экспортировать как изображения или даже анимированные видео
https://colorflow.ls.graphics/
➡️ @FrontendPortal
https://colorflow.ls.graphics/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤17
React Compiler на Rust почти готов
Команда React практически завершила перенос React Compiler с TypeScript на Rust. Новая версия уже используется внутри компании и показывает очень уверенные результаты:
• 99,9% паритета с текущей реализацией на TypeScript
• около 25% прироста производительности
• более глубокая интеграция с экосистемой Rust-инструментов, включая SWC и OXC
Отдельно интересно, что часть портирования проходов компилятора выполнялась с помощью вайб-кодинга
Сейчас команда занимается финальной полировкой, тестированием и сбором обратной связи. По словам разработчиков, уровень уверенности в новой реализации уже достаточно высок, и PR планируют смержить в ближайшие недели
Параллельно экосистема уже готовится к переходу на новую версию. Для React Compiler на Rust появились черновые интеграционные PR для:
• Oxc
• SWC
• Bun
➡️ @FrontendPortal
Команда React практически завершила перенос React Compiler с TypeScript на Rust. Новая версия уже используется внутри компании и показывает очень уверенные результаты:
• 99,9% паритета с текущей реализацией на TypeScript
• около 25% прироста производительности
• более глубокая интеграция с экосистемой Rust-инструментов, включая SWC и OXC
Отдельно интересно, что часть портирования проходов компилятора выполнялась с помощью вайб-кодинга
Сейчас команда занимается финальной полировкой, тестированием и сбором обратной связи. По словам разработчиков, уровень уверенности в новой реализации уже достаточно высок, и PR планируют смержить в ближайшие недели
Параллельно экосистема уже готовится к переходу на новую версию. Для React Compiler на Rust появились черновые интеграционные PR для:
• Oxc
• SWC
• Bun
Please open Telegram to view this post
VIEW IN TELEGRAM
❤36🌚8😁3👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Откопал интересную штуку для UI
Набор кастомизируемых pixel-grid спиннеров в стиле retro flip-dot дисплеев: можно выбрать готовый вариант, собрать свой в визуальном редакторе и экспортировать в SVG, React, Flutter и другие форматы
https://flicker.laurie.fyi/gallery
➡️ @FrontendPortal
Набор кастомизируемых pixel-grid спиннеров в стиле retro flip-dot дисплеев: можно выбрать готовый вариант, собрать свой в визуальном редакторе и экспортировать в SVG, React, Flutter и другие форматы
https://flicker.laurie.fyi/gallery
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29🔥16🤣6
Совет по JS: возможно, вы не знали про способ автоматически экранировать обратные слэши в строке
Используйте
Она трактует
➡️ @FrontendPortal | #tip by Shripal Soni
Используйте
String.raw, она возвращает строку как есть, без обработки escape-последовательностей вроде \t, \n и т.д.Она трактует
\ и t как отдельные символы и автоматически экранирует обратный слэш в выходной строке.Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤9🤯3
This media is not supported in your browser
VIEW IN TELEGRAM
Что, если «Следствие вели…» снимали бы в офисном сеттинге в IT-компании? Мы могли бы об этом только фантазировать, если бы… Авито взял и не снял свой выпуск с Леонидом Каневским 🔥
Мы ещё не успели посмотреть: планируем оставить на вечер. Говорят, легенда тру-крайма там расследует внезапный рост ошибок 404 на endpoint аватарок (реальный кейс команды AvitoTech, кстати!).
Смотрим, чтобы услышать будущие легендарные цитаты... ну и чтобы в вашей команде такого не случилось!
📱 YouTube
📱 Rutube
📱 VK Видео
Мы ещё не успели посмотреть: планируем оставить на вечер. Говорят, легенда тру-крайма там расследует внезапный рост ошибок 404 на endpoint аватарок (реальный кейс команды AvitoTech, кстати!).
Смотрим, чтобы услышать будущие легендарные цитаты... ну и чтобы в вашей команде такого не случилось!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9😁8❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Отличная JS-либа для слайдеров и каруселей, которая избавляет от необходимости собирать всё с нуля.
Хорошая, лёгкая альтернатива Swiper👍
https://splidejs.com/
➡️ @FrontendPortal | #resourse
Хорошая, лёгкая альтернатива Swiper
https://splidejs.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38🤔3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Очередная новинка в CSS на подходе —
Это решение для того самого Pinterest-лайаута: карточки разной высоты, которые плотно заполняют пространство без пустых дыр.
До сих пор подобные сетки обычно собирали через JavaScript и библиотеки вроде Masonry.js. Это добавляло лишние вычисления в рантайме, а при изменении размеров окна такие раскладки нередко начинали тормозить или ломаться.
Ребята из Apple подготовили отдельный сайт с примерами и подробным гайдом по
https://gridlanes.webkit.org
Пока фича доступна только в Safari, но позже должна появиться и в других браузерах.
➡️ @FrontendPortal
display: grid-lanesЭто решение для того самого Pinterest-лайаута: карточки разной высоты, которые плотно заполняют пространство без пустых дыр.
До сих пор подобные сетки обычно собирали через JavaScript и библиотеки вроде Masonry.js. Это добавляло лишние вычисления в рантайме, а при изменении размеров окна такие раскладки нередко начинали тормозить или ломаться.
Ребята из Apple подготовили отдельный сайт с примерами и подробным гайдом по
grid-lanes:https://gridlanes.webkit.org
Пока фича доступна только в Safari, но позже должна появиться и в других браузерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥28❤13🥱3