Frontend.code - JS Разработка
218 subscribers
81 photos
1 video
79 links
Надежный источник знаний и вдохновения в мире frontend разработки.

https://t.me/frontenddotcode?boost

Практические примеры кода, подробные туториалы, советы от опытного разработчика, обзоры последних инструментов и технологий
Download Telegram
5 советов по улучшению вашего Typescript

Советы, приведенные в этой статье, помогут в полной мере использовать проверку типов в TypeScript и повысить качество кода

- Используйте операторы объединения ( | и & )
- Разделяйте типы на несколько видов, чтобы избежать необязательных свойств (в статье есть пример)
- С помощью предикатов можно создавать проверки принадлежности значения к определенному типу
- Используйте перечисления (enum)
- Будьте аккуратней с дженериками

Статья на английском

#js #ts #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Object.freeze

Object.freeze() используется для предотвращения изменений свойств объекта. После применения этого метода вы не сможете добавлять, изменять или удалять свойства объекта.

#js #junior #base #object
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция Pipe

Функция Pipe используется для передачи результата каждой функции по цепочке. Она аналогична оператору pipe в Unix и применяет все функции слева направо, используя функцию reduce():

Рассмотрим на примере связи трех функций:

- Добавить префикс к строке
- Добавить суффикс к строке
- Преобразовать строку в верхний регистр

Ранее мы разбирали функции:
debounce throttle once memoize curry

#js #middle #custom
Please open Telegram to view this post
VIEW IN TELEGRAM
Promise - async/await

Зачем нужны промисы, как они работают "под капотом" и как писать их наиболее современным способом?

Статья на английском

#js #core #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
Array.join

Метод join() в JavaScript используется для преобразования всех элементов массива в строку. Элементы будут разделены символом или строкой, которую вы передадите как аргумент. Если аргумент не указан, элементы будут разделены запятыми

#js #junior #base #array
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция Pick

Функция Pick используется для выбора определенных значений из объекта. Это способ создания нового объекта путем выбора определенных свойств из предоставленного.

Ранее мы разбирали функции:
debounce throttle once memoize curry pipe

#js #middle #custom
Please open Telegram to view this post
VIEW IN TELEGRAM
Самозакрывающиеся теги HTML

Есть проблема и она заключается в том, что /> иногда игнорируется, а иногда нет, в пределах одного и того же HTML-документа. Можно ли сделать так, чтобы правила парсинга переключались таким образом, чтобы /> всегда был значимым? Например, чтобы <div/> действительно был самозакрывающимся. Автор даже создал issue в официальном репозитории html, но подозревает, что это невозможно из-за несовместимости с существующими библиотеками, особенно чувствительными к безопасности.

Статья на английском

#html #js #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Array.from

Array.from() используется для создания нового массива из массивоподобного или итерируемого объекта. Он принимает два аргумента: исходный объект и необязательную функцию для преобразования элементов.

#js #junior #base #array
Please open Telegram to view this post
VIEW IN TELEGRAM
Функция Omit

Функция Omit является противоположностью функции Pick, поскольку она удаляет определенные свойства из существующего объекта. Таким образом, скрывая свойства, можно избежать избыточной выборки. Ее можно использовать вместо функции Pick, если количество свойств, которые нужно скрыть, меньше количества свойств, которые нужно выбрать.

Ранее мы разбирали функции:
debounce throttle once memoize curry pipe pick

#js #middle #custom
Please open Telegram to view this post
VIEW IN TELEGRAM
NextUI 2.0

Вышла новая версия ui библиотеки для реакта.

Изменения:
- Перешли с stitches на tailwind
- Добавили настройку tailwind тем
- Повышение производительности с помощью React Server Components
- Кастомные темы, слои, цвета
- Новые шаблоны и гайды
- Tailwind Variants
- Переписали компоненты с использованием хуков react-aria
- Оптимизировали анимацию
- Расширили документацию
- и т.д.

Все изменения

#js #news #lib #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Lazy Loading In JavaScript

Как реализовать ленивую загрузку, а самое главное когда?

