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
Управление анимациями с помощью AnimationBuilder

AnimationBuilder из модуля animations позволяет создавать анимации в Angular. Он используется для динамического запуска или изменения анимаций на основе логики приложения.

Пример:
import { Component, ElementRef } from '@angular/core';
import { AnimationBuilder, style, animate } from '@angular/animations';

@Component({
selector: 'app-animation',
template: `<div #box class="box"></div><button (click)="animate()">Animate</button>`,
styles: [`.box { width: 100px; height: 100px; background: red; margin-top: 20px; }`]
})
export class AnimationComponent {
constructor(private builder: AnimationBuilder, private el: ElementRef) {}

animate() {
const animation = this.builder.build([
style({ transform: 'translateX(0)' }),
animate('1s', style({ transform: 'translateX(300px)' })),
animate('1s', style({ transform: 'translateX(0)' }))
]);
animation.create(this.el.nativeElement.querySelector('.box')).play();
}
}

👉 @sWebDev
👍4🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Симулятор работы тимлидом

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

👉 @sWebDev
👎4👍1
Вы сталкивались с таким подходом от бэкенд-разработчиков?

👍 - Да, это боль.

🤔 - Мы уже договорились использовать CSS.

❤️ - Я сам так делаю.

👉 @sWebDev | #юмор
110👍10🤔2
FileSaver.js

FileSaver.js — это библиотека для сохранения файлов непосредственно из браузера. Она работает с Blob-объектами и обеспечивает простой способ загрузки данных на стороне клиента без серверной обработки.

👉 @sWebDev
👍3
Управление компонентом React через URL

Статья объясняет, как синхронизировать состояние React-компонента с параметрами URL. Рассматриваются методы работы с window.location и библиотекой React Router, чтобы изменять состояние компонента на основе текущего URL и сохранять параметры при обновлении страницы. Приведены примеры реализации с кодом.

👉 @sWebDev
👍4
Media is too big
VIEW IN TELEGRAM
Diorama - Milk

Анимация диорамы на Three,js,

👉 @sWebDev
6👍2
Choices.js

Choices.js — это легковесная библиотека для работы с пользовательскими элементами ввода, такими как выпадающие списки, многострочные выборы (multi-select), и текстовые поля с тегами. Она позволяет быстро создавать и стилизовать интерактивные элементы форм.

👉 @sWebDev
7👍2
Работа с методом ngAfterContentInit

Когда вызывается метод ngAfterContentInit в Angular?

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

👉 @sWebDev
👍4
Кем быть сложнее: фулстеком или девопсом?

👍 - Фулстеком: больше задач.

❤️ - Девопсом: никто не понимает, что ты делаешь.

👉 @sWebDev | #юмор
👍117
Управление зонами через NgZone.runOutsideAngular()

Метод runOutsideAngular() из Angular позволяет выполнять код за пределами зоны Angular. Это предотвращает избыточное обнаружение изменений, ускоряя приложение в сценариях, где Angular не должен отслеживать изменения. Такой подход полезен для обработки скроллинга, таймеров или анимаций.

Пример:
import { Component, NgZone } from '@angular/core';

@Component({
selector: 'app-optimization-example',
template: `<p>Скорость приложения оптимизирована!</p>`,
})
export class OptimizationExampleComponent {
constructor(private ngZone: NgZone) {
this.ngZone.runOutsideAngular(() => {
window.addEventListener('scroll', this.handleScroll);
});
}

handleScroll = () => {
console.log('Событие скроллинга обработано!');
};
}

В данном примере Angular не отслеживает события scroll, что снижает нагрузку на систему. Однако важно помнить, что для обновления интерфейса нужно вернуться в зону Angular с помощью NgZone.run().

👉 @sWebDev
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Randomizing Perlin Noise

Абстрактная анимация на GSAP и Canvas.

👉 @sWebDev
👍3
А вас выматывают долгие созвоны?

👍 - Да, это просто кошмар.

❤️ - Нет, я легко их переношу.

👉 @sWebDev | #юмор
👍263
Htmx

Htmx — это библиотека для добавления интерактивности через HTML-атрибуты. Она помогает управлять асинхронными запросами, обновлять части страницы и обрабатывать события, минимизируя использование JavaScript.

👉 @sWebDev
👍4👎1
Media is too big
VIEW IN TELEGRAM
Apple Scrolling Effect

Скролл-анимация монеты на GSAP.

👉 @sWebDev
👍4
UseContextSelector: ускоренный аналог useContext для React

Статья описывает хук useContextSelector, который является улучшенной версией useContext в React. Автор рассказывает, как этот хук позволяет оптимизировать производительность, минимизируя перерисовки компонентов, и предоставляет примеры его применения в больших проектах.

👉 @sWebDev
👍4👎2