Angular CDK имеет широкие возможности для скроллинга плоского списка. Если размер каждого элемента одинаков, то можно воспользоваться FixedSizeVirtualScrollStrategy
: всего лишь нужно прокинуть размер элемента в пикселях, проитерироваться по данным и виртуальный скроллинг готов. Но что делать, если размер элементов разный? Данную проблему можно решить кастомной стратегией виртуального скроллинга. В данной статье мы рассмотрим как построить такую стратегию для pdf-документов.
Angular *
JavaScript-фреймворк
Новости
Как мы выбирали технологию для фронтенда и что из этого вышло
Как мы в Mango подошли к выбору единой технологии для фронтенда, с какими трудностями столкнулись и что в конце концов из этого вышло. Итоги семи лет работы на Angular.
Angular. Работа с template-driven формами
Разработчики angular, как правило знают, что для работы с формами существует два подхода: reactive forms и template driven forms. Также, хорошо известно, что для работы с формами разработан такой функционал как валидация, однако исчерпывающе описано его применения для подхода reactive forms. Давайте рассмотрим как можно получить те же преимущества для template driven подхода.
Angular — API композиции директив
Поговорим о новом (уже старом) способе управления директивами в Angular
Истории
История о том, как мы на Module Federation съезжали. Часть 1
Всем привет! На связи Максим Смирнов, архитектор по фронтенду в Тинькофф. В серии статей будет история о том, как мы переписывали один из монолитных сервисов на Federation.
Расскажу о том монолите, который переписали, и как дошли до момента, что надо распилиться. Еще покажу, какие фишки мы накрутили в Module Federation, потому что из коробки многих фич нет, надо докручивать самим. Добро пожаловать под кат!
Управление подписками: много слов о потоках, отписках и утечке памяти
Управление подписками — с первого взгляда несложная тема, которая, однако, вызывает у многих проблемы на фронте. Под катом я собрал собственные наблюдения о том, как грамотно выстроить работу с подписками без утечек памяти, увеличения времени загрузки элементов и колоссальных трат бюджета.
За основу я взял библиотеку RxJs, работающую с фреймворком Angular. Однако любителям остальных фреймворков, возможно, это тоже пригодится.
Разница между debounceTime и throttleTime
В этой статье я хочу рассказать тонкую разницу между операторами debounceTime и throttleTime простыми словами
Изучаем mergeMap, switchMap, concatMap и exhaustMap
Я Angular разработчик. Это моя первая статья и таких я собираюсь написать много. Пришла эта идея мне в голову потому что иногда, пытаясь найти какую-то информацию в интернете о принципах работы какого-либо инструмента разработки, я не нахожу абсолютно ничего. Это либо ненавистные обожаемые мною доки, в которых написаны очень краткие принципы работы для знающих людей, либо stackoverflow, где кто-то норовит написать кучу слов ни о чём или без практической составляющей, либо просто статьи, не отражающие сути. Но иногда можно наткнуться на знающего человека, который за одну минуту объяснит тебе всю суть и от счастья хочется прыгать. Я решил писать обо всех таких моментах, которые мне очень сложно давались в понимании из-за отсутствия адекватной информации или моей криворукости. Я буду писать подобные статьи прежде всего для себя и если кому-то это поможет - я буду безумно рад, что какому-нибудь камраду не пришлось долго мучиться и понимать смысл того или иного инструмента для разработки. Статьи будут максимально краткими и по делу. Погнали!
Подборка материалов для погружения в Angular: выбор сотрудников Selectel
При построении веб-сервисов наши фронтенд-разработчики используют Angular — один из топ-фреймворков с высокой скоростью разработки и низким порогом вхождения. Но несмотря на последнее, во время изучения могут возникнуть трудности с потоками, отписками и другими абстракциями. Поэтому мы попросили коллег порекомендовать полезные ресурсы, которые помогут в освоении этих тем. Подробности под катом.
Jest: error Command failed with exit code 1
Я давно хотел рассказать об этом, но не знал как. Не было подходящего примера, какой-то однозначной, наглядной ситуации. И вот недавно мне дали новый проект, в котором уже были написаны unit тесты и они работали, но был один нюанс, который портил всю картину.
По сути в этой публикации речь пойдет о функции done() в jest. Функция очень полезная, так как позволяет разработчику решать в какой момент будет закончен тест. Бывают ситуации, когда это действительно очень нужно. В новом проекте я столкнулся с такой задачей и решил просто описать то, как я её решил.
Big State Managers Benchmark
Здравствуйте, меня зовут Дмитрий Карловский и я.. большой любитель физики высоких энергий. Сталкиваешь такой совершенно разные вещи между собой, и смотришь на бабахи, уплетая поп-корн.
Так как в Реакте всё очень плохо с архитектурой, а страдают от него многие, то к настоящему времени появилось уже очень много так называемых менеджеров состояний. И каждый наперебой уверяет, что он самый быстрый, самый надёжный, самый компактный, самый выразительный и вообще самый правильный.
Что ж, давайте возьмём их всех и столкнём лбами друг с другом и с суровой реальностью, чтобы узнать кто же на самом деле тут батя!
Год Тигра в Taiga UI
В предновогодней суете мы любим подводить итоги уходящего года. Эта хорошая традиция помогает вспомнить свои успехи и неудачи, чтобы взять верный курс в новом году.
Весь год я участвовал в разработке потрясающего продукта — Taiga UI. Это библиотека компонентов на Angular, на которой построены сотни продуктов Тинькофф и много других проектов. Наша команда потратила много времени и сил — расскажу, что из этого получилось.
Redux в Angular. Туда и обратно
Пару лет назад из каждого утюга можно было услышать про redux. Сейчас redux является чем-то обыденным в фронтенд разработке. На пороге 2023 года я хочу поделиться своим опытом использования redux в Angular, поговорить о разных реализациях, и рассказать к каким выводам я пришел за это время.
Как программисты дурят бизнес?
Карты на стол! Поговорим начистоту, почему во фронтенде всё так плохо. Пришла пора подраться, обняться, и вместе двинуться сворачивать горы. Пройдёмся по единству и борьбе интересов, влиянию больших компаний и маленьких людей, причинам попадания в эти порочные круги, и стратегиям их разрыва. А на привалах потравим байки из жизни.
Доклад должен заставить нас посмотреть на реальную разработку с другой стороны и задуматься о том, как мы можем исправить подходы и отношение к некоторым вещам, чтобы фронтенд стал чуточку лучше.
Предполагаемая аудитория: Бесстыжие программисты и наивные руководители. Одних пристыдим, другим раскроем глаза. И наоборот.
React vs Vue vs Angular
React vs Vue vs Angular. Общее сравнение JavaScript фреймворков
В ходе развития веб-разработки 3 JavaScript-фреймворка стали хорошо известны всем front-end разработчикам: React, Vue и Angular.
React считается библиотекой пользовательского интерфейса, Angular - полномасштабным front-end фреймворком, предоставляющим собственные инструменты для всех связанных с разработкой веб-приложений функций, а Vue - прогрессивным фреймворком, реализованным как дополнительная разметка для HTML.
Все три фреймворка могут использоваться практически взаимозаменяемо для создания компонентных frontend-приложений с расширенными возможностями пользовательского интерфейса. Однако окончательный выбор зависит от требований проекта и предпочтений разработчика.
Каждый фреймворк имеет различную архитектуру, производительность в различных сценариях, экосистему и инструменты, которые мы постараемся рассмотреть в этой статье, чтобы лучше понять их удобство использования.
Что нового в Angular v15?
За последний год мы удалили устаревший компилятор Angular и пайплайн рендеринга, что позволило разработать ряд улучшений для разработчиков за последние пару месяцев. Angular v15 является кульминацией этого с десятками усовершенствований, которые обеспечивают лучший опыт разработчиков и производительность.
(Микро)фронтенды и микросервисы с помощью Webpack
Привет! Меня зовут Максим, я фронтенд-разработчик компании Тинькофф, лид команды фронтендов, которые пилят международные проекты. Я работал как фронтом, так и бэкером — это дало мне релевантный опыт и в микрофронтендах в том числе.
Статья будет о фронтендах, но сначала предлагаю немного обсудить монолиты. Они бывают разные.
Ошибки, RxJS & Angular
Что привлекает в Ангуляре экспертов и удручает начинающих? Одно и тоже, RxJS.
Почему же это так сложно для начинающих? Возможно потому, что есть очень большое количество операторов, которые нужно просто знать, и без поиска понимать в чем разница между concatMap, switchMap и mergeMap. Почему же это так нравится тем, кто это уже выучил? Возможно, потому что вы начинаете понимать все могуществао RxJS, когда одним оператором вы можете сделать то, что в императивном коде писали бы полдня на двух страницах. Ведь это так приятно, ощущать себя богом, когда код просто отскакивает от ваших пальцев, а вы радостно рассказываете коллегам как вы классно и главное просто решили задачу.
Создание приложения для чата в реальном времени с помощью Angular и Appwrite
Appwrite — это бэкенд как сервис с открытым исходным кодом, который предоставляет разработчикам основной набор функций, необходимых для создания всех приложений с любым стеком. От взаимодействия с базой данных до аутентификации, обновлений в реальном времени и многого другого.
При создании веб-приложений с помощью Angular обычно требуется подключение к различным API для управления данными, аутентификации пользователей и, возможно, прослушивания обновлений данных в реальном времени. API для подключения к этим различным сервисам может быть реализовано через множество провайдеров. С помощью Appwrite вы можете делать все эти вещи, используя один бэкэнд. В этой статье мы покажем вам, как начать работу с Appwrite, аутентифицировать пользователей, управлять данными и прослушивать события в реальном времени с помощью приложения для чата.
Что такое ngrx/createFeature и как это может облегчить жизнь frontend-разработчику
Всем привет, в этой статье будет описана одна очень полезная вещь, способная упростить жизнь разработчику, которому приходилось, или приходится работать с библиотекой NgRx. В данное время очень популярная и востребованная вещь. В частности, я покажу как избавится от привычного описания селекторов, сокращения кода по части reducers и, уверен, результат удивит.
Вклад авторов
-
Waterplea 558.0 -
MarsiBarsi 407.0 -
tamtakoe 393.8 -
ru_vds 352.0 -
mnemosha 179.0 -
durovchpoknet 142.0 -
MooooM 139.0 -
aav 136.0 -
splincodewd 129.0 -
artch 117.4