Frontend Portal
40.2K subscribers
1.22K photos
435 videos
7 files
875 links
Присоединяйтесь к нашему каналу и погрузитесь в мир фронтенд-разработки

Связь: @devmangx

РКН: https://clck.ru/3Fs3wT
Download Telegram
Forwarded from IT Portal
TypeScript теперь работает на Go

Команда TS выкатила предварительную нативную версию компилятора на Go для тестирования

Ускорение впечатляющее — до 10x на реальных проектах. Например, в кодовой базе Sentry (~1,5 млн строк) время проверки типов снизилось с 55 до 6,8 секунд.

Чтобы попробовать новую версию, установите её отдельно: npm install -D @typescript/native-preview. После этого используйте tsgo вместо привычного tsc. Когда выйдет полноценный релиз (TypeScript 7), tsc и станет той самой Go-версией. Пока, для удобства тестирования, это отдельный бинарник

Плюс расширение в VS Code: “TypeScript (Native Preview)”. После установки его нужно вручную включить через палитру команд: TypeScript Native Preview: Enable (Experimental)

@IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это реально одна из самых впечатляющих штук, сделанных для веба

Знакомьтесь — Horizon Drive, браузерная игра от команды Shopify. Под капотом чистый JS, Three.js и React Three Fiber

Вы не поверите (и проверите), но это жутко залипательно 😳

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Новая фишка в Chrome DevTools — теперь можно аннотировать перформанс-трейсы с помощью Gemini

Разрабы из Google прикрутили ИИ прямо в инструменты производительности: кликаешь два раза по ивенту в Main-треке, жмёшь «Generate label», и Gemini на основе стека вызовов и контекста подсказывает, что там вообще происходит

Фича полезная, особенно для глубокого разбора. Стоит попробовать ✌️

Работает с версии Chrome 137

➡️ @FrontendPortal | #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Проблема: Вам нужно объявить типы в обычных .js файлах.

Решение: Используйте комментарии JSDoc.

Вот как это сделать.

➡️ @FrontendPortal | #tip
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Мультиколонки

Основная идея мультиколонок заключается в том, что вы можете взять фрагмент содержимого и поместить его в несколько колонок, как в газете

.article {
// Шорткат columns даёт возможность указать значения для свойств column-count и column-width одновременно, задав количество и ширину колонок
columns: 2 200px;
column-gap: 25px;
}
.title{
// Свойство column-span позволяет элементу растянуться на несколько колонок
column-span: all;
}


➡️ @FrontendPortal | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Наткнулся на полезняшку для тех, кто не любит тащить весь репозиторий ради пары файлов — GitZip

Расширение для браузера, которое позволяет скачивать отдельные файлы или папки из любого GitHub-репо

Доступно в Chrome, Edge и Firefox

➡️ @FrontendPortal | #resourse
Please open Telegram to view this post
VIEW IN TELEGRAM
Chrome 137 подъехал. В CSS добавили функцию if. Да-да, условные конструкции прямо в стилях 😧

Ещё из интересного — завезли reading-flow и reading-order. Теперь можно управлять таб-навигацией в flex и grid без костылей. Это решает старую проблему в макетах, когда порядок фокуса может не совпадать с визуальным расположением элементов

Плюс WebAssembly теперь понимает промисы через API JSPI

Мелкие ништяки: изоляция Blob URL по storage key, добавлена поддержка offset-path: shape() и float-пикселей в Canvas

Подробнее: https://developer.chrome.com/blog/new-in-chrome-137

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел Angular v20

‣ Стабилизация API реактивности и инкрементальной гидратации
‣ Интеграция с Chrome DevTools
‣ Улучшенная проверка типов, упрощённый гайд по стилю и другое
‣ RFC на официального маскота Angular
‣ И многое другое

Подробнее: https://goo.gle/angular-v20-blog

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Ещё одна свежая фича в Chrome DevTools — с помощью Gemini (это ИИ-моделька гугла) можно править CSS прямо в Elements и сразу сохранять изменения в исходники