В конце статьи автор приводит советы, которые помогут при работе с ленивой загрузкой, вот некоторые из них:
- Оптимизируйте изображения
- Устанавливайте placeholder(или 'skeleton') для медиа, которое в данный момент загружается
- Обрабатывайте ошибки загрузки. Этим очень часто пренебрегают
- Не переборщите)

Статья на английском
#js #vanilla #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
Radix UI

Либа компонентов с открытым исходным кодом.

Импортируем и работаем - никаких настроек. Выглядит достаточно красиво

Ссылка на сайт

Producthunt

#js #react #lib #ui
Please open Telegram to view this post
VIEW IN TELEGRAM
Анонс Typescript 5.2

- Новый декоратор setMetadata
- using, явное управление ресурсами (для чистки памяти)
- Упрощенное использование методов для объединения массивов
- Добавили новые фишки из последней версии ECMAScript
и т.д.

Ссылка на релиз

#js #ts #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Bun 1.0

У нас тут появилась альтернатива всему и вся. Вчера релизнулся Bun 1.0

Это, как они сами пишут, инструмент "всё в одном", который замахивается на замену Node.js, пакетным менеджерам и подобным вещам.

В релизе пишут что bun запускается в 4 раза быстрее Node.js

Ссылка на релиз

#js #ts #nodejs #npm #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Bun v1.0.21

Bun активно развивается, релизнулась уже 21 версия. Комьюнити достаточно активное. Сторонние библиотеки потихоньку предлагают использовать пакетный менеджер bun.

Изменения:
- Устранили 33 бага
- Поддержка console.table()!
- Больше информации об ошибках в bun:sqlite
- Большие файлы в FormData, Bun.write, Bun.file, bun:sqlite используют меньше оперативки

Ссылка на релиз

#ts #js #nodejs #bun #news

P.s. Вернулись в строй, будем восстанавливать режим публикаций. Всех с Новым Годом!🌲
Please open Telegram to view this post
VIEW IN TELEGRAM
Vue 3.4

31 декабря закончилась поддержка vue 2. Press 🫡

В новом релизе существенно переработали парсер шаблонов. Теперь этот зверь работает в 2 раза быстрей.

Изменения:
- x2 к скорости парсинга шаблонов
- Рефакторинг системы реактивности (оптимизировали повторные вычисления). В релизе наглядный пример с watchEffect
- Стабилизировали defineModel. В версии 3.3 был выпущен в качестве эксперемента
- Добавили новые сокращения:
Было: <img :id="id" :src="src" :alt="alt">
Стало: <img :id :src :alt>

- и т.д.

Эти сокращения выглядят сомнительно, при этом они сами пишут, что у них были опасения насчет данного нововведения, не получилось бы каши. Будем наблюдать.

Ссылка на релиз

#js #vue #news #newVersion
Please open Telegram to view this post
VIEW IN TELEGRAM
Uiverse 2.0

Под конец года обновился сайт с пользовательскими элементами, чем-то похож на codesandbox и прочие, только тут все заточено конкретно под ui.

Выбираем элемент - получаем готовые html/css. На productHunt этот ресурс высоко оценили.

Ссылка на сайт | Ссылка на productHunt

#html #css #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Топ проектов на JS

Ребята из bestofjs выпустили 8-е издание JavaScript Rising Stars - тенденции JS в 2023 году.

За основу бралось количество звезд, добавленных на GitHub за последние 12 месяцев.

В рейтинге есть описание проектов каждой категории, ссылки и графики популярности

Ссылка на топ

#js #ts #news
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Next.js 14.1

На этой неделе вышло обновление next, изменения:

- Новая документация по self-hosting
- Добавили возможность кастомного обработчика кэша.
- Улучшили турбопакет
- Улучшили сообщения об ошибках
- Добавили в appRoute поддержку pushState и replaceState
- Пофиксили 20 багов в работе роутов
- Прокачали next/image

Ссылка на релиз

#js #ts #react #news #framework
Please open Telegram to view this post
VIEW IN TELEGRAM