Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.6K subscribers
2.88K photos
203 videos
47 files
5.18K links
Все самое полезное для фронтенда в одном канале.

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

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

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
Каким будет результат

Опрос ниже 🔜

🐸 Библиотека фронтендера

#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤔2
react-router-v7-cheatsheet.pdf
48.9 KB
📌 Шпаргалка React Router v7

React Router v7 объединил v6 и Remix в одну библиотеку. Два режима на выбор: легковесный Library Mode для SPA или полноценный Framework Mode с SSR.

Требования: Node.js 20+ и React 18+

Шпаргалка включает установку, роутинг, навигацию, работу с данными, формы и обработку ошибок с примерами кода.

🐸 Библиотека фронтендера

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥰2👍1
⚛️ React: избавляемся от вложенных условий в JSX

Глубокие тернарные операторы быстро превращают JSX в нечитаемый код. Более понятный подход — ранние возвраты и предсказуемая структура рендера.

⚠️ Важное правило Hooks

Все хуки должны вызываться на верхнем уровне компонента — до любых return и условных конструкций.

React требует, чтобы хуки выполнялись в одном и том же порядке при каждом рендере. Если порядок или количество хуков изменится, возникнет ошибка.

// Ошибка: хук после return
function Component({ data }) {
if (!data) return null;
const [value] = useState(data); // Хук вызван условно!
}

// Правильно: хуки перед return
function Component({ data }) {
const [value] = useState(data);
if (!data) return null;
}


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

Альтернатива: объектный маппинг

Подходит для компонентов с большим количеством состояний:

const STATE_COMPONENTS = {
loading: Spinner,
error: Error,
success: Content,
empty: Empty
};

function DataView({ status, ...props }) {
const Component = STATE_COMPONENTS[status];
return Component ? <Component {...props} /> : null;
}

Важно: храните компоненты, а не JSX-элементы, чтобы свободно передавать пропсы.

➡️ Когда что использовать:

⚪️ Early Returns — оптимальны в большинстве случаев (loading / error / success).

⚪️ Объектный маппинг — подходит, когда состояний много и они определяются строковым статусом: этапы процессов, статусы заказов, типы уведомлений, шаги визардов.

💡 Начинайте с early returns — это самый простой и понятный вариант. Переходите на маппинг только тогда, когда это действительно упрощает код.

🐸 Библиотека фронтендера

#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🥰3
Speculation Rules API: нативные мгновенные переходы

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

В карточках: как работает API, чем он отличается от prefetch, как браузер предсказывает клики и почему нативный prerender даёт реальный прирост скорости.

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека фронтендера

#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
💫 CSS в движении: 4 базовых эффекта

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

Каждый эффект — это @keyframes и несколько строк CSS. Копируйте и адаптируйте под свои задачи.

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека фронтендера

#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2🥰2
AI в браузере — это уже реальность, а не будущее

TensorFlow.js, WebGL, сложная визуализация данных на Canvas. Фронтенд становится умнее. Чтобы внедрять ML-фичи на клиенте и понимать, как оптимизировать вычисления, чтобы не «повесить» вкладку пользователя, нужна математическая база.
Завтра мы запускаем курс «Математика для разработки AI-моделей».

Разберём всё: от матриц до градиентов, но понятным языком и с прицелом на практику.

Цена вопроса:
28 200 ₽.

Старт:
Уже завтра.

Забирайте знания, пока цена праздничная:
👉 Узнать детали и записаться

🎁 Вводный тест: @proglib_academy_webinar_bot
4🙏2
🧩 Архитектура, которая делает код предсказуемым

Смешивание бизнес-логики и побочных эффектов приводит к хрупкости системы: тесты становятся тяжёлыми, изменения — рискованными, а переиспользование — ограниченным.

➡️ Imperative Shell — работа с внешним миром


email.bulkSend(
generateExpiryEmails(
getExpiredUsers(db.getUsers(), Date.now())
)
);


Оболочка отвечает только за взаимодействие с БД и отправку сообщений. Бизнес-логика остаётся неизменной и предсказуемой.

➡️ Переиспользование без боли

Добавление новой функциональности не требует переписывать логику — только меняется контекст использования:


const fiveDaysFromNow = ...
email.bulkSend(
generateReminderEmails(
getExpiredUsers(db.getUsers(), fiveDaysFromNow)
)
);


💡 Принцип простой:

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

Результат — тестируемый, модульный и надёжный код, устойчивый к изменениям.

🔗 Источник: Google Testing Blog

🐸 Библиотека фронтендера

#blueuprint #react
Please open Telegram to view this post
VIEW IN TELEGRAM
5🥰2🔥1
🚀 WebGPU получил поддержку всех браузеров

Chrome, Edge, Firefox и Safari официально добавили WebGPU — новый низкоуровневый API для работы с видеокартой прямо в браузере.

Что это меняет:

🟡 Современная 3D-графика — чище и мощнее WebGL, новые шейдеры и нормальная типизация

🟡 ML в браузере — Transformers.js и ONNX Runtime гоняют модели локально с GPU-ускорением

🟡 Рост производительности — Render Bundles дают ускорение рендеринга до х10

🟡 Тяжёлые вычисления — видео, физика и генеративная графика работают почти как в десктопных движках

Статус платформ:

• Android — поддержка с Chrome 121+;
• Linux и Intel Mac — в активной разработке;
• WebGPU уже пригоден для production: экосистема растёт, документация стабилизируется.

🔗 Источник

🐸 Библиотека фронтендера

#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41🥰1😁1