🦊 Angular Fox 🚀 — русскогорящие новости сообщества
4K subscribers
1.22K photos
7 videos
1.07K links
Как костыль на реактивно-лисьей тяге 🔥🦊

Нравится канал? Подпишись на меня!
👉 twitter.com/thekiba_ru
💖 twitter.com/thekiba_io
medium.com/@thekiba
github.com/thekiba

Чаты @angular_ru @angular_jobs
Download Telegram
В чем разница между markForCheck и detectChanges?

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

В этой статье подробно объяснено, как работает обнаружение изменений под капотом или в чем разница между стратегиями Default и OnPush.

👉 https://medium.com/p/fff4e5f54d34
👍16👎3🔥2
Используем AsyncPipe

AsyncPipe — это один из инструментов, которые Angular предоставляет, чтобы облегчить нам жизнь. Он автоматически подписывается на Observable и отписывается, избегая утечек памяти.

В этой статье мы изучим AsyncPipe и всю работу, которую он делает за нас.

👉 https://medium.com/p/714dd864adaa
👍14👎2
Добавляем темы в приложение

Предоставление различных тем на выбор пользователей стало практически стандартом в наши дни, и это довольно легко реализовать с помощью Angular.

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

👉 https://medium.com/p/fc49798285c6
👍13👎1
Дополнительные техники для производительности

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

Александр Шатилов собрал их в виде справочника.

👉 https://medium.com/p/4e30a097ee32
👍20🔥4
🔥 Розыгрыш четырех билетов на Podlodka Frontend Crew

Специально для наших подписчиков мы запускаем конкурс совместно с Podlodka Frontend Crew.

Для участия необходимо:
💖 Любить фронтенд
👉 Ответить на несколько вопросов

Конференция состоится 15 - 19 августа.

Вас ждет недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.

💖 Желаем удачи
👍15💩5🔥4
Начинаем розыгрыш билетов Podlodka Crew

Если вы еще не подали заявку на участие, то можете сделать это здесь

Нажмите, чтобы присоединиться к стриму
👍5🤮5🏆21
🔥 Новости e2e-тестирования в Angular

В Angular 12 была добавлена поддержка трех популярных фреймворков для e2e-тестирования: Cypress, Nightwatch и WebdriverIO.

Основываясь на обратной связи с сообществом, команда Angular решила отказаться от использования Protractor, одновременно работая над поддержкой для проектов, которые хотят продолжать его использовать.

В Angular 16, который ожидается летом 2023 года, будет опубликован последний релиз Protractor.

👉 https://medium.com/p/d175f751cb9c
👍15🔥4😁2
Типизированные формы

Многие уже знакомы с типизированными формами, которые появились в новом релизе Angular, они позволяют указывать явные типы.

Александр Серенко рассмотрел различия между типизированными и нетипизированными формами и оптимизацию работы с ними.

👉 https://medium.com/p/f5bc6fb86f38
👍14🔥1
Ленивая загрузка в Angular

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

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

👉 https://medium.com/p/bcf8eae406c8
🔥11👍5🤩1
Используем проекцию контента

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

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

👉 https://medium.com/p/fb3064a608f
👍9
Осваиваем Utility Types

Для удобства в TypeScript есть Utility Types — с их помощью мы можем легко преобразовывать типы, извлекать, исключать, получать тип параметра или тип возвращаемого значения функции.

В статье разобраны 15 наиболее используемых утилит.

👉 https://medium.com/p/6cf121d4047c
👍13🔥2
Динамические переводы

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

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

👉 https://medium.com/p/5eeed8466696
👍7🔥2
Создаем свои Pipes

Pipes — это простые функции, которые можно использовать в шаблонных выражениях для преобразования значений в другой формат отображения. В Angular есть несколько встроенных pipes, но мы можем создавать и собственные.

В этой статье мы изучим пользовательские pipes в Angular.

👉 https://medium.com/p/e54bb400e3ce
👍4
Создаем простой модальный диалог

Всплывающие окна стали распространенной особенностью веб-приложений. Не так давно для их создания мы полагались на библиотеки компонентов. С появлением HTML-элемента dialog, все может измениться.

В этой статье показывается, как создавать минималистичные диалоговые окна.

👉 https://medium.com/p/277ea7f96da1
👍7
Руководство по миграции на новый Firebase API

Разработчики Firebase SDK проделали огромную работу, полностью переписав способ интеграции и использования библиотеки в приложениях. Теперь она стала более компактной и позволяет динамически импортировать модули, когда это необходимо.

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

👉 https://medium.com/p/c6d80c1260b2
👍6
Настраиваем CI/CD

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

В этой статье объяснена концепция непрерывной интеграции, на примере Angular и GitLab.

👉 https://medium.com/p/9e4ae887ff2b
👍14🔥5
Работаем с GraphQL в Angular

Apollo Angular — это сверхгибкий клиент GraphQL для Angular, позволяющий добавить его в уже существующее приложение и начать использовать GraphQL только для части пользовательского интерфейса.

В статье описан быстрый способ его настройки.

👉 https://medium.com/p/a6fccf5f3a0c
👍13😐3
Учимся работать с inject

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

В статье на примерах показано, почему функция inject такая замечательная.

👉 https://medium.com/p/ac281e7148d1
👍14🔥5💩1