Предложение Angular сделает NgModules необязательным.

автор vadim


Разработчики Angular, популярной веб-платформы на основе TypeScript, рассматривают возможность сделать NgModules необязательным. Цель состоит в том, чтобы перевести Angular в сторону более простой модели повторного использования, чтобы улучшить опыт разработчиков.

Предложение RFC (запрос на комментарии), размещенное на GitHub, под названием «Автономные компоненты, директивы и каналы — делая NGModules Angular необязательными», направлено на проверку предполагаемого проекта с сообществом, получение обратной связи и возможность экспериментирования через непроизводственную среду. готовый прототип. RFC был опубликован 8 октября и будет закрыт не раньше 8 ноября.

Основная концепция Angular, NgModules, представляет собой контейнеры функций, используемые для управления зависимостями в рамках. Когда компоненту необходимо использовать другой компонент, директиву, канал или поставщик, на зависимость напрямую не ссылаются. Вместо этого импортируется NgModule, содержащий экспортированные компоненты, директивы и каналы, а также настроенные поставщики. В результате разработчикам приходится создавать NgModule для загрузки даже самого простого приложения «Hello, World».

Концептуальная ориентация Angular на NgModule отрицательно влияет на опыт разработчиков, утверждает RFC. RFC называет несколько причин:

  • Создание компонентов требует больше усилий, чем кодирование класса или шаблона.
  • API, связанные с загрузкой и рендерингом, излишне сложны и их легко использовать неправильно.
  • Чтения кода компонента недостаточно, чтобы понять поведение компонента.
  • Инструменты Angular должны иметь дело с «неявными» зависимостями компонентов от их контекста NgModule.

RFC призывает двигаться Angular в направлении, где компоненты, директивы и каналы играют более центральную роль, являются автономными и могут безопасно импортироваться и использоваться напрямую. Этот план упростит «мысленную модель» Angular, сделает возможным использование новых API для использования компонентов и директив (например, API для мелкомасштабной отложенной загрузки) и улучшит способность инструментов Angular эффективно обрабатывать код. Таким образом, Angular будет проще в использовании, легче рассуждать, менее многословен и быстрее компилируется.

Концепция NgModule не будет удалена из Angular, но станет необязательной для типичных задач разработки. В какой-то момент команда разработчиков Angular могла бы рассмотреть возможность полного удаления NgModules. Между тем, в предложении подчеркивается, что NgModules не исчезнет и не устареет. Разработчики по-прежнему смогут создавать их и использовать.

Сам Angular продолжает двигаться вперед, пока команда разработчиков обдумывает изменение NgModule. Angular 13 выйдет на следующей неделе, завершив переход на движок компиляции и рендеринга Ivy. Angular 12, опубликованный 24 июня, также был посвящен Ivy.

Related Posts

Оставить комментарий