Как стать автором
Обновить
23.89
Рейтинг

Angular *

JavaScript-фреймворк

Сначала показывать
Порог рейтинга

Не отписался — без памяти остался

Разработка веб-сайтов *Angular *TypeScript *
Из песочницы

Речь пойдёт про мощный инструмент, реализующий собой подход реактивного программирования и в разы упрощающий разработку — RxJS. В частности разберём один момент, про который нужно не забывать при использовании этой библиотеки, а именно — отписки.

Да, да, этот базовый момент может упускаться разработчиком, и это в свою очередь может привести к утечке памяти — об этом далее.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 6.3K
Комментарии 3

Новости

Три слоя градиента одного слайдера

Блог компании TINKOFF JavaScript *Accessibility *Angular *TypeScript *

Мы в Тинькофф разрабатываем библиотеку Taiga UI: в ней сотни полезных компонентов, директив и сервисов. При разработке нам важно уделять внимание вопросу поддерживаемости кода, поэтому мы стараемся не писать лишнего кода и искать решения, работающие на нативных рельсах браузеров.

В статье поговорим про одно из таких решений — написание Angular-компонента Slider с помощью встроенных инструментов  браузеров и с минимальным использованием Javascript. Расскажу про доступность, интересное решение с многослойным градиентом, немного CSS-хитростей и даже чуть-чуть про Change Detection в Angular.

Читать далее
Всего голосов 17: ↑16 и ↓1 +15
Просмотры 2.7K
Комментарии 9

Как мы перевели операторов на единую платформу и стали закрывать по 240 тысяч задач в месяц

Блог компании Skyeng PHP *Angular *Управление проектами *Управление персоналом *

Так масштабировался сервис с марта 2020. Каждый цвет — группа операторов.

В Skyeng есть несколько отделов, которые сопровождают учеников. Например, отделы, отвечающие за входящую телефонную линию и техподдержку в чате на сайте. Есть группа Awake, работающая с учениками, которые брали перерыв в обучении. Есть группа Quality Control — она проверяет кейсы качества: например, что-то случилось на уроке и ученик оставил жалобу.

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

Но так было не всегда. Расскажу, как мы прошли путь от «завязанности» на ручном перетаскивании карточек задач и ручном выставлении приоритетов до единого сервиса, который экономит ресурсы операторов и разработки.

О жизни с внешними сервисами


Для работы с обращениями мы использовали такие системы как Usedesk, Omnidesk и Google Sheets. Это накладывало ограничения:

  • Операторам и менеджерам приходилось вручную создавать задачи. Такая рутина забирала много времени. Ошибиться проще простого.
Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 3.6K
Комментарии 0

Как разработать фронтенд, чтобы не ночевать на заводе

Блог компании ГК ЛАНИТ Клиентская оптимизация *Angular *

Компания Datana занимается разработкой цифровых решений для оптимизации производственных процессов черной металлургии (подробнее в нашем блоге). Сейчас мы расскажем об опыте повышения стабильности и отказоустойчивости фронтендов наших систем или о том, как мы избавились от необходимости ночевать в цехе завода, чтобы вовремя нажать F5.

Читать далее
Всего голосов 63: ↑63 и ↓0 +63
Просмотры 7.4K
Комментарии 20

Как работает ViewEncapsulation и ng-deep в Angular

CSS *Angular *
Из песочницы

Перевод (а точнее оригинал) моей статьи опубликованной здесь

Многие Angular разработчики и верстальщики, пишущие CSS/SCSS код в Angular-приложениях сталкивались с ситуацией, когда надо применить стили к компоненту вложенному в текущий и не до конца разобравшись как это работает, выключали инкапсуляцию стилей или добавляли ng-deep, при этом не учитывая некоторых нюансов, что в последствии приводит к проблемам. В данной статье я попытаюсь максимально просто и сжато изложить все детали.

Когда у компонента включена инкапсуляция стилей (по умолчанию она включена и в большинстве случаев стоит оставить ее включенной), стили содержащиеся в файле\файлах стилей компонента будут применяться только к элементам этого компонента. Это очень удобно, вам не нужно следить за уникальностью селекторов, не нужно использовать БЭМ или придумывать длинные имена классов и следить за их уникальностью, хотя вы по-прежнему можете это делать, если хотите. Во время компиляции проекта Angular сам добавит к каждому элементу уникальный атрибут, например, _ngcontent-ool-c142 и заменит ваш класс .my-class на .my-class[_ngcontent-ool-c142] (это в случае ViewEncapsulation.Emulated, которая включена по умолчанию, если вы укажете `ViewEncapsulation.ShadowDom`, поведение будет другое, но результат тот же).

