И что мы можем ожидать от Angular v17? Ценные идеи от руководителя Angular Минко Гечева об Angular v16. Это изменение игры или потеря идентичности?

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

API гидратации

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

Цель состоит в том, чтобы иметь лучшую поддержку SSR и более плавные переходы между контентом, отображаемым сервером, и контентом, отображаемым клиентом.

Представляем DestroyRef

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

class ExampleComponent {
  constructor() {
    inject(DestroyRef).onDestroy(() => {
      // do something when the component is destroyed
    })
  }
}

Раньше это было невозможно, так как разработчикам приходилось размещать код ngOnDestroy непосредственно в самом методе. DestroyRef улучшит интеграцию с такими библиотеками, как RxJS, что сделает разработку Angular более эффективной.

Подробнее:



Библиотеки материалов Angular и токены дизайна

Минко подчеркнул влияние токенов дизайна на разработку приложений Angular, особенно в Material 3. Токены дизайна предоставляют разработчикам большую гибкость для настройки существующих компонентов Material.

Команда Material в Google позаботится о том, чтобы эти токены оставались стабильными, позволяя разработчикам создавать точно настроенные компоненты, не беспокоясь о частых изменениях.

Сглаживание пути обучения Angular

Упрощение пути обучения Angular является приоритетом для команды Angular. Минко рассказал о нескольких дополнительных улучшениях, направленных на то, чтобы облегчить разработчикам изучение и работу с Angular.

Он говорит, что RxJS непосильен для новых разработчиков, и команда Angular стремится удовлетворить обе стороны. Если вы хотите использовать RxJS, сделайте это, это нормально. Если вы не хотите его использовать, используйте Signals. Смесь того и другого? Не стесняйтесь.

Пример взаимодействия:

const counter: Signal<number> = toSignal(counter$);
const counter: Observable<number> = toObservable(mySignal);

Со временем план состоит в том, чтобы уменьшить участие RxJS в основных частях платформы. Будут ли как новые, так и существующие разработчики довольны изменениями? Судя по недавним обсуждениям в RFC, некоторые разработчики-ветераны серьезно обеспокоены будущим подходом.

Автономные компоненты

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

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  standalone: true,
  styleUrls: ['./app.component.scss']
})
export class AppComponent {}

Также ожидаются улучшения в отношении того, как сегодня обрабатываются автономные компоненты.

Подробнее:



Упрощение процесса разработки компонентов

Минко кратко упомянул, что команда Angular рассматривает возможность сделать компоненты, директивы и декораторы каналов необязательными. Цель состоит в дальнейшем упрощении процесса разработки компонентов и снижении сложности.

Это приведет к более простому и функциональному подходу к созданию входных и выходных данных.

Упрощение интерфейса командной строки Angular

CLI будет обновлен, чтобы иметь меньше концептуальных накладных расходов, и будут внесены улучшения в структуру проекта, что облегчит разработчикам навигацию и работу с проектами Angular.

Улучшенная документация и опыт обучения

Команда Angular сосредоточится на создании более увлекательных и понятных руководств, помогая разработчикам изучать Angular более эффективно и с удовольствием.

Это было бы гигантской помощью и улучшением по сравнению с текущей формой документации Angular, доступной сегодня.

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

С другой стороны, похоже, что он приближает Angular к функциональным компонентам и к основным конкурентам на рынке фреймворков — React и Vue.

Это очень краткое резюме — рекомендую посмотреть весь подкаст!

Прежде чем я подытожу, что происходит вокруг Sub-RFC3 и Sub-RFC4 — глядя на то, как складываются дела — вы воодушевлены будущим Angular? ?

Или немного беспокоитесь, что фреймворк может потерять свою идентичность со всеми грядущими изменениями?

У вас есть последний шанс принять участие в Signals RFC! — Angular Team закрывает его в понедельник, 24 апреля! — см. здесь.

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

Инструмент с открытым исходным кодом Bit помогает более чем 250 000 разработчиков создавать приложения с компонентами.

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



Подробнее

Разделите приложения на компоненты, чтобы упростить разработку приложений, и наслаждайтесь наилучшими возможностями для рабочих процессов, которые вы хотите:

Микро-интерфейсы

Система дизайна

Совместное использование кода и повторное использование

Монорепо

Узнать больше: