Frontender Libs - обзор библиотек JS / CSS
8.29K subscribers
2.04K photos
735 videos
3 files
243 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Что если бы персонажи «Властелина колец» были айтишниками?

👉 @sWebDev | #юмор
👍5👎4🔥1
Оптимизация рендеринга списков в Angular

Директива *ngFor в Angular используется для отображения списков, но часто приводит к излишним перерисовкам элементов при изменении данных. Это происходит, если Angular не может правильно сопоставить элементы и считает, что нужно перерисовать весь список. Метод trackBy помогает Angular отслеживать изменения и определять, какие элементы нужно обновить.

Пример:
@Component({
selector: 'app-optimized-list',
template: `
<ul>
<li *ngFor="let item of items; trackBy: trackByFn">{{ item.name }}</li>
</ul>
`,
})
export class OptimizedListComponent {
items = [
{ id: 1, name: 'Item 1' },
{ id: 2, name: 'Item 2' },
{ id: 3, name: 'Item 3' },
];

trackByFn(index: number, item: any): number {
return item.id; // Уникальный идентификатор
}
}

В этом примере Angular будет использовать id как ключ, предотвращая перерисовку элементов при изменении содержимого.

👉 @sWebDev
👍5
Media is too big
VIEW IN TELEGRAM
Philosophy any form of art

Генератор абстракций на Three.js.

👉 @sWebDev
👍3
А как часто вы видите подобные комментарии в коде?

👍 — Часто.

❤️ — Такие комментарии после меня.

👉 @sWebDev | #юмор
15👍3🔥1
Filesize.js

Filesize.js — библиотека для форматирования размера файлов в удобочитаемый вид, например, "1.2 MB" или "150 KB". Она поддерживает различные системы единиц измерения и может округлять значения до нужного количества знаков после запятой. Используется в интерфейсах для отображения информации о размере загружаемых и скачиваемых файлов.

👉 @sWebDev
5🔥1
Media is too big
VIEW IN TELEGRAM
GSAP GRID

Интерактивная сетка с анимациями на GSAP.

👉 @sWebDev
👍3🔥2
Представляем @svg-use

В статье рассказывается о создании и использовании библиотеки @svg-use для работы с SVG-иконками в JavaScript-приложениях, таких как React. Основное внимание уделено оптимизации загрузки SVG-файлов с помощью <use href>, а не через инлайновые SVG, что снижает нагрузку на JS-бандлы и DOM. Также рассматриваются плюсы и минусы использования этой техники и перспективы для будущих стандартов веб-разработки.

👉 @sWebDev
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Invasive cows

Скролл-анимация с коровами на GSAP.

👉 @sWebDev
👍52
Timeago.js

Timeago.js — это библиотека для динамического форматирования времени в стиле "3 минуты назад" или "2 часа назад". Она автоматически обновляет текстовую метку времени на основе текущего времени, что удобно для создания лент новостей, чатов и систем комментариев. Библиотека поддерживает множество языков и является легковесной, что делает её отличным выбором для любого веб-приложения.

👉 @sWebDev
👍10
Использование NgClass в Angular

Как обычно передаются классы в директиву NgClass?

Если забыли, то вернитесь к посту от 07.10.2024.

👉 @sWebDev
👍3
HTTP 404 в реальной жизни.

👉 @sWebDev | #юмор
👍4
Внедрение необязательных зависимостей в Angular

Декоратор @Optional() в Angular используется для указания того, что зависимость может быть необязательной. Если нужная зависимость отсутствует, Angular не выбросит ошибку, а просто передаст null. Это полезно, когда сервис или зависимость может не всегда быть доступна в контексте компонента.

Пример:
import { Component, Optional } from '@angular/core';
import { LoggingService } from './logging.service';

@Component({
selector: 'app-optional-demo',
template: `<p>Декоратор @Optional() пример</p>`
})
export class OptionalDemoComponent {
constructor(@Optional() private loggingService: LoggingService) {
if (this.loggingService) {
this.loggingService.log('Logging service is available');
} else {
console.log('Logging service is not available');
}
}
}

В этом примере сервис LoggingService внедряется как необязательный. Если он не зарегистрирован, вместо ошибки просто будет выведено сообщение о его отсутствии.

👉 @sWebDev
👍5🔥1
Чем больше вы углубляетесь в программирование, тем сложнее оно вам кажется?

❤️ - Да, приходится постоянно держать в голове кучу информации.

👍 - Иногда что-то забываешь, но в целом справляюсь.

🤔 - Знания растут и с опытом легче справляться с новым.

👉 @sWebDev | #юмор
🤔24👍105
Lory

Lory — это легковесная JavaScript-библиотека для создания слайдеров без зависимостей. Она предоставляет минимальный API для создания кастомных слайд-шоу с поддержкой жестов и событий прокрутки.

👉 @sWebDev
5👍1
Media is too big
VIEW IN TELEGRAM
Tangent

Абстрактная анимация на Three.js.

👉 @sWebDev
👍4
Обработка Взаимодействий С Пользователем: Пять Основных Привязок Событий В Angular 18

Статья обсуждает ключевые события привязки в Angular 18, такие как click, input, blur, change, и submit. В статье подробно описаны способы их использования для обработки взаимодействий пользователя с формами, полями ввода, кнопками и другими элементами интерфейса.

👉 @sWebDev
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
THE EYE

Артхаусная анимация глаза на GSAP.

👉 @sWebDev
👍3👎1