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

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Сколько ссылок из списка откроют страницу в новой вкладке?
Anonymous Quiz
65%
1
25%
2
10%
3
Какой из стандартов PSR описывает HTTP запросы и ответы?
Anonymous Quiz
26%
PSR3
32%
PSR7
21%
PSR2
21%
PSR4
Шаблоны проектирования "банды четырёх (GoF)"

Порождающие паттерны — это паттерны, которые абстрагируют процесс порождения классов и объектов.

Структурные паттерны - рассматривает, как классы и объекты образуют более крупные структуры - более сложные по характеру классы и объекты.

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

В статье собраны описания работы всех этих паттернов с примерами реализации.
JS | Отслеживание высоты экрана на iOS

Сделать блок на высотой на весь экран довольно просто,

height: 100vh

Но это не работает для браузера Safari на iOS, его адресная строка сверху и панель кнопок снизу не учитываются при расчете высоты экрана и блок высотой 100vh окажется под кнопками, для решения этой проблемы поможет небольшой скрипт получающий высоту экрана и записывающий её в css переменную.
Улучшение производительности сайта, Perceived Performance

Субъективное восприятие скорости работы сайта и его реальная скорость могут не совпадать, статья рассказывает о приёмах увеличивающих производительность, использование скелетонов, Optimistic Updates и другие технические и психологические средства увеличения производительности.
PHP | Работа с ZIP архивами

Для работы с ZIP архивами в PHP есть класс ZipArchive.

Этот класс позволяет создавать архивы, читать их, извлекать из них файлы, устанавливать пароль и тд.
This media is not supported in your browser
VIEW IN TELEGRAM
Делаем свой дропдаун с вариантами отображения

Компонентов UI требуется универсальность, для того чтоб его можно было использовать в любом месте сайта, в примере реализован дропдаун с настройкой положения и размера выпадающего меню, в пунктах меню можно использовать ссылки, ссылки с заголовками и простой текст. Настойки передаются через дата атрибуты и обрабатываются в css.
PHP | Local PHP Security Checker

Local PHP Security Checker - это консольное приложение, которое проверяет, не зависит ли ваше приложение от пакетов с известными проблемами безопасности.

В качестве базы известных уязвимостей используется GitHub репозиторий https://github.com/FriendsOfPHP/security-advisories
CSS | backdrop-filter, фильтры второго уровня

backdrop-filter позволяет вам использовать визуальные эффекты - такие как размытие или смещение цвета фона - за элементом. Так как это применяется ко всему за элементом, чтобы увидеть эффект, вы должны сделать элемент или его фон по крайней мере частично прозрачными.
Какое значение по умолчанию у свойства position
Anonymous Quiz
27%
relative
12%
none
47%
static
14%
initial
PHP | Plates - native php templates

Plates - это шаблонизатор для PHP, не привязанный к какому либо фреймворку.

В отличие от таких популярных шаблонизаторов как Twig или Laravel Blade, Plates использует обычный PHP и не заставляет Вас учить новый язык.
JS | Guess.js - предсказываем поведение пользователя

Guess.js использует технику, предиктивной предварительной выборки. Используя данные из источника аналитики, такого как Google Analytics, Guess.js позволяет веб-приложениям предварительно загружать ресурсы только тогда, когда они могут понадобиться, учитывая поведение пользователя.

Например, есть веб-сайт с тремя страницами. Из Google Analytics мы знаем, что пользователь посетит страницу «О нас» с главной страницы с вероятностью 95%, а вероятность перейти на страницу контактов - только 5%. Пока пользователь находится на главной странице, мы можем загрузить все ресурсы со страницы «О нас», чтобы последующий переход был максимально быстрый.

Поддерживает работу со статичными сайтами, gatsby, next.js и nuxt.js
Искусство компонентов. Пишем карточку контакта Facebook Messenger

Компонент, который пиксель-в-пиксель по макету может быстро перестать работать, когда столкнётся с реальным контентом настоящего проекта. В статье на примере простой карточки контакта показывается как много нюансов разметки и стилей может появится при разработке компонента.
Что выведется в консоль при клике на див с ид child
Anonymous Quiz
27%
bar
29%
foo bar
39%
bar foo
5%
foo
Какой из этих сниппетов отработает успешно?
Anonymous Quiz
22%
1
28%
2
33%
Оба
16%
Ни одного
JS | Деструктуризация объектов

Деструктурирующее присваивание – это специальный синтаксис, который позволяет нам «распаковать» массивы или объекты в кучу переменных, так как иногда они более удобны.

Деструктуризация массива
let arr = ["Ilya", "Kantor"]

// деструктурирующее присваивание
// записывает firstName=arr[0], surname=arr[1]
let [firstName, surname] = arr;

console.log(firstName); // Ilya
console.log(surname); // Kantor

Деструктуризация объекта
let options = {
noscript: "Menu",
width: 100,
height: 200
};

let {noscript, width, height} = options;

console.log(noscript); // Menu
console.log(width); // 100
console.log(height); // 200

Более сложные примеры разобраны в документации.