✨ Новый Resource API
Недавно был опубликовал Pull Request для нового Resource API, которое позволяет асинхронно загружать ресурсы с использованием сигналов. Типичный сценарий её использования — загрузка данных через HTTP.
В этой статье показывается, как реализовать типичный CRUD сценарий с использованием нового API.
👉 https://www.angulararchitects.io/en/blog/asynchronous-resources-with-angulars-new-resource-api/
Недавно был опубликовал Pull Request для нового Resource API, которое позволяет асинхронно загружать ресурсы с использованием сигналов. Типичный сценарий её использования — загрузка данных через HTTP.
В этой статье показывается, как реализовать типичный CRUD сценарий с использованием нового API.
👉 https://www.angulararchitects.io/en/blog/asynchronous-resources-with-angulars-new-resource-api/
🔥10👍5
✨ Все, что вам нужно знать об Resource API
Если присмотреться к новому API, можно заметить, что функция
Чтобы это исправить, можно воспользоваться функцией
👉 https://push-based.io/article/everything-you-need-to-know-about-the-resource-api
Если присмотреться к новому API, можно заметить, что функция
resource()
по умолчанию использует промисы. Однако Angular всегда был ориентирован на использование Observables.Чтобы это исправить, можно воспользоваться функцией
rxResource()
.👉 https://push-based.io/article/everything-you-need-to-know-about-the-resource-api
👍7🔥3👏2❤1
✨ linkedSignal: управлять связанным состоянием теперь ещё проще
Недавно представили еще один реактивный примитив
Он позволяет связывать сигналы, чтобы автоматически синхронизировались их значения на основе зависимостей.
👉 https://habr.com/ru/articles/854842/
Недавно представили еще один реактивный примитив
linkedSignal
.Он позволяет связывать сигналы, чтобы автоматически синхронизировались их значения на основе зависимостей.
👉 https://habr.com/ru/articles/854842/
👍10🔥6
✨ Оптимизация реактивных форм
Если вы работаете с крупными или динамическими формами, по мере усложнения их производительность может ухудшаться.
Здесь на помощь приходят стратегии оптимизации производительности, такие как ленивые и асинхронные валидаторы.
👉 https://dev.to/this-is-angular/optimizing-angular-reactive-forms-enhancing-performance-with-lazy-validation-and-async-validators-5c40
Если вы работаете с крупными или динамическими формами, по мере усложнения их производительность может ухудшаться.
Здесь на помощь приходят стратегии оптимизации производительности, такие как ленивые и асинхронные валидаторы.
👉 https://dev.to/this-is-angular/optimizing-angular-reactive-forms-enhancing-performance-with-lazy-validation-and-async-validators-5c40
👍9👏1
✨ Сброс или установка значения в LinkedSignal
LinkedSignal создаёт WritableSignal, что позволяет явно задавать значение или обновлять его при изменении источника.
В этой статье представлено четыре примера, демонстрирующие возможности LinkedSignal.
👉 https://dev.to/railsstudent/reset-or-set-the-value-in-linkedsignal-in-angular-19-587h
LinkedSignal создаёт WritableSignal, что позволяет явно задавать значение или обновлять его при изменении источника.
В этой статье представлено четыре примера, демонстрирующие возможности LinkedSignal.
👉 https://dev.to/railsstudent/reset-or-set-the-value-in-linkedsignal-in-angular-19-587h
👍2👏2
✨ Знакомьтесь: input, output и model
Наверняка многие уже успели познакомиться с новыми функциями
Статья Егора Молчанова поможет вам разобраться в них, а также понять особенности
👉 https://habr.com/ru/companies/domclick/articles/854530/
Наверняка многие уже успели познакомиться с новыми функциями
input()
, output()
и model()
, которые пришли на смену @Input
и @Output
. Но если вы откладывали это до последнего момента.Статья Егора Молчанова поможет вам разобраться в них, а также понять особенности
computed
и effect
.👉 https://habr.com/ru/companies/domclick/articles/854530/
👍9❤1🔥1
✨ Получение данных с помощью resource и rxResource
Ранее мы упоминали, что команда Angular выпустила экспериментальные функции resource и rxResource для упрощения работы с данными. Эти функции доступны в двух вариантах: loader для resource возвращает Promise, а для rxResource — Observable.
В статье автор модернизировал свой старый проект для получения данных о покемонах, переписав его на Angular 19.0.0-next.11 и применив новые функции.
👉 https://dev.to/railsstudent/data-retrieval-with-the-experimental-resource-and-rxresource-functions-in-angular-19-fa9
Ранее мы упоминали, что команда Angular выпустила экспериментальные функции resource и rxResource для упрощения работы с данными. Эти функции доступны в двух вариантах: loader для resource возвращает Promise, а для rxResource — Observable.
В статье автор модернизировал свой старый проект для получения данных о покемонах, переписав его на Angular 19.0.0-next.11 и применив новые функции.
👉 https://dev.to/railsstudent/data-retrieval-with-the-experimental-resource-and-rxresource-functions-in-angular-19-fa9
👍2🔥1
✨ Зачем нам Node.js или Angular на бэкенде
Когда говорят об применении Angular на сервере, часто подразумевают серверный рендеринг (SSR). Но эта статья фокусируется на вопросах переиспользования кода.
Александр Лобанов поделился, как их команда, используя Node.js и Angular, сократила дублирование кода, ускорила разработку и добилась согласованности между клиентом и сервером.
👉 https://habr.com/ru/companies/eftech/articles/856840/
Когда говорят об применении Angular на сервере, часто подразумевают серверный рендеринг (SSR). Но эта статья фокусируется на вопросах переиспользования кода.
Александр Лобанов поделился, как их команда, используя Node.js и Angular, сократила дублирование кода, ускорила разработку и добилась согласованности между клиентом и сервером.
👉 https://habr.com/ru/companies/eftech/articles/856840/
💩4👍3❤2👏1
✨ Вспомогательные маршруты
Вспомогательные маршруты, также известные как вторичные маршруты, позволяют добавить несколько независимых маршрутов, улучшая навигационные и интерактивные возможности.
Обычно они используются для таких компонентов, как боковые панели, модальные окна или любые дополнительные части интерфейса.
👉 https://dev.to/this-is-angular/auxiliary-routes-in-angular-3gkk
Вспомогательные маршруты, также известные как вторичные маршруты, позволяют добавить несколько независимых маршрутов, улучшая навигационные и интерактивные возможности.
Обычно они используются для таких компонентов, как боковые панели, модальные окна или любые дополнительные части интерфейса.
👉 https://dev.to/this-is-angular/auxiliary-routes-in-angular-3gkk
👍9🔥3
✨ 5 функций, которых стоит ожидать
Angular 19 пока официально не выпущен, однако уже доступны многие детали о предстоящем релизе.
В статье выделены пять ключевых нововведений, которые облегчат процесс разработки и позволят создавать более быстрые приложения.
👉 https://dev.to/this-is-angular/angular-19-5-game-changing-features-you-need-to-know-32cd
Angular 19 пока официально не выпущен, однако уже доступны многие детали о предстоящем релизе.
В статье выделены пять ключевых нововведений, которые облегчат процесс разработки и позволят создавать более быстрые приложения.
👉 https://dev.to/this-is-angular/angular-19-5-game-changing-features-you-need-to-know-32cd
👍7👏1
✨ Новый экспериментальный API
Несмотря на то, что Resource и rxResource все еще находятся на стадии предварительного просмотра, они обещают существенно изменить подход к работе с данными.
В статье подробно рассматриваются их возможности и предлагаемые методы улучшения рабочего процесса.
👉 https://dev.to/this-is-angular/angular-19-streamlining-data-retrieval-with-resource-and-rxresource-apis-3lb2
Несмотря на то, что Resource и rxResource все еще находятся на стадии предварительного просмотра, они обещают существенно изменить подход к работе с данными.
В статье подробно рассматриваются их возможности и предлагаемые методы улучшения рабочего процесса.
👉 https://dev.to/this-is-angular/angular-19-streamlining-data-retrieval-with-resource-and-rxresource-apis-3lb2
👍4🔥3👎1
✨ Магия с interceptors
Interceptors — это функции, о которых многие слышали, но редко используют за пределами аутентификации. Однако существует множество случаев, когда перехватчики могут быть полезны.
В статье рассмотрены интересные и достаточно распространенные сценарии, в которых они могут пригодиться.
👉 https://www.angularspace.com/magic-with-interceptors/
Interceptors — это функции, о которых многие слышали, но редко используют за пределами аутентификации. Однако существует множество случаев, когда перехватчики могут быть полезны.
В статье рассмотрены интересные и достаточно распространенные сценарии, в которых они могут пригодиться.
👉 https://www.angularspace.com/magic-with-interceptors/
👍9🔥4❤1
✨ Создание кастомного rxResource
Angular приближается к выпуску 19-й версии, однако многие проекты все еще работают на старых версиях.
Поскольку в этих версиях широко используются Observables, автор решил создать аналог rxResource, основанный на RxJS, вместо сигналов.
👉 https://www.angularspace.com/creating-custom-rxresource-api-with-observables/
Angular приближается к выпуску 19-й версии, однако многие проекты все еще работают на старых версиях.
Поскольку в этих версиях широко используются Observables, автор решил создать аналог rxResource, основанный на RxJS, вместо сигналов.
👉 https://www.angularspace.com/creating-custom-rxresource-api-with-observables/
👍3🔥2👏1
✨ Релиз Angular 19: Присоединяйтесь к просмотру
Релиз Angular 19 уже на подходе, и разработчики по всему миру готовятся к празднованию. Мероприятия стартуют 19 ноября.
Если вы увлечены Angular, то это отличная возможность узнать о его новых возможностях, пообщаться с другими разработчиками и поделиться своим мнением. Не пропустите!
👉 https://blog.angular.dev/angular-v19-release-join-the-watch-parties-45f552d49554
Релиз Angular 19 уже на подходе, и разработчики по всему миру готовятся к празднованию. Мероприятия стартуют 19 ноября.
Если вы увлечены Angular, то это отличная возможность узнать о его новых возможностях, пообщаться с другими разработчиками и поделиться своим мнением. Не пропустите!
👉 https://blog.angular.dev/angular-v19-release-join-the-watch-parties-45f552d49554
🔥20👍3
Привет!
Мы знаем, что вы до сих пор спите и видите сны на TypeScript!🌟
Мы прекрасно знаем, как вы любите Angular. Сейчас ещё есть возможность зарегистрироваться на Angular Meetup #23.
Мы будем обсуждать текущее состояние Angular и что нас ждет. Узнаем, сколько версий фреймворка нужно пропустить, чтобы считать свой проект устаревшим.👩💻
В конце нас ждет афтепати в лучших традициях: настолки, задачи на написание кода и неформальный нетворкинг с единомышленниками.
✅ Если ты с нами
1️⃣ Регистрируйся здесь
2️⃣ Добавляй напоминание в календарь
3️⃣ Поделись этим сообщением с друзьями - чем больше нас будет, тем веселее!
Если не получится прийти на митап, можно посмотреть трансляцию онлайн.
Мы знаем, что вы до сих пор спите и видите сны на TypeScript!
Мы прекрасно знаем, как вы любите Angular. Сейчас ещё есть возможность зарегистрироваться на Angular Meetup #23.
Мы будем обсуждать текущее состояние Angular и что нас ждет. Узнаем, сколько версий фреймворка нужно пропустить, чтобы считать свой проект устаревшим.
В конце нас ждет афтепати в лучших традициях: настолки, задачи на написание кода и неформальный нетворкинг с единомышленниками.
✅ Если ты с нами
1️⃣ Регистрируйся здесь
2️⃣ Добавляй напоминание в календарь
3️⃣ Поделись этим сообщением с друзьями - чем больше нас будет, тем веселее!
Если не получится прийти на митап, можно посмотреть трансляцию онлайн.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍5🔥4
✨ Представляем Angular 19
За последние два года команда Angular удвоила усилия по улучшению опыта разработчиков и производительности.
Сегодняшний релиз приносит множество улучшений, которые сделают разработку еще проще.
Основные моменты:
Инкрементальная гидратация — поддерживает самые требовательные к производительности сценарии.
Стабилизация ключевых реактивных примитивов и добавление новых: linkedSignal и resource.
Возможность управлять тем, какие маршруты рендерятся на клиенте, сервере или во время сборки.
Схематики, которые помогут вам быть в курсе лучших практик: inputs, outputs, queries, внедрение зависимостей на основе inject и новая система сборки.
🎉 Также поздравляем Кира с присоединением к команде Angular Core!
👉 https://blog.angular.dev/meet-angular-v19-7b29dfd05b84
За последние два года команда Angular удвоила усилия по улучшению опыта разработчиков и производительности.
Сегодняшний релиз приносит множество улучшений, которые сделают разработку еще проще.
Основные моменты:
Инкрементальная гидратация — поддерживает самые требовательные к производительности сценарии.
Стабилизация ключевых реактивных примитивов и добавление новых: linkedSignal и resource.
Возможность управлять тем, какие маршруты рендерятся на клиенте, сервере или во время сборки.
Схематики, которые помогут вам быть в курсе лучших практик: inputs, outputs, queries, внедрение зависимостей на основе inject и новая система сборки.
🎉 Также поздравляем Кира с присоединением к команде Angular Core!
👉 https://blog.angular.dev/meet-angular-v19-7b29dfd05b84
🎉30👍14🔥5❤3🤡1
✨ Все о Resource API
Вчерашний релиз Angular вызвал вопросы о новом Resource API и способах миграции на него.
Прежде всего, важно понимать, что он все еще находится на стадии предварительного просмотра и предназначен исключительно для получения данных.
В этой статье представлены практические примеры, которые помогут вам уверенно освоить новое API и применять его в будущем.
👉 https://www.angularspace.com/everything-you-need-to-know-abour-resource-for-now/
Вчерашний релиз Angular вызвал вопросы о новом Resource API и способах миграции на него.
Прежде всего, важно понимать, что он все еще находится на стадии предварительного просмотра и предназначен исключительно для получения данных.
В этой статье представлены практические примеры, которые помогут вам уверенно освоить новое API и применять его в будущем.
👉 https://www.angularspace.com/everything-you-need-to-know-abour-resource-for-now/
👍3🔥3
✨ Как с помощью Angular доработать CRM-систему
В мире автоматизации бизнес-процессов потребности компаний часто выходят за рамки стандартных возможностей предлагаемых продуктов. В таких случаях на помощь приходят кастомные разработки.
Илья Чубко рассказал о своем опыте доработки CRM-системы, адаптируя ее под уникальные потребности заказчика, которые невозможно реализовать средствами платформы.
👉 https://habr.com/ru/companies/k2tech/articles/860270/
В мире автоматизации бизнес-процессов потребности компаний часто выходят за рамки стандартных возможностей предлагаемых продуктов. В таких случаях на помощь приходят кастомные разработки.
Илья Чубко рассказал о своем опыте доработки CRM-системы, адаптируя ее под уникальные потребности заказчика, которые невозможно реализовать средствами платформы.
👉 https://habr.com/ru/companies/k2tech/articles/860270/
🔥12👍6👏3
✨ Как я писал плагин для TypeScript
Одна из ключевых опций в TypeScript — strict. Она задает строгие правила типизации, повышая надежность и предсказуемость кода. Но что делать, если проект стартовал без этой опции, а к моменту ее включения количество файлов перевалило за несколько тысяч?
Перед вами встанет непростая задача: переработать значительные участки кода, чтобы соответствовать новым требованиям строгой типизации. Это трудоемкий процесс, который может замедлить разработку.
Дмитрий, нашел оригинальное решение: написав плагин, позволяющий получить разную диагностику для разных файлов. Такой подход дает возможность постепенно адаптировать проект, не парализуя рабочий процесс.
👉 https://habr.com/ru/companies/dododev/articles/858308/
Одна из ключевых опций в TypeScript — strict. Она задает строгие правила типизации, повышая надежность и предсказуемость кода. Но что делать, если проект стартовал без этой опции, а к моменту ее включения количество файлов перевалило за несколько тысяч?
Перед вами встанет непростая задача: переработать значительные участки кода, чтобы соответствовать новым требованиям строгой типизации. Это трудоемкий процесс, который может замедлить разработку.
Дмитрий, нашел оригинальное решение: написав плагин, позволяющий получить разную диагностику для разных файлов. Такой подход дает возможность постепенно адаптировать проект, не парализуя рабочий процесс.
👉 https://habr.com/ru/companies/dododev/articles/858308/
🔥10👍2
✨ Создаем современные npm-пакеты
Современные npm-пакеты должны быть универсальными, работая в браузерах, серверной среде, с четким типизированным API.
Основная сложность заключается в несовместимости CommonJS (CJS) и ECMAScript modules (ESM).
Никита поделился практичным методом создания пакетов, который может вам пригодиться.
👉 https://habr.com/ru/companies/ozontech/articles/857954
Современные npm-пакеты должны быть универсальными, работая в браузерах, серверной среде, с четким типизированным API.
Основная сложность заключается в несовместимости CommonJS (CJS) и ECMAScript modules (ESM).
Никита поделился практичным методом создания пакетов, который может вам пригодиться.
👉 https://habr.com/ru/companies/ozontech/articles/857954
👍5👏2