Il y a 5 ans, après avoir recherché une solution appropriée dans RxJs, Beacon, ... etc.js, et arrêté sur flyd.js et écrit 4-6 projets en utilisant seulement trois fonctionnalités de la
bibliothèque de flux ,
on ,
combine . Le reste était sans travail, je voulais la légèreté du bundle. Donc,
alak est apparu, les premières versions avant 0.3 n'étaient que 20-30 lignes et ont complètement remplacé flyd.
Un an plus tard, la version
0.4 apparaissait déjà sur 72 lignes avec filtrage et mixage (analogique de moissonneuse-batteuse à partir de flyd ou calculé à partir de la vue). Après trois ans et des dizaines de projets - il y avait un sentiment de bonté, partager l'expérience et la version 1.0.

terre fantastique
Une immersion nette dans le PRF d'une personne toute sa vie en écrivant un POO classique à partir d'un manuel
peut lui faire exploser la tête comme une plongée nette à une profondeur à l'extérieur du bathyscaphe. Il m'a fallu plusieurs semaines pour me familiariser avec la pensée des fonctions plutôt que des variables. Trois mois plus tard, j'admirais déjà pleinement le graphique réactif de l'application - le programme peut être vu comme des veines ou des racines / branches d'un arbre. Je pense qu'un simple intérêt pour les langues anciennes comme le sanskrit et un amour pour l'elfe Quenia m'ont aidé.
Se moucher les oreilles tout en se pinçant le nez est la compétence de base du plongeur. Les programmeurs OOP classiques réussis devront souffler la poussière de leurs connaissances immersives. Rien ne peut aider les fonctionnalistes expérimentés, mais peut-être qu'ils nous aideront à surmonter les formulaires existants et les descriptions de fusées éclairantes.
Noms inconnus
En philosophie, la monade est appelée la particule de base de l'univers - une particule de Dieu, un concept plutôt bas. Dans les spécifications de
la terre fantastique et dans la compréhension générale du FRP, une monade est quelque chose de niveau supérieur qui contient un foncteur à l'intérieur.
Wikipedia a deux définitions des foncteurs dans les contextes général et OCaml. Dans le contexte d'alak, le foncteur de particules de base est une fonction contenant des données, lorsqu'il est modifié, les fonctions / foncteurs associés sont mis à jour. Tout est comme dans les tableaux Excel.

Dans bacon.js, cela s'appelle des «
mises à jour atomiques »
, pas RxJs.
En alak, le code pourrait ressembler à ceci:
import A from 'alak'
Exécuter sur codesandboxLa modification de l'
ID utilisateur entraînera une modification réactive des
abonnés , du
profil et des
tweets .
Tout pour commencer
Toute utilisation du foncteur Alak est basée sur la capacité de penser en flux, comme dans Go, mais lors de la lecture à partir d'un canal, tout le sel dans la construction d'un graphique avec plusieurs connexions / bords, les auditeurs d'un flux n'en diminuent pas.
Même dans angular.js, cela suffisait à résoudre magnifiquement l'état d'au-delà de la complexité et de la complexité. La croix sur angular2 était pour moi l'imposition de RxJS avec une réactivité douteuse. En voyant ReduX, j'ai eu l'impression de revenir en deux étapes vers l'implémentation de
PureMVC .
Dans cet article, comme de nombreux orateurs modernes, je vous exhorte à abandonner la pensée procédurale, le fardeau des modèles OOP et à vous orienter vers le code humain / littéraire. Alak aujourd'hui est assez bon pour décrire de manière déclarative le graphe réactif de la pile.
Nous considérons la réactivité de la vue (moteurs de modèles jsx / svelte / html) comme acquise.
- Alors pourquoi n'avons-nous pas la même réactivité dans les magasins?