Élever un atome, approche 2.0.1

Pas même un an ne s'est écoulé, le deuxième article traite de la réactivité des données . L'objectif du cycle de développement actuel est de comprendre les concepts et de corriger l'API de la bibliothèque. En tant qu'auteur en quête de polyglotisme, il est devenu violet pour moi de décrire les stylos.
- Quoi qu'il en soit, la matrice a trop d'informations pour la décoder.
Vous avez juste besoin de vous y habituer.
Je ne vois pas du tout le code.
Je vois une blonde, une brune, une rousse.

image

Donc, introduisant alak 2.0.1-RC


Selon ma carte des connaissances du domaine de la programmation fonctionnelle, la particule de base de la bibliothèque est toujours un foncteur se balançant vers la monade (et vice versa si la vue des philosophes grecs antiques). La carte ne deviendra jamais un territoire, et dans la réincarnation actuelle, il a été décidé de sortir de cette forêt dense / jungle sauvage de terminologie fonctionnelle et de préparer la documentation dans leur langue maternelle et humaine.

Pour générer la documentation, j'ai essayé le documenteur du paquet api-extractor de microsoft, emballant le marqdown résultant dans docusaurus de facebook.

Voici ce qui s'est passé: alak.now.sh

Il semble optimal de générer des statistiques pour le site de documentation à votre goût à partir de json reçu de l'api-extractor. Docusaurus et documenter emportent avec eux une certaine flambée et monstruosité d'une approche corporative du développement. Tout peut être beaucoup plus simple et plus beau, il a fallu ajouter plusieurs transformations intermédiaires pour la compacité du site.

Brique pour TypeScript


Le noyau des anciennes versions de la bibliothèque a été fourni Proxy. Après avoir mesuré les performances, la __proto__différence était faible par rapport à . Les deux solutions sont suffisamment rapides et économiques de mémoire. La solution de la version actuelle démarre par défaut sur __proto__. L'utilisation de prototypes dans le script lance impitoyablement vers la création de classes, dont les performances sont nettement inférieures. Comme enum, au début, cela semblait être une solution intéressante, mais maintenant j'utilise simplement des chaînes constantes ou typées en raison du comportement non évident d'énum pendant la sérialisation. J'adore les génériques et j'appartiens à des auteurs qui considèrent les règles C # (selon lesquelles la documentation officielle TS est tondue) redondantes dans le monde JS. J'ai vu beaucoup d'abus dans le sens du tapuscrit pour le type any , je crois que c'est l'existence de ce type qui rend le code js typographique génial. (encore))

noImplicitAny:false

Habituellement, vous devez mettre cela dans la configuration parce que vous devez sevrer TS pour ne pas être comme C #. Les types et les génériques pour JS, à mon humble avis, ne devraient pas tirer une nouvelle philosophie. Cependant, la bibliothèque s'efforce d'être conforme à 100% TS. Je promets d'ajouter des tests de type en toute sévérité. Les bundles js compilés sont en cours de test, donc cela semblait mieux.

Alors qu'est-ce que ... Alak?


Peut-être que quelqu'un se souvient du post du 1er septembre 2014, Atom - la brique minimale d'une application réactive . Alak est un atome de la version 2020 utilisé sur les projets de combat JS pour créer divers modèles de conception MV * (principalement MVVM). Comme il s'agit d'une solution assez légère et rapide, il y avait une application sur le serveur pour gérer les sockets, les sessions et les utilisateurs. Depuis 4 ans déjà, je chéris quelque chose comme le printemps pour une logique simple et complexe basée sur l'atome, c'est possible une autre fois. Et maintenant, je vous propose de vous familiariser avec la gestion de l'état d'un composant en dehors de lui depuis n'importe où dans l' univers de votre code.

Exemple de Codeandbox

Très souvent, vous n'avez pas besoin de tirer un côté sympa.
Nous prenons l'atome, le crochet, la logique et vous avez terminé.

Une fois que j'ai fait un gros projet sur vue2 et essayé de partager le code de mon grand et cool magasin pour la vue, j'ai même obtenu 15 étoiles des chinois. Mais sur le prochain grand projet de vue, le magasin a changé conceptuellement, et maintenant les projets sur jsx avec des crochets ont disparu. La base a toujours utilisé cette particule réactive. Cette alternative à la génération avant les événements de bus, le modèle Observer, et d'autres bibliothèques du module de communication A avec module / combinaison remarquable Bed et .

Spaghetti bla bla
12 ActionScript, MVC . - MVC-, - . , , — mvcExpress. , , , .

-, . mobx effector. . , - redux. /, .

. -, ( ). . , . . js-.


Être ou ne pas être?


Depuis le dernier article, il semble que tous les lecteurs embarrassants aient été pris en compte. Maintenant , il devrait y avoir aucune question sur les poignées de l' API, ce qui est en haut et en bas . J'ai essayé de rendre les noms aussi reflétant que possible l'essence de l'action, la documentation en russe est disponible dans tous les IDE et codesandbox à partir des invites automatiques.


La première version n'a pas été définie, la seconde ne l'est pas encore.
Comment vérifier la disponibilité des versions?
Que manque-t-il?

All Articles