Никакого копипаста между браузером и редактором. Внес правку — она тут же в проекте. Плюс — можно тестить на лету

Годнота 👍

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Math.random() пора на пенсию

В JavaScript появилась новая предложенная возможность — добавить пространство имён Random в язык

Это новый глобальный объект Random с более чем 20 методами для работы со случайностью в JS — включая перемешивание, выборку, взвешенный выбор, генераторы с сидом и т. д.

Предложение на днях достигло 1 этапа в TC39: https://github.com/tc39/proposal-random-functions

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Как добавить эффект буквицы всего двумя строками CSS

Примечание: В Firefox это работает только с префиксом вендора -webkit-initial-letter

Селектор ::first-letter можно использовать не только для задания свойства initial-letter, но также для добавления отступов, изменения цвета или настройки шрифта

➡️ @FrontendPortal | #CSS
Please open Telegram to view this post
VIEW IN TELEGRAM
Теперь можно официально получить гордый титул HTML-программиста 😎

Если вдруг пропустили: вчера заработала платформа от Минцифры, где можно добровольно пройти тесты и официально подтвердить свои ИТ-навыки

За прохождение получите сертификат HTML-программиста. Документ будет лежать в личном кабинете на Госуслугах и действовать целый год

Вопросы там... интересные. Где ещё вы найдёте "Как подключить CSS?" на продвинутом уровне или сможете вспомнить, что div — это блочный элемент, а span — нет.

Пройти можно на Госуслугах или напрямую на hh.ru

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Годная JS-либа для реализации drag-and-drop списковSortable

Живёт уже не первый год, проверена временем и продом. Поддерживает перетаскивание элементов как внутри одного списка, так и между несколькими. Работает на нативном Drag and Drop API

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

➡️ @FrontendPortal | #resourse
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по веб-доступности: Лучший способ сделать ссылки только с иконками доступными для скринридеров

Иногда нужно создавать ссылки, содержащие только иконку. Например: ссылки для шеринга поста

Но такие ссылки недоступны для пользователей скринридеров

Чтобы это исправить, можно задать подпись в скрытом элементе и связать его с тегом <a> с помощью атрибутов aria-labelledby и id. Также установите aria-hidden="true" на SVG-иконку, чтобы скринридеры её пропускали

➡️ @FrontendPortal | #tip by Shripal Soni
Please open Telegram to view this post
VIEW IN TELEGRAM
Дэн Абрамов недавно выкатил годную статью о новом способе передачи данных с сервера — Progressive JSON

Если коротко: это когда JSON едет с сервера не целиком, а разбивается на куски и отправляется по мере готовности. Таким образом, мы можем начать рендер раньше, не дожидаясь всех данных. Да, прямо как Progressive JPEG, где сначала мыльцо, потом чёткость

Т.е., сначала прилетает каркас с заглушками:
{
"imageUrl": "$1",
"title": "$1",
"comments": "$3"
}


Здесь $1, $2, $3 — это заглушки, которые будут постепенно заменены в потоке. На клиенте они обработаются как промис

Этот подход реализован в React Server Components и удобен для прогрессивного появления UI

Если не читали и вам интересна тема оптимизации загрузки данных — мастрид: Progressive JSON. Или можно глянуть в формате видео на YouTube

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Если нужно быстро сгенерировать кастомный SVG-лоадер — вот отличная опенсорс-тулза. Гибкая настройка: цвет, скорость, размер и прочее по вкусу

Закидывайте в закладки — пригодится: http://loaders.holasvg.com

➡️ @FrontendPortal | #resourse
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Новый эффект от Apple, воссозданный на вебе с помощью HTML, CSS и SVG-фильтров

Для тех, кто пропустил: Apple представила новый дизайн — «Жидкое стекло».

Энтузиасты уже воссоздали эффект подложки с помощью HTML, CSS и SVG-фильтров

Работает в Chrome, но, иронично, не в Safari 😅

https://codepen.io/Mikhail-Bespalov/pen/MYwrMNy

➡️ @FrontendPortal
Please open Telegram to view this post
VIEW IN TELEGRAM