Frontender Libs - обзор библиотек JS / CSS
الذهاب إلى القناة على Telegram
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Купить рекламу: https://telega.in/c/sWebDev
إظهار المزيد7 730
المشتركون
-624 ساعات
-157 أيام
-5330 أيام
أرشيف المشاركات
String.js
Библиотека string.js, или просто S, это маленькая (менее 5 Кб в минифицированном и сжатом виде) JavaScript-библиотека, которую можно использовать в браузере и в среде Node.js. Она даёт в распоряжение программиста большой набор методов для работы со строками. Это — методы объекта string.js, в состав которых, для удобства, включены и стандартные методы строк. Объект string.js — это нечто вроде обёртки для обычных строк.
Примечательные методы
Метод between
Он извлекает из строки подстроку, содержащуюся между строками left и right. Например, этот метод можно использовать для извлечения элементов, находящихся между двумя HTML-тегами:
S = require('string');
S('<a>This is a link</a>').between('<a>', '</a>').s
// 'This is a link'
Метод camelize
Он удаляет из обрабатываемой строки пробелы, символы подчёркивания, тире, и приводит эту строку к «верблюжьему» стилю.
var S = require('string');
S('---Foo---bAr---').camelize
👉 @sWebDevAurelia JS
Этот JavaScript фреймворк — детище Роба Эйзенберга, автора известных в прошлом Caliburn.Micro и Durandal. Роб был членом команды, работающей над Angular, но в процессе работы над этим проектом между ним и остальными членами команды возникли разногласия. Из-за этого он вышел из ее состава и стал работать над собственным фреймворком, так начиналась история Aurelia JS.
Его называют JavaScript фреймворком следующего поколения, идеально подходящим для веб и мобильных приложений. Aurelia JS отличается компактностью и ненавязчивостью кода. То есть специфические конструкции самого JavaScript фреймворка минимально засоряют ваш код. Это удобно и облегчает освоение Aurelia JS.
👉 @sWebDev
Reselect
Если вы используете Redux, то эта функция станет для вас спасительной. Мы знаем, что редьюсеры Redux могут хранить большое количество данных, и если вы передадите всё хранилище в какой-либо компонент, это приведет к тому, что он будет заново рендериться каждый раз, когда что-либо в этом хранилище будет обновляться.
Reselect решает эту проблему, меморизуя значения и передавая только то, что необходимо.
Преимущества (из документации)
1. Селекторы могут вычислять производные данные, что позволяет Redux хранить минимально возможное состояние.
2. Селекторы эффективны. Селектор не пересчитывается, если один из его аргументов не изменился.
3. Селекторы являются составными. Они могут быть использованы в качестве входных данных для других селекторов.
👉 @sWebDev
DHTMLX
DHTMLX предлагает JavaScript библиотеки и UI компоненты c богатой функциональностью для построения интерактивных веб-интерфейсов, используемых в различных сферах бизнеса.
На данный момент линейка продуктов компании включает следующие решения: Suite с 20+ UI компонентами, Gantt и Scheduler для управления проектами с помощью диаграммы Ганта и планировщика событий, Diagram для наглядной визуализации данных, Spreadsheet для работы с динамическими таблицами наподобие Excel, а также Pivot, Rich Text Editor и Vault для удобной загрузки файлов.
Кроме того, команда разработчиков DHTMLX планирует вскоре выпустить Kanban, который можно будет интегрировать с DHTMLX Gantt для еще более эффективного управления проектами.
👉 @sWebDev
Чат-бот или ассистент все чаще становится обязательным элементом в IT-продуктах. Когда-то это была трудоемкая задача, но теперь у разработчиков есть упрощающие процесс фреймворки.
10 июня приглашаем познакомиться с этими инструментами на demo-занятии «Что такое Smart App?»
Виталий Ракитин расскажет, какие они бывают и какие возможности открывают. Уже на первом занятии вы сможете написать свои приложение для виртуальных ассистентов с виртуальным ассистентом внутри.
Занятие рассчитано на специалистов с опытом web-разработки и входит в программу онлайн-курса OTUS, посвященного созданию голосовых ассистентов и чат-ботов.
Регистрация на вебинар https://otus.pw/wGr3/
Почему вы выполняете рендеринг (Why Did You Render)
Ненужный рендеринг может навредить производительности ваших React-приложений. Но иногда мы делаем это, даже не подозревая.
Этот замечательный пакет, Why Did You Render, помогает нам найти проблемы с производительностью и решить их. Вы просто включаете его в любом компоненте, и он сообщает вам, почему именно происходит рендеринг.
Ниже представлен компонент с возникающими проблемами рендеринга.
import React, {useState} from 'react'
const WhyDidYouRenderDemo = () => {
console.log('render')
const [user , setUser] = useState({})
const updateUser = () => setUser({name: 'faisal'})
return (
<>
<div > User is : {user.name}</div>
<button onClick={updateUser}> Update </button>
</>
)
}
export default WhyDidYouRenderDemo
После включения эта библиотека запишет в консоль результат с картинки.Webix UI Library
Это одна из самых функциональных и высокопроизводительных библиотек.
Webix специализируется исключительно на бизнес-приложениях. Это библиотека подобна универсальному швейцарскому ножу, который умеет практически все. Webix содержит 100+ UI виджетов, из которых можно собрать абсолютно любое бизнес-приложение. На момент написания статьи, в комплект Webix входило 8 высокоуровневых виджетов — SAP приложений: File Manager, Document Manager, User Manager, Chat-Messenger, Task Manager (Kanban), Pivot, Spreadsheet, SQL Query.
👉 @sWebDev
React LazyLoad
Ленивая загрузка - это техника, используемая для загрузки только того, что вам нужно. Таким образом, она повышает производительность, не расходуя без необходимости вычислительные мощности.
React LazyLoad - это библиотека, специально созданная для этой цели. Вы просто оборачиваете свой компонент, а эта библиотека позаботится обо всем остальном.
Преимущества
1. Повышенная производительность
2. Поддерживает рендеринг на стороне сервера
Пример использования
import React from 'react';
import LazyLoad from 'react-lazyload';
const ImageList = () => {
return <div>
<LazyLoad> <img src ='image1.png' /> <LazyLoad>
<LazyLoad> <img src ='image2.png' /> <LazyLoad>
<LazyLoad> <img src ='image3.png' /> <LazyLoad>
<LazyLoad> <img src ='image4.png' /> <LazyLoad>
<LazyLoad> <img src ='image5.png' /> <LazyLoad>
</div>
}
👉 @sWebDevDeep Equal
Это известная библиотека, которую можно использовать для сравнения. Это очень удобно. Ведь в JavaScript, несмотря на то, что два объекта могут иметь одинаковые значения, они считаются разными, поскольку указывают на разные области памяти.
Если мы используем Deep Equal, то это повышает производительность в 46 раз. Ниже приведен пример того, как мы можем это сделать.
var equal = require('deep-equal');
const user1 = {
name:'faisal'
}
const user2 ={
name:'faisal'
}
const deepEqual = equal(user1 , user2); // true -> exactly what we wanted!
👉 @sWebDevReact Window
React Window используется для рендеринга длинных списков. Представьте, что у вас есть список из 1 000 элементов. На экране отображаются только десять, но ваш код пытается визуализировать 1000 элементов одновременно.
Это может привести к серьезным задержкам в вашем приложении. Данная библиотека очень популярна и является обязательным инструментом в вашем арсенале.
Использование React Window
import { FixedSizeList as List } from 'react-window';
const Row = ({ index, style }) => <div style={style}> Name is {names[index]}</div>
const LongList = () => (
<List
height={150}
itemCount={1000}
itemSize={35}
width={300}
>
{Row}
</List>
);
Данный код рендерит только то, что вы видите на экране. Поначалу это может быть непонятно, но необходимо, если вам нужно отобразить длинный список.
👉 @sWebDevOnsen UI
Компоненты Onsen UI доступны в React благодаря привязкам и позволяют создавать гибридные мобильные приложения на базе React и фреймворка Onsen UI. Вклад в этот проект внесли более 80 разработчиков, на GitHub у него около 5.6 тысяч звёзд. Всё это позволяет говорить о том, что на Onsen UI стоит, как минимум, обратить внимание при выборе библиотеки для разработки пользовательского интерфейса.
👉 @sWebDev
visx
Если ты когда-либо использовал популярную библиотеку диаграмм, такую как Recharts или Charts.js, ты знаешь, что на удивление легко достичь пределов того, что библиотека может сделать для тебя.
visx отличается тем, что предоставляет React компоненты более низкого уровня, которые намного ближе к D3, чем другие библиотеки диаграмм. Это упрощает создание твоей собственной многократно используемой библиотеки диаграмм или гипер-настраиваемых диаграмм.
👉 @sWebDev
Material Components Web
Material Components Web — это библиотека, которая разработана командой инженеров и UX-дизайнеров из Google. Входящие в неё компоненты позволяют организовать рабочий процесс, на выходе которого можно ожидать появления привлекательных и функциональных веб-проектов. Эта библиотека заменила библиотеку react-mdl (которая теперь признана устаревшей).
👉 @sWebDev
Как стать фронтенд разработчиком в 2021?
Канал "На фронте - javascript, html, css" собрал для Вас подборку материалов, которая поможет Вам стать фронтенд разработчиком.
Как учится веб-разработке в 2021 году — план развития начинающего веб-разработчика в 2021. Что учить, в какой последовательности.
Что нужно знать о популярных JS-фреймворках — история создания и особенности популярных фреймворков.
Шпаргалка по JS-методам для работы с DOM — поможет вам разобраться в метожах для работы с DOM
DevTools для «чайников» — руководство по использованию инструментов разработчика
Еще больше крутых и полезных материалов ищите на нашем канале.
Mock Service Worker
MSW - это библиотека, которая позволяет имитировать как REST, так и GraphQL API; использует service workers для генерации реальных сетевых запросов.
Чем это круто?
Ты действительно можешь использовать MSW как часть рабочего процесса разработки независимо от выбора технологии, а не только во время тестирования!
Пример использования:
const worker = setupWorker(
rest.post('/login', (req, res, ctx) => {
const { username } = req.body
return res(
ctx.json({
username,
firstName: 'John'
})
)
}),
)
👉 @sWebDevReact Belle
React Belle — это набор компонентов React, оптимизированный для работы на мобильных устройствах и на настольных ПК. Стили, имеющиеся здесь, поддаются глубокой настройке, что позволяет как задавать базовые стили для всех компонентов, так и модифицировать стиль каждого конкретного компонента по отдельности.
👉 @sWebDev
Хотите освоить фронтенд-разработку? Начните 7 июня с demo-занятия «Базовое использование системы контроля версий Git»!
Вместе с преподавателем Василием Ванчуком вы разберете, зачем нужна система контроля версий и нужны ли для этого отдельные программы. Узнаете, почему Git и как вы будете работать с ним в рамках онлайн-курса «JavaScript Developer. Basic» от OTUS.
Для участия в практической части потребуется установить Node.js, зарегистрировать Github аккаунт и установить Git, сгенерировать SSH ключ и подключить его к Github-профилю.
Регистрируйтесь на занятие https://otus.pw/g98q/
React Hook Form
React Hook Form отличается от других форм библиотек тем, что по умолчанию ты не создаешь контролируемые компоненты и не следишь за их состоянием. Это означает, что производительность приложения не будет снижаться по мере добавления дополнительных полей в форму.
Вдобавок ко всему, это, вероятно, одна из лучших документированных библиотек - в каждом примере есть CodeSandbox, что позволяет легко выполнить форк и опробовать свой конкретный вариант использования.
👉 @sWebDev
React Grommet
React Grommet даёт в распоряжение разработчика обширный набор компонентов, сгруппированных по принципу особенностей их использования. Все они созданы с учётом требований доступности, кросс-браузерной совместимости и поддерживают настройку внешнего вида с помощью тем.
👉 @sWebDev
Axios
Это JavaScript-библиотека для выполнения либо HTTP-запросов в Node.js, либо XMLHttpRequests в браузере. Она поддерживает промисы. Одна из особенностей, которая делает её лучше fetch() — автоматические преобразования JSON-данных.
Пример использования
const url = 'https://api.spotify.com/v1/artists/ID'
axios.get(url)
.then(response => console.log(response));
👉 @sWebDev
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
