ngFanatic еженедельник
21-08-2019
Релизы:
angular: 8.2.2, 9.0.0-next.2 (2019–08–12)
angular-cli: 8.2.2, v8.3.0-rc.0
angular material: 8.1.3
Статьи:
Architecture with Angular Ivy — Part 2: Higher order and dynamic Components
Manfred Steyer — Долгожданная динамика в Ivy, пока без публичного API, но команда Angular обещает сделать их публичными. Так же бонусом в конце статьи, для тех кто себе может позволить(наплевать на производительность и размер бандла), продемонстрирован способ компиляции компонентов (в Ivy) в рантайме.
Introducing Transloco: Angular Internationalization Done Right
Netanel Basal.
Вот не успел Oliver Combe (тот кто пилил i18n core и ngx-translate) уйти в свободное плавание после гугла, так Basal запилил свой вариант для переводов, и обещает его сделать лучше чем ngx-translate. И даже написал мигратор ngx-translate to transloco (правда обычным regexp, не то что
мой, через суровый ngAST =)). Мое мнение: можно юзать, но через год все равно придете к i18n core.
The Ultimate Guide to Implementing Feature Flags in Angular Applications
Netanel Basal.
Feature Flags — довольно известная техника при разработке, когда зачастую функционал скрывают за ними. В статье Basal приводит варианты для использования этой техники, во всех Angular сущностях.
The Best Way To Lazy Load Angular Elements
Tomas Trajan.
Ну что ж, конвертируем в WebComponents, и юзаем как угодно и где угодно. Казалось бы везде об этом уже написано, а что если нам потребуется загрузить веб компонент в наш Angular компонент? как раз в статье Tomas приводит интересное решение:
простую директиву:
<some-element *axLazyElement=”https://my.elements/some-element.js”></some-element>
Sharing Components Between Angular Applications
Jonathan Saring.
А вы знали о таком решении, как bit для создания, версионирования и шаринга ваших ui компонентов между продуктами ? Решение имеет cli для популярных фреймворков, в статье разобрано, как это использовать с Angular.
Tracking errors in Angular with Sentry
Nils Mehlhorn.
Ну просто подключите Sentry к вашему продукту, и появится весь stacktrace говорится в статье.
Implementing undo-redo with NgRx or Redux
Nils Mehlhorn.
Пример реализации паттернов
memento и
command для создания undo и redo функционала для вашего приложения. Стоит почитать, если не делали этого никогда, хотя в статье и не разобраны коллизии при работе с несколькими источниками данных
Managing Key-Value Constants in TypeScript
lacolaco / Suguru Inatomi.
Мы часто работаем со множествами, и хорошо если они у нас типизированы. В статье показано как начиная с typescript v3.4, а это означает еще и то что с Angular 8, можем превращать массив в tuple, простым движением,
[array] as const
потом же с него в тип
type MyType = typeof myTuple[number];
а в конце просто key-value
Record<MyType,string>
What Is a Higher-Order Observable?
Deborah Kurata. И на последок про RxJS, HOO