
Pour ceux qui, au cours du long week-end, sont prêts non seulement à manger du barbecue, mais aussi à lire toutes sortes de textes nécessaires, j'ai rassemblé les liens du 10 mai de la chaîne des développeurs Vimbox dans la société Skyeng Slack. Comme la dernière fois, la collection est concentrée autour du framework Angular et sera intéressante pour les programmeurs travaillant avec.
Une excellente analyse du futur rendu Ivy: il décrit en termes généraux pourquoi il est fait et comment il fonctionne à l'intérieur.
«Avant d'entrer dans les détails de l'exécution, je voudrais consacrer quelques paragraphes à la réponse à la question qui se pose toujours dans ma tête à propos de tout changement. C'est la question éternelle: pourquoi? "
Détails sur le concept mentionné dans l'article DOM incrémentiel implémenté dans le rendu Ivy, et ses différences avec Virtual DOM - dans cet article .
Eh bien, pour ceux qui s'ennuient complètement - le document de conception officiel pour le compilateur Ivy .
Un autre mini-examen par Ivy renderer avec des gifs sur le travail de détection de changement / crochets de cycle en direct, illustré par la structure des objets internes et une démo où vous pouvez le sentir avec vos mains.
Un moment amusant de l'article:

Une courte note expliquant pourquoi takeUntil
devrait toujours être le dernier.
« Quel est le problème?
Si l'opérateur takeUntil
est situé en face de l'opérateur créant le nouvel abonnement, alors à la réception de la notification de désabonnement dans takeUntil
cet opérateur ne se désinscrira pas et continuera de travailler. »
Faire des animations avec RxJS
«Chaque fois que vous rencontrez un problème dans lequel le temps et l'asynchronie jouent un rôle, la pensée réactive couplée à des bibliothèques réactives comme RxJS vous mènera à une solution plus simple et plus fiable. Dans ce monde de connexions constantes, de nuages, de plates-formes et de microservices non bloquants, le temps et l'asynchronie joueront un rôle de plus en plus important. »
Pourquoi cela vaut-il la peine d'utiliser uniquement ReactiveForms et d'oublier toutes sortes de ngModel. Brièvement et au point.
"Pourquoi ne pas utiliser les deux?"
J'ai quatre raisons:
1. Développement difficile.
2. Nous devrons les charger tous les deux et le pack deviendra un peu plus.
3. Nous ne pouvons pas prédire ce que le développeur choisira, il sera donc plus difficile de traiter les demandes d'extraction.
4. À mon avis, il est toujours logique d'adhérer à un paradigme s'il n'y a aucune raison sérieuse de ne pas le faire. »
Assez d'anatomie de surface @angular/router
, ou ce qui se passe lors de la navigation.

«À partir de cet article, nous avons appris ce que fait le routeur angulaire lorsqu'un utilisateur navigue d'une page à l'autre.
Vous pouvez utiliser les mnémoniques PRIGRAM :
Cul
R edirect
Je dentifie
G uard
Esolve
Un ctivate
M anage
pour mémoriser l'ordre des étapes suivies par le routeur angulaire.
La connaissance de ce processus vous permettra de mieux comprendre ce qui se passe dans les coulisses et de résoudre les problèmes potentiels de routage. »
Une histoire sur la façon dont les différences sont arrangées en angulaire par l'exemple de l'écriture de la leur.
«Les différences angulaires sont peut-être les API les moins connues; ce sont des blocs hautement optimisés utilisés par Angular lui-même à l'intérieur du framework (ngClass, ngStyle, ngFor, etc.).
Vous ne les utiliserez certainement pas quotidiennement, mais ils peuvent être très utiles dans certaines conditions. Si vous vous êtes déjà dit: "Il ne suffit pas que je sache que quelque chose a changé, j'ai besoin de savoir ce qui a changé exactement", les différents angulaires vous donneront une réponse. "
Un exemple simple de comment obtenir rapidement @angular/elements
avec une simple configuration de webpack pour l'assemblage.
«Veuillez noter que nous avons tout fait manuellement et à partir de zéro .
À l'avenir, cela devrait devenir et deviendra plus facile. Il est prévu que tout sera configuré à l'intérieur de la CLI angulaire, et la création d'un assemblage d'un élément sera une question de commande cli.
Mais si vous avez entendu parler des éléments angulaires et que vous voulez les essayer - c'est l'une des solutions possibles. Je partagerai le second dans le prochain article . »
Une description utile du fonctionnement de ChangeDetection.OnPush
, sans entrer dans le code angulaire. Il est très utile pour ceux qui ne connaissent pas / comprennent mal comment vivre avec.
«Cette technique s'appelle le contrôle des salissures. Pour savoir si un modèle doit être mis à jour, Angular doit prendre une nouvelle valeur, la comparer avec l'ancien et, sur cette base, prendre une décision de mise à jour.
Imaginez une excellente application avec des milliers de classeurs; si nous laissons Angular tester chacun d'eux pendant le cycle de détection des modifications, nous rencontrerons des problèmes de performances.
Et si vous aidiez Angular en lui indiquant quand vérifier nos composants? »
La cinquième version de Nest a été publiée - l'excellent framework backend de type angulaire Node.js sur dactylographié. Ils l'ont rendu encore plus abstrait (vous permettant d'utiliser n'importe quel serveur http, pas seulement express), ajusté la syntaxe pour correspondre à Angular (décorateurs / modules), peigné le module de microservice, simplifiant le sciage de ses adaptateurs et bibliothèques RPC au lieu de celui par défaut.
Eh bien, traditionnel: venez chez nous pour travailler! Nous avons toujours besoin de gens sympas !