Теперь давайте представим, что у нас есть компонент ComponentA

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.4K
Комментарии 1

Функция Reactive во Vue: как это работает

Блог компании Delivery Club Tech JavaScript *jQuery *Angular *VueJS *

После jQuery я попробовал AngularJS и был очарован его возможностями. Несколько строк в AngularJS заменяли кучу спегетти-кода в jQuery. Это было похоже на магию. Сейчас все современные Frontend-фреймворки так или иначе обеспечивают реактивность, и это уже никого не удивляет. Тем не менее далеко не все разработчики понимают, как это работает.

Сейчас я работаю с Vue, поэтому и разбираться с тем, как устроены реактивные функции, будем на его примере. Я расскажу, как сделать из простого объекта реактивный, а также немного о том, какие современные возможности JS для этого используются.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 5.1K
Комментарии 12

Тестирование с помощью Vitest

JavaScript *Angular *ReactJS *VueJS *
Перевод

Vitest — это новая среда тестирования на базе Vite. Он все еще находится в разработке, и некоторые функции могут быть еще не готовы, но это хорошая альтернатива, которую можно попробовать и изучить.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 2.1K
Комментарии 4

Angular Universal: работа в крупном e-commerce

Блог компании Утконос ОНЛАЙН JavaScript *Angular *TypeScript *
Из песочницы

Привет, меня зовут Дмитрий Дружков, я тимлид фронтенд команды в Утконос Онлайн. В этой статье я расскажу, чем полезен Angular Universal в e-commerce проектах, как выбрать вид рендеринга, как выглядит первоначальная настройка технологии на примере нашего сайта и шаги по ускорению, а также раскрою плюсы и минусы Universal. Статья будет интересна тем, кто:

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 1.8K
Комментарии 4

CSS :has() селектор

CSS *HTML *Angular *ReactJS *VueJS *
Перевод

Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :has, который поможет нам выбрать родителя определенного элемента и многое другое.

В этой статье я объясню проблему, которую решает :has, как он работает, где и как мы можем его использовать с некоторыми вариантами использования и примерами, и, самое главное, как мы можем использовать его уже сегодня.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 4.3K
Комментарии 1

Зачем использовать materialize и dematerialize операторы и что такое Notification в RxJS?

Блог компании Skyeng Разработка веб-сайтов *JavaScript *Angular *

Вы когда-нибудь встречали такие операторы, как materialize и dematerialize в RxJS? А что насчет класса Notification? Вероятно, многие слышали, но не до конца представляли, где их можно применить на практике.

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

Materialize

Для начала вспомним, какие типы значений может эмитить объект типа Observable: это next, error и complete. Если вы не помните, что это значит, здесь можно почитать.
Соответственно и про observer, набор коллбэков (onNext, onError, onComplete), тоже советую вспомнить.

Вот что говорится в документации о materialize операторе: «A function that returns an Observable that emits Notification objects that wrap the original emissions from the source Observable with metadata».

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 2.6K
Комментарии 7

Zustand — руководство по простому управлению состоянием

JavaScript *Angular *ReactJS *VueJS *TypeScript *
Перевод

За последние несколько лет управление состоянием в React претерпело значительные изменения. Многие перешли с Flux на Redux и ищут еще более простые решения. Кроме того, появление React Hooks открыло новые возможности для управления состоянием.

Некоторые из новых библиотек управления состоянием, которые появились на горизонте, — это Recoil, Jotai, Radio Active state и Zustand.

В этой статье я расскажу о Zustand, который предоставляет легкий и простой способ управления состоянием в React.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 3.3K
Комментарии 19

О маленькой полезной фиче angular

Angular *TypeScript *
Tutorial

Небольшой рассказ о том как можно сэкономить немного времени и нервов, используя фичу exportAs в директивах и компонентах в angular.

Продолжить
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 3.3K
Комментарии 5

CSS-in-JS в Angular или все-таки CSS?

Блог компании Bimeister CSS *Программирование *Angular *TypeScript *
✏️ Технотекст 2021

Всем привет! Меня зовут Всеволод Золотов, я Senior Frontend в компании Bimeister.

CSS-in-JS очень быстро набрал популярность в React-комьюнити, но насколько актуален этот подход в Angular? В данной статье сравним удобство разработки и производительность двух визуально идентичных приложений (time-tracker), написанных с использованием SASS и @emotion/css.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 3K
Комментарии 4

Micro Frontend Архитектура на примере Angular

Блог компании Auriga Angular *
В наше цифровое время веб-приложения становятся все более масштабней и сложней. Такие веб-приложения могут быть разделены на несколько модулей, разработанных отдельными командами, которые удобно запускать в производство по отдельности.

По мере того, как приложения со временем усложняются, требуя масштабируемости «на лету» и высокой скорости реагирования, архитектура микро-фронтенд, основанная на компонентах Angular, становится все более эффективным решением для сложных веб-приложений.

Микро-фронтенд — это архитектура, которая рассматривает веб-приложение как набор приложений, разрабатываемых отдельными командами. Каждая команда специализируется на определенной области бизнеса или цели. Такая кросс-функциональная команда создает функциональность сверху донизу, от сервера до пользовательского интерфейса.

Плюсы микро-фронтенд архитектуры


  • Автоматизация CI /CD. Поскольку каждое приложение интегрируется и развертывается независимо, это упрощает CI/CD. Так как все модули разделены, то не нужно беспокоиться обо всем приложении при внедрении нового модуля. Если в коде модуля есть ошибка, CI/CD прервет весь процесс сборки.
    Гибкость команд разработчиков. Многочисленные команды могут разрабатывать и развивать информационные системы, работая по отдельности.
  • Единая ответственность. Каждая команда микро-фронтеда на 100% фокусируется на функциональности своего микро-фронтенд приложения.
  • Возможность повторного использования. Микро-фронтенд приложение может быть повторно использовано несколькими командами в разных системах.
  • Технологический агностицизм. Архитектура микро-фронтенд не зависит от технологии. Возможно использовать компоненты, разработанные на разных фреймворков веб-разработки (React, Vue, Angular и т.д.).
  • Простой порог входа в систему. Небольшие модули легче изучать и понимать новым разработчикам, входящим в команды, чем монолитную архитектуру с огромной структурой кода.

Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 5.1K
Комментарии 7

Как я делал сайт визитку на Angular

JavaScript *Angular *

Спустя несколько лет промышленной разработки приложений на javascript, решил вспомнить молодость и сделать небольшой pet-проект, который в полной мере развернул весь процесс разработки подобного рода приложений с использованием фреймворка Angular. В статье делюсь своими впечатлениями, а также пытаюсь понять, стоит ли делать сайты визитки на Angular.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 7.7K
Комментарии 18

Angular без CLI Туториал

JavaScript *Angular *TypeScript *
Из песочницы

Фреймворк Angular используется при создании SPA и предлагает большое количество инструментов как для создания, непосредственно, элементов интерфейса, так и CLI для создания и управления структурой файлов, относящихся к приложению.

Для создания проекта с использованием библиотеки Angular, официальный сайт предлагает нам установить пакет angular-cli и далее из консоли запустить определенные команды, которые скачают нужные пакеты, создадут нужные файлы и останется только запустить приложение, однако что если мы не хотим использовать коробочное решение, мы хотим сами создать структуру папок, заполнить ее файлами, подключить нужные библиотеки и собрать, в общем полностью контролировать процесс создания приложения.

Я задался таким вопросом, и, после изучения этого вопроса я собрал это в туториал.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 3.5K
Комментарии 2

Как устроен фреймворк Tramvai Tinkoff?

Open source *Angular *ReactJS *
Tutorial

Тинькофф представил новое opensource-решение  для построения SSR приложений на React. На KOTELOV podcast поговорили с Tech-Lead Core команды tinkoff.ru Андреем Марченко о том, зачем был необходим свой фреймворк,  что планируется добавить в него в ближайшее время и почему opensource – хороший способ рекламы компании.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 3.5K
Комментарии 0

Создать динамический компонент теперь проще: изменения в Angular 13

Блог компании Skyeng Разработка веб-сайтов *Angular *

Бывают ситуации, когда компонент необходимо добавить на страницу динамически. Например, тултип или баннер. В такие моменты на помощь приходит Angular, который умеет создавать компоненты в рантайме и рендерить их. Для этого разработчик может воспользоваться методом createComponent у ViewContainerRef.

Но с 13 версией фреймворка API этого метода немного изменился. В этой статье поделюсь тем, как теперь выглядит процесс динамического добавления компонента.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 3.5K
Комментарии 6

Создаем приложение Art-pixel на Angular и Nest.js. Часть 3 (Docker)

Разработка веб-сайтов *Angular *

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Просмотры 1.1K
Комментарии 0

Создание гибких TypeScript интерфейсов

Canvas *Angular *TypeScript *
Из песочницы
Перевод

Создание и использование интерфейсов в TypeScript. Примеры создания и использования гибких и расширяемых интерфейсов.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 7.5K
Комментарии 5

Вклад авторов

Работа