✨ Новый способ управления подписками
Управление подписками — неприятная проблема, когда речь заходит об использовании RxJS с Angular. Трудно представить, сколько времени разработчики тратят на то, чтобы их приложения не имели утечек памяти.
Недавно вышла 14-я версия Angular, и в ней появилось несколько новых функций. Одна из них позволила создать новый способ управления подписками.
👉 https://medium.com/p/f74ef79a8ffc
Управление подписками — неприятная проблема, когда речь заходит об использовании RxJS с Angular. Трудно представить, сколько времени разработчики тратят на то, чтобы их приложения не имели утечек памяти.
Недавно вышла 14-я версия Angular, и в ней появилось несколько новых функций. Одна из них позволила создать новый способ управления подписками.
👉 https://medium.com/p/f74ef79a8ffc
🤔12👍7💩5
Приглашаем на новый сезон онлайн-конференции Podlodka Frontend Crew! Старт уже 15 августа!
🧰 Тема сезона — тулинг — инструменты, облегчающие жизнь фронтендеру 🧰
Мы вместили максимум пользы в 5 сессионных дней. В этом сезоне мы расскажем:
🛠 как подбирать под задачу и создавать собственные инструменты кодогенерации
🛠 как ускорять рефакторинг с помощью кодмодов
🛠 как упрощать код и уменьшать его количество
🛠 как определять, какие сборщики полезны и какие сложности возникнут при переезде
🛠 как поддерживать актуальность запросов и ответов бэкэнда
🛠 находить больше пользы в OpenAPI схемах
Вас будет ждать море практики! 🤓
👨🔧 Александр Илатовский, Frontend Engineer, в своём воркшопе покажет как вручную писать интерфейсы для запросов и ответов от бэкэнда и зачем это нужно.
👨🔧 Илья Горский, Frontend Engineer из HeadHunter, покажет как рефакторить код с помощью кодмодов и писать собственные моды под конкретную задачу.
👨🔧 Анатолий Кабанов, разработчик из Perforce, продемонстрирует как использовать библиотеку Redux в приложениях на примере RTK Query. Научит уменьшать количество кода и заменять его простым и эффективным.
Купить билет можно уже сейчас у нас на сайте со скидкой для ранних птичек! С нетерпением ждем на борту!
🧰 Тема сезона — тулинг — инструменты, облегчающие жизнь фронтендеру 🧰
Мы вместили максимум пользы в 5 сессионных дней. В этом сезоне мы расскажем:
🛠 как подбирать под задачу и создавать собственные инструменты кодогенерации
🛠 как ускорять рефакторинг с помощью кодмодов
🛠 как упрощать код и уменьшать его количество
🛠 как определять, какие сборщики полезны и какие сложности возникнут при переезде
🛠 как поддерживать актуальность запросов и ответов бэкэнда
🛠 находить больше пользы в OpenAPI схемах
Вас будет ждать море практики! 🤓
👨🔧 Александр Илатовский, Frontend Engineer, в своём воркшопе покажет как вручную писать интерфейсы для запросов и ответов от бэкэнда и зачем это нужно.
👨🔧 Илья Горский, Frontend Engineer из HeadHunter, покажет как рефакторить код с помощью кодмодов и писать собственные моды под конкретную задачу.
👨🔧 Анатолий Кабанов, разработчик из Perforce, продемонстрирует как использовать библиотеку Redux в приложениях на примере RTK Query. Научит уменьшать количество кода и заменять его простым и эффективным.
Купить билет можно уже сейчас у нас на сайте со скидкой для ранних птичек! С нетерпением ждем на борту!
👍5💩5
✨ Делаем простой и компактный стартер Angular
Стартовый шаблон по умолчанию, который получается из команды ng new в Angular CLI, может быть немного пугающим для новичков.
В этой статье показывается, как следуя принципу YAGNI, можно создать более компактный и простой шаблон, который будет понятен даже новичкам.
👉 https://dev.to/angular/a-simpler-and-smaller-angular-starter-with-nglite-1ooh
Стартовый шаблон по умолчанию, который получается из команды ng new в Angular CLI, может быть немного пугающим для новичков.
В этой статье показывается, как следуя принципу YAGNI, можно создать более компактный и простой шаблон, который будет понятен даже новичкам.
👉 https://dev.to/angular/a-simpler-and-smaller-angular-starter-with-nglite-1ooh
👍6👎1
✨ Разница между any и unknown
Типы any и unknown — это два примитивных типа в TypeScript, которые иногда могут пригодиться. Any отключает проверку типов и TypeScript не сможет обеспечить безопасность, поэтому лучше избегать его использования, а unknown является типобезопасным аналогом any.
Эта статья позволяет разобраться в их отличиях.
👉 https://medium.com/p/1fff4bf232a
Типы any и unknown — это два примитивных типа в TypeScript, которые иногда могут пригодиться. Any отключает проверку типов и TypeScript не сможет обеспечить безопасность, поэтому лучше избегать его использования, а unknown является типобезопасным аналогом any.
Эта статья позволяет разобраться в их отличиях.
👉 https://medium.com/p/1fff4bf232a
👍15❤2
✨ В чем разница между markForCheck и detectChanges?
Время от времени, разрабатывая сложные веб-приложения с помощью Angular, мы задумываемся о повышении производительности. Либо мы вынуждены это делать, потому что нас не устраивает производительность и это негативно сказывается на пользовательском опыте, либо мы действуем проактивно и используем стратегию OnPush с самого начала, чтобы избежать рефакторинга в дальнейшем.
В этой статье подробно объяснено, как работает обнаружение изменений под капотом или в чем разница между стратегиями Default и OnPush.
👉 https://medium.com/p/fff4e5f54d34
Время от времени, разрабатывая сложные веб-приложения с помощью Angular, мы задумываемся о повышении производительности. Либо мы вынуждены это делать, потому что нас не устраивает производительность и это негативно сказывается на пользовательском опыте, либо мы действуем проактивно и используем стратегию OnPush с самого начала, чтобы избежать рефакторинга в дальнейшем.
В этой статье подробно объяснено, как работает обнаружение изменений под капотом или в чем разница между стратегиями Default и OnPush.
👉 https://medium.com/p/fff4e5f54d34
👍16👎3🔥2
✨ Используем AsyncPipe
AsyncPipe — это один из инструментов, которые Angular предоставляет, чтобы облегчить нам жизнь. Он автоматически подписывается на Observable и отписывается, избегая утечек памяти.
В этой статье мы изучим AsyncPipe и всю работу, которую он делает за нас.
👉 https://medium.com/p/714dd864adaa
AsyncPipe — это один из инструментов, которые Angular предоставляет, чтобы облегчить нам жизнь. Он автоматически подписывается на Observable и отписывается, избегая утечек памяти.
В этой статье мы изучим AsyncPipe и всю работу, которую он делает за нас.
👉 https://medium.com/p/714dd864adaa
👍14👎2
✨ Добавляем темы в приложение
Предоставление различных тем на выбор пользователей стало практически стандартом в наши дни, и это довольно легко реализовать с помощью Angular.
В этой статье мы узнаем, как добавлять темы в приложения с помощью простого сервиса и возможностей CSS переменных.
👉 https://medium.com/p/fc49798285c6
Предоставление различных тем на выбор пользователей стало практически стандартом в наши дни, и это довольно легко реализовать с помощью Angular.
В этой статье мы узнаем, как добавлять темы в приложения с помощью простого сервиса и возможностей CSS переменных.
👉 https://medium.com/p/fc49798285c6
👍13👎1
✨ Дополнительные техники для производительности
Для повышения производительности обычно рекомендуют использовать onPush стратегию, но кроме этой стратегии существуют дополнительные инструменты и техники.
Александр Шатилов собрал их в виде справочника.
👉 https://medium.com/p/4e30a097ee32
Для повышения производительности обычно рекомендуют использовать onPush стратегию, но кроме этой стратегии существуют дополнительные инструменты и техники.
Александр Шатилов собрал их в виде справочника.
👉 https://medium.com/p/4e30a097ee32
👍20🔥4
🔥 Розыгрыш четырех билетов на Podlodka Frontend Crew
Специально для наших подписчиков мы запускаем конкурс совместно с Podlodka Frontend Crew.
Для участия необходимо:
💖 Любить фронтенд
👉 Ответить на несколько вопросов
Конференция состоится 15 - 19 августа.
Вас ждет недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.
💖 Желаем удачи
Специально для наших подписчиков мы запускаем конкурс совместно с Podlodka Frontend Crew.
Для участия необходимо:
💖 Любить фронтенд
👉 Ответить на несколько вопросов
Конференция состоится 15 - 19 августа.
Вас ждет недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.
💖 Желаем удачи
👍15💩5🔥4
🔥 Новости e2e-тестирования в Angular
В Angular 12 была добавлена поддержка трех популярных фреймворков для e2e-тестирования: Cypress, Nightwatch и WebdriverIO.
Основываясь на обратной связи с сообществом, команда Angular решила отказаться от использования Protractor, одновременно работая над поддержкой для проектов, которые хотят продолжать его использовать.
В Angular 16, который ожидается летом 2023 года, будет опубликован последний релиз Protractor.
👉 https://medium.com/p/d175f751cb9c
В 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
Многие уже знакомы с типизированными формами, которые появились в новом релизе Angular, они позволяют указывать явные типы.
Александр Серенко рассмотрел различия между типизированными и нетипизированными формами и оптимизацию работы с ними.
👉 https://medium.com/p/f5bc6fb86f38
👍14🔥1
✨ Ленивая загрузка в Angular
Представьте, что у нас есть большой сервис с множеством зависимостей и логики. Он должен использоваться только тогда, когда пользователь выполняет определенное действие, например, нажимает на кнопку.
В статье показано, как можно отложить загрузку сервиса, лениво загрузив его в момент выполнения действия.
👉 https://medium.com/p/bcf8eae406c8
Представьте, что у нас есть большой сервис с множеством зависимостей и логики. Он должен использоваться только тогда, когда пользователь выполняет определенное действие, например, нажимает на кнопку.
В статье показано, как можно отложить загрузку сервиса, лениво загрузив его в момент выполнения действия.
👉 https://medium.com/p/bcf8eae406c8
🔥11👍5🤩1
✨ Используем проекцию контента
Модальные диалоги часто применяются, когда требуется взаимодействие с пользователем.
В этой статье на их примере показано, как использовать проекцию контента для разработки по принципу DRY и строить диалоги гибко без излишней инженерии.
👉 https://medium.com/p/fb3064a608f
Модальные диалоги часто применяются, когда требуется взаимодействие с пользователем.
В этой статье на их примере показано, как использовать проекцию контента для разработки по принципу DRY и строить диалоги гибко без излишней инженерии.
👉 https://medium.com/p/fb3064a608f
👍9
✨ Осваиваем Utility Types
Для удобства в TypeScript есть Utility Types — с их помощью мы можем легко преобразовывать типы, извлекать, исключать, получать тип параметра или тип возвращаемого значения функции.
В статье разобраны 15 наиболее используемых утилит.
👉 https://medium.com/p/6cf121d4047c
Для удобства в TypeScript есть Utility Types — с их помощью мы можем легко преобразовывать типы, извлекать, исключать, получать тип параметра или тип возвращаемого значения функции.
В статье разобраны 15 наиболее используемых утилит.
👉 https://medium.com/p/6cf121d4047c
👍13🔥2
✨ Динамические переводы
Одним из распространенных подводных камней при использовании i18n является большой размер файлов перевода и невозможность разделить их для того, чтобы скрыть часть приложения от посторонних глаз.
В статье предложен способ реализации переводов, который может вам пригодиться.
👉 https://medium.com/p/5eeed8466696
Одним из распространенных подводных камней при использовании i18n является большой размер файлов перевода и невозможность разделить их для того, чтобы скрыть часть приложения от посторонних глаз.
В статье предложен способ реализации переводов, который может вам пригодиться.
👉 https://medium.com/p/5eeed8466696
👍7🔥2
✨ Создаем свои Pipes
Pipes — это простые функции, которые можно использовать в шаблонных выражениях для преобразования значений в другой формат отображения. В Angular есть несколько встроенных pipes, но мы можем создавать и собственные.
В этой статье мы изучим пользовательские pipes в Angular.
👉 https://medium.com/p/e54bb400e3ce
Pipes — это простые функции, которые можно использовать в шаблонных выражениях для преобразования значений в другой формат отображения. В Angular есть несколько встроенных pipes, но мы можем создавать и собственные.
В этой статье мы изучим пользовательские pipes в Angular.
👉 https://medium.com/p/e54bb400e3ce
👍4
✨ Создаем простой модальный диалог
Всплывающие окна стали распространенной особенностью веб-приложений. Не так давно для их создания мы полагались на библиотеки компонентов. С появлением HTML-элемента dialog, все может измениться.
В этой статье показывается, как создавать минималистичные диалоговые окна.
👉 https://medium.com/p/277ea7f96da1
Всплывающие окна стали распространенной особенностью веб-приложений. Не так давно для их создания мы полагались на библиотеки компонентов. С появлением HTML-элемента dialog, все может измениться.
В этой статье показывается, как создавать минималистичные диалоговые окна.
👉 https://medium.com/p/277ea7f96da1
👍7