✨ Отказ от привычки использовать Enum
Вы активно используете enum в своих TypeScript-проектах? А что, если мы скажем, что этот привычный инструмент не так безобиден, как кажется, и может создавать проблемы, о которых вы даже не подозреваете?
Главные претензии к enum: они добавляют лишний код в ваш бандл, имеют неочевидные различия между числовыми и строковыми вариантами, а также позволяют "слияние объявлений" (declaration merging), что может привести к непредсказуемому поведению.
В качестве альтернативы автор предлагает использовать обычные объекты с as const. Благодаря возможностям вывода типов в TypeScript, тип, представляющий все возможные значения из такого объекта, можно получить автоматически прямо из его структуры.
👉 https://www.angularspace.com/breaking-the-enum-habit-why-typescript-developers-need-a-new-approach/
Вы активно используете enum в своих TypeScript-проектах? А что, если мы скажем, что этот привычный инструмент не так безобиден, как кажется, и может создавать проблемы, о которых вы даже не подозреваете?
Главные претензии к enum: они добавляют лишний код в ваш бандл, имеют неочевидные различия между числовыми и строковыми вариантами, а также позволяют "слияние объявлений" (declaration merging), что может привести к непредсказуемому поведению.
В качестве альтернативы автор предлагает использовать обычные объекты с as const. Благодаря возможностям вывода типов в TypeScript, тип, представляющий все возможные значения из такого объекта, можно получить автоматически прямо из его структуры.
👉 https://www.angularspace.com/breaking-the-enum-habit-why-typescript-developers-need-a-new-approach/
🤡19👍7🤣3🔥1🥴1🤓1
✨ Магия анимаций в Angular
Хотите, чтобы ваши Angular-приложения ожили с плавными анимациями, как в лучших веб-приложениях? View Transition API позволяет легко делать простые и эффектные анимации элементов на странице.
Статья раскрывает, как подружить этот API с Angular и создавать wow-эффекты.
👉 https://www.angularspace.com/angular-animation-magic-unlock-the-power-of-the-view-transition-api/
Хотите, чтобы ваши Angular-приложения ожили с плавными анимациями, как в лучших веб-приложениях? View Transition API позволяет легко делать простые и эффектные анимации элементов на странице.
Статья раскрывает, как подружить этот API с Angular и создавать wow-эффекты.
👉 https://www.angularspace.com/angular-animation-magic-unlock-the-power-of-the-view-transition-api/
🥰12🤯2👍1
✨ Создание full-stack приложения с использованием AnalogJS
Задумывались, почему у Vue есть Nuxt, у React – Next.js, а у Angular нет своего «секретного оружия»?
Встречайте AnalogJS – мета-фреймворк, который приносит всю мощь современных инструментов (SSR, SSG, файловый роутинг и многое другое) в экосистему Angular.
В статье шаг за шагом раскрывается, как на нем собрать полноценное приложение для поиска аниме.
👉 https://www.angularspace.com/build-a-full-stack-application-with-analogjs/
Задумывались, почему у Vue есть Nuxt, у React – Next.js, а у Angular нет своего «секретного оружия»?
Встречайте AnalogJS – мета-фреймворк, который приносит всю мощь современных инструментов (SSR, SSG, файловый роутинг и многое другое) в экосистему Angular.
В статье шаг за шагом раскрывается, как на нем собрать полноценное приложение для поиска аниме.
👉 https://www.angularspace.com/build-a-full-stack-application-with-analogjs/
👍7🔥3
✨ Ты неправильно понимаешь DDD в Angular (и на фронтенде)
Вы уверены, что DDD в frontend-разработке — это про красивую структуру кода? Многие разработчики ошибаются, считая, что Domain-Driven Design сводится к техническим трюкам.
Агрегаты и транзакции? Забудьте, это не задача фронтенда. Главное понять, как бизнес зарабатывает деньги и решает задачи пользователей.
Статья разоблачает мифы о DDD, показывая, что это не про фронтенд в отрыве от реальности, а про глубокое погружение в бизнес.
Узнайте, как использовать DDD правильно и не загубить проект, следуя модным трендам.
👉 https://www.angularspace.com/youre-misunderstanding-ddd-in-angular-and-frontend/
Вы уверены, что DDD в frontend-разработке — это про красивую структуру кода? Многие разработчики ошибаются, считая, что Domain-Driven Design сводится к техническим трюкам.
Агрегаты и транзакции? Забудьте, это не задача фронтенда. Главное понять, как бизнес зарабатывает деньги и решает задачи пользователей.
Статья разоблачает мифы о DDD, показывая, что это не про фронтенд в отрыве от реальности, а про глубокое погружение в бизнес.
Узнайте, как использовать DDD правильно и не загубить проект, следуя модным трендам.
👉 https://www.angularspace.com/youre-misunderstanding-ddd-in-angular-and-frontend/
👍13🔥4
✨ State of Web Dev AI 2025
Знакомы со State of JS? Недавно вышло исследование State of Web Dev AI 2025, которое ответило на вопросы: какие инструменты действительно полезны, сколько времени и ресурсов разработчики тратят на нейросети и с какими трудностями сталкиваются.
Авторы опросили более 4 тысяч разработчиков, как активных пользователей, так и скептиков.
Интересный факт: более половины опрошенных уже интегрировали нейросети в свои рабочие процессы и отметили рост производительности.
👉 https://2025.stateofai.dev/
Знакомы со State of JS? Недавно вышло исследование State of Web Dev AI 2025, которое ответило на вопросы: какие инструменты действительно полезны, сколько времени и ресурсов разработчики тратят на нейросети и с какими трудностями сталкиваются.
Авторы опросили более 4 тысяч разработчиков, как активных пользователей, так и скептиков.
Интересный факт: более половины опрошенных уже интегрировали нейросети в свои рабочие процессы и отметили рост производительности.
👉 https://2025.stateofai.dev/
🤮6🤡5
✨ C# vs Angular
DI — это не просто тренд, а фундаментальный принцип, который делает приложения гибкими, модульными и готовыми к любым изменениям. А изучение его открывает глаза на универсальные архитектурные идеи, которые вы сможете применять где угодно.
Узнайте больше о том, как одинаковые идеи работают в Angular и C#.
👉 https://habr.com/ru/articles/903636/
DI — это не просто тренд, а фундаментальный принцип, который делает приложения гибкими, модульными и готовыми к любым изменениям. А изучение его открывает глаза на универсальные архитектурные идеи, которые вы сможете применять где угодно.
Узнайте больше о том, как одинаковые идеи работают в Angular и C#.
👉 https://habr.com/ru/articles/903636/
👍5🤮3
✨ Архитектура от тестов
Вы когда-нибудь задумывались, почему одни проекты поддерживать легко, а другие превращаются в кошмар? Секрет прост: если ваш код легко тестировать, он автоматически становится понятным, гибким и готовым к будущим изменениям.
Новая статья раскрывает, как мышление "от тестов" делает вашу архитектуру кристально ясной.
👉 https://habr.com/ru/articles/907994/
Вы когда-нибудь задумывались, почему одни проекты поддерживать легко, а другие превращаются в кошмар? Секрет прост: если ваш код легко тестировать, он автоматически становится понятным, гибким и готовым к будущим изменениям.
Новая статья раскрывает, как мышление "от тестов" делает вашу архитектуру кристально ясной.
👉 https://habr.com/ru/articles/907994/
👍9🥰2😁2🔥1
✨ Фронтенд — новый легаси: Как мы проспали event-driven революцию
В статье объясняется, почему фронтенд все еще живет в эпохе jQuery, хотя на бэкенде уже давно правят Pub/Sub-паттерны с RabbitMQ и Kafka.
P.S. Все изложенное — лишь мнение автора статьи. У предложенного решения есть свои недостатки, но идея интересная и вполне может вызвать обсуждение.
👉 https://habr.com/ru/articles/906800/
В статье объясняется, почему фронтенд все еще живет в эпохе jQuery, хотя на бэкенде уже давно правят Pub/Sub-паттерны с RabbitMQ и Kafka.
P.S. Все изложенное — лишь мнение автора статьи. У предложенного решения есть свои недостатки, но идея интересная и вполне может вызвать обсуждение.
👉 https://habr.com/ru/articles/906800/
🤮15🙉8💩6👍3👎1🔥1
✨ Как ESLint помогает управлять архитектурой проекта
Импорты из устаревших библиотек, UI-компоненты в бизнес-логике, фичи, завязанные на низкоуровневом API... Знакомые проблемы?
Борис Ермаченко рассказал, как ESLint может автоматически следить за соблюдением архитектурных границ с помощью трех инструментов:
- import/no-restricted-paths — для запрета импортов на уровне директорий
- no-restricted-imports — для блокировки устаревших библиотек
- eslint-plugin-boundaries — позволяет описывать архитектурные слои и следить за их границами
👉 https://habr.com/ru/companies/psb/articles/905398/
Импорты из устаревших библиотек, UI-компоненты в бизнес-логике, фичи, завязанные на низкоуровневом API... Знакомые проблемы?
Борис Ермаченко рассказал, как ESLint может автоматически следить за соблюдением архитектурных границ с помощью трех инструментов:
- import/no-restricted-paths — для запрета импортов на уровне директорий
- no-restricted-imports — для блокировки устаревших библиотек
- eslint-plugin-boundaries — позволяет описывать архитектурные слои и следить за их границами
👉 https://habr.com/ru/companies/psb/articles/905398/
👍18🔥3❤2
✨ Angular 19.2: Шаблонные литералы в [class] — более чистая альтернатива [ngClass]?
Слышали, что в Angular 19.2 с помощью шаблонных литералов можно реализовать генерацию динамических классов и стилей?
Как это работает?
Вместо громоздких [ngClass] или множества [class.x] вы просто пишете:
Это позволяет лаконично и понятно управлять классами, особенно когда их имя зависит от переменной.
👉 https://push-based.io/article/angular-19-2-template-literals-in-class-a-cleaner-alternative-to-ngclass
Слышали, что в Angular 19.2 с помощью шаблонных литералов можно реализовать генерацию динамических классов и стилей?
Как это работает?
Вместо громоздких [ngClass] или множества [class.x] вы просто пишете:
<div [class]="`btn-${variant}`"></div>
Это позволяет лаконично и понятно управлять классами, особенно когда их имя зависит от переменной.
👉 https://push-based.io/article/angular-19-2-template-literals-in-class-a-cleaner-alternative-to-ngclass
👍24🔥6
✨ Продвинутые методы использования TypeScript в реальных проектах
Вы когда-нибудь сталкивались с ситуацией, когда даже идеальный код превращается в хаос из-за громоздких типов?
На примере простой системы "умного дома" демонстрируется, как связать события с их данными и сделать невозможными ошибки несоответствия.
👉 https://habr.com/ru/companies/timeweb/articles/906842/
Вы когда-нибудь сталкивались с ситуацией, когда даже идеальный код превращается в хаос из-за громоздких типов?
На примере простой системы "умного дома" демонстрируется, как связать события с их данными и сделать невозможными ошибки несоответствия.
👉 https://habr.com/ru/companies/timeweb/articles/906842/
👍3🗿1
✨ Почему мы используем Typescript в своих проектах и каковы его расширенные возможности?
Ни для кого не секрет, что в крупных проектах, где код постоянно растет, а состав команд меняется, TypeScript — это не просто модный тренд, а инвестиция в чистый, безопасный и понятный код.
В статье разбираются ключевые преимущества TypeScript, наглядно демонстрируются его расширенные возможности и объясняется, как он помогает справляться с вызовами масштабных проектов.
👉 https://habr.com/ru/companies/nlmk/articles/893270/
Ни для кого не секрет, что в крупных проектах, где код постоянно растет, а состав команд меняется, TypeScript — это не просто модный тренд, а инвестиция в чистый, безопасный и понятный код.
В статье разбираются ключевые преимущества TypeScript, наглядно демонстрируются его расширенные возможности и объясняется, как он помогает справляться с вызовами масштабных проектов.
👉 https://habr.com/ru/companies/nlmk/articles/893270/
👍6🔥1🤡1
✨ MCP + Playwright: Революция в тестировании?
Представьте, что вы нажимаете кнопку и ваши E2E‑тесты уже написаны за вас.
С Playwright MCP Server больше не нужно часами вручную описывать каждый шаг пользователя, с его помощью вы получаете готовые варианты, которые остается только немного доработать. Это огромный шаг к повышению продуктивности.
В статье автор делится своим опытом его использования, и оценивает качество сгенерированных тестов.
👉 https://timdeschryver.dev/blog/vibe-testing-with-playwright
Представьте, что вы нажимаете кнопку и ваши E2E‑тесты уже написаны за вас.
С Playwright MCP Server больше не нужно часами вручную описывать каждый шаг пользователя, с его помощью вы получаете готовые варианты, которые остается только немного доработать. Это огромный шаг к повышению продуктивности.
В статье автор делится своим опытом его использования, и оценивает качество сгенерированных тестов.
👉 https://timdeschryver.dev/blog/vibe-testing-with-playwright
👍9🤮5
✨ TypeScript: стоит ли усложнять типы?
Система типов в TypeScript настолько мощная, что может заменить целый язык программирования. Но стоит ли усложнять типы ради надежности кода, или лучше остаться в зоне комфорта?
Эта статья поможет найти золотую середину.
👉 https://habr.com/ru/companies/lanit/articles/908642/
Система типов в TypeScript настолько мощная, что может заменить целый язык программирования. Но стоит ли усложнять типы ради надежности кода, или лучше остаться в зоне комфорта?
Эта статья поможет найти золотую середину.
👉 https://habr.com/ru/companies/lanit/articles/908642/
👍4🔥1
✨ Гайд на полиморфизм. Основные идеи
Многие считают, что полиморфизм связан исключительно с ООП, но пора разрушить миф. Он присутствует в самых разных языках и парадигмах, помогая коду быть гибким и универсальным.
Читай статью, чтобы наконец-то разложить по полочкам этот фундаментальный концепт, который на деле гораздо глубже, чем принято думать.
👉 https://habr.com/ru/articles/910194/
Многие считают, что полиморфизм связан исключительно с ООП, но пора разрушить миф. Он присутствует в самых разных языках и парадигмах, помогая коду быть гибким и универсальным.
Читай статью, чтобы наконец-то разложить по полочкам этот фундаментальный концепт, который на деле гораздо глубже, чем принято думать.
👉 https://habr.com/ru/articles/910194/
❤2👍1🔥1
✨ Погружение в grammY: разработка Telegram-бота с TypeScript и Docker
Твой Telegram-бот все еще просто повторяет сообщения? Время для серьезного апгрейда!
Узнай, как заложить мощный фундамент для будущего масштабирования, превратив простого помощника в по-настоящему умный и надежный инструмент.
👉 https://habr.com/ru/companies/selectel/articles/910174/
Твой Telegram-бот все еще просто повторяет сообщения? Время для серьезного апгрейда!
Узнай, как заложить мощный фундамент для будущего масштабирования, превратив простого помощника в по-настоящему умный и надежный инструмент.
👉 https://habr.com/ru/companies/selectel/articles/910174/
🔥5👍1
✨ Анонс TypeScript Native Previews
Устали ждать, пока ваш TypeScript-проект соберется? Microsoft выпустила TypeScript Native Previews — революционную версию компилятора, переписанную на Go с использованием параллелизма.
В комплекте идет расширение для VS Code и npm-пакет
Реальный пример: проект Sentry с миллионом строк кода теперь проверяется за 6,7 секунды против 72 секунд на обычном TypeScript.
👉 https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/
Устали ждать, пока ваш TypeScript-проект соберется? Microsoft выпустила TypeScript Native Previews — революционную версию компилятора, переписанную на Go с использованием параллелизма.
В комплекте идет расширение для VS Code и npm-пакет
@typescript/native-preview
с новым CLI-инструментом tsgo
. Правда, пока это превью без некоторых фич (отсутствует --build), но скорость впечатляет.Реальный пример: проект Sentry с миллионом строк кода теперь проверяется за 6,7 секунды против 72 секунд на обычном TypeScript.
👉 https://devblogs.microsoft.com/typescript/announcing-typescript-native-previews/
🔥37🎉5👍4❤2
✨ Эволюция программирования: как парадигмы украли нашу свободу
Задумывались ли вы, почему программирование из приключения превратилось в строгую инженерию? За 70 лет мы перешли от диких хакеров к архитекторам по ГОСТу. Раньше код писали на салфетках, сейчас по священным канонам SOLID.
В новой статье автор размышляет, как парадигмы превратили программирование из искусства в ремесло и почему это было неизбежно.
👉 https://habr.com/ru/articles/912552/
Задумывались ли вы, почему программирование из приключения превратилось в строгую инженерию? За 70 лет мы перешли от диких хакеров к архитекторам по ГОСТу. Раньше код писали на салфетках, сейчас по священным канонам SOLID.
В новой статье автор размышляет, как парадигмы превратили программирование из искусства в ремесло и почему это было неизбежно.
👉 https://habr.com/ru/articles/912552/
🔥6👍3
✨ NgRx получил крутое обновление Event API
Новый Event API в NgRx SignalStore добавляет возможности управления состоянием на основе событий, позволяя более эффективно создавать масштабируемые приложения.
В настоящее время он помечен как экспериментальный, что означает, что его API могут измениться. Тем не менее, вы уже сейчас можете попробовать его, оставить отзыв и помочь определить его будущее.
👉 https://www.angulararchitects.io/en/blog/the-new-event-api-in-ngrx-signal-store/
Новый Event API в NgRx SignalStore добавляет возможности управления состоянием на основе событий, позволяя более эффективно создавать масштабируемые приложения.
В настоящее время он помечен как экспериментальный, что означает, что его API могут измениться. Тем не менее, вы уже сейчас можете попробовать его, оставить отзыв и помочь определить его будущее.
👉 https://www.angulararchitects.io/en/blog/the-new-event-api-in-ngrx-signal-store/
🤮8🔥4👍1
✨ Идеальная настройка проекта на Angular
А что, если бы ваш код в Angular был организован так, что ошибки сводились к минимуму, а команда работала как единый механизм?
Эта статья раскрывает, как правильная структура и автоматизация могут сэкономить вам время и нервы, превращая разработку в удовольствие.
👉 https://www.angulararchitects.io/en/blog/the-perfect-project-setup-for-angular-structure-and-automation-for-more-quality/
А что, если бы ваш код в Angular был организован так, что ошибки сводились к минимуму, а команда работала как единый механизм?
Эта статья раскрывает, как правильная структура и автоматизация могут сэкономить вам время и нервы, превращая разработку в удовольствие.
👉 https://www.angulararchitects.io/en/blog/the-perfect-project-setup-for-angular-structure-and-automation-for-more-quality/
👍12🔥5