Levantando un átomo, enfoque 2.0.1

Ni siquiera ha pasado un año, el segundo artículo trata sobre la reactividad de los datos . El objetivo del ciclo de desarrollo actual es comprender los conceptos y corregir la API de la biblioteca. Como un autor que lucha por el poliglotismo, se volvió violeta describir bolígrafos.
- De todos modos, Matrix tiene demasiada información para decodificarlo.
Solo necesitas acostumbrarte.
No veo el código en absoluto.
Veo una rubia, una morena, una pelirroja.

imagen

Entonces, introduciendo alak 2.0.1-RC


De acuerdo con mi mapa de conocimiento del campo de la programación funcional, la partícula básica de la biblioteca sigue siendo un functor que se balancea hacia la mónada (y viceversa si la opinión de los filósofos griegos antiguos). El mapa nunca se convertirá en un territorio, y en la reencarnación actual se decidió salir de este denso bosque / jungla salvaje de terminología funcional y preparar la documentación en su idioma nativo, humano.

Para generar la documentación, probé el documentador del paquete api-extractor de microsoft, empacando el marqdown resultante en docusaurus de facebook. Esto

es lo que sucedió: alak.now.sh

Parece óptimo generar estadísticas para el sitio de documentación a su gusto de json recibido de api-extractor. Docusaurus y el documentador llevan consigo una cierta llamarada y monstruosidad de un enfoque corporativo para el desarrollo. Todo puede ser mucho más fácil y más hermoso, fue necesario agregar varias transformaciones intermedias para la compacidad del sitio.

Ladrillo para TypeScript


Se proporcionó el núcleo de versiones anteriores de la biblioteca Proxy. Después de medir el rendimiento, la __proto__diferencia fue pequeña en comparación con . Ambas soluciones son lo suficientemente rápidas y económicas desde la memoria. La solución de la versión actual comienza por defecto en __proto__. El uso de prototipos en el script arroja despiadadamente hacia la creación de clases, cuyo rendimiento es significativamente menor. Al igual que enum, al principio parecía una solución genial, pero ahora solo uso cadenas constantes o tipeadas debido al comportamiento no obvio de enum durante la serialización. Me encantan los genéricos y pertenezco a autores que consideran redundantes las reglas de C # (según las cuales se corta la documentación oficial de TS) en el mundo de JS. Vi muchos abusos en la dirección del mecanografiado para el tipo cualquiera , creo que es la existencia de este tipo lo que hace que el código mecanografiado sea excelente. (de nuevo))

noImplicitAny:false

Por lo general, debe poner esto en la configuración porque necesita dejar que TS deje de ser como C #. Los tipos y genéricos para JS, en mi humilde opinión, no deberían sacar una nueva filosofía. Sin embargo, la biblioteca se esfuerza por ser 100% compatible con TS. Prometo agregar pruebas de tipo con toda severidad. Los paquetes compilados de js se están probando ahora, por lo que parecía mejor.

Entonces, ¿qué demonios ... Alak?


Tal vez alguien recuerda la publicación del Atom del 1 de septiembre de 2014 : el ladrillo mínimo de una aplicación reactiva . Alak es un átomo de la versión 2020 utilizada en proyectos de combate JS para crear varios patrones de diseño MV * (principalmente MVVM). Como se trata de una solución bastante ligera y rápida, había una aplicación en el servidor para administrar sockets, sesiones y usuarios. Durante 4 años ya he estado apreciando algo como la primavera para una lógica simple y compleja basada en el átomo, esto es posible en otro momento. Y ahora, propongo familiarizarse con la administración del estado de un componente fuera de él desde cualquier parte del universo de su código.

Ejemplo de Codeandbox

Muy a menudo, no necesita sacar ningún lado genial.
Tomamos el átomo, el gancho, la lógica, y ya está.

Una vez que hice un gran proyecto en vue2, e intenté compartir el código de mi gran y genial tienda para vue, incluso obtuve 15 estrellas de los chinos. Pero en el próximo gran proyecto vue, la historia cambió conceptualmente, y ahora los proyectos en jsx con ganchos se han ido. La base siempre ha utilizado esta partícula reactiva. Esta alternativa a la generación antes de los eventos de bus, el observador de patrones y otras bibliotecas del módulo de comunicación A con módulo / combinación notable Bed y .

Bla bla spaghetti
12 ActionScript, MVC . - MVC-, - . , , — mvcExpress. , , , .

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

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


Ser o no ser?


Desde el último artículo, parece que se han tenido en cuenta todos los lectores embarazosos. Ahora no debería haber preguntas sobre los identificadores de API, qué está arriba y abajo . Traté de hacer que los nombres reflejaran la esencia de la acción como sea posible, la documentación en ruso está disponible en todos los IDE y códigos y cajas de las indicaciones automáticas.


La primera versión no se ha configurado, la segunda aún no.
¿Cómo verificar la disponibilidad de la versión?
¿Lo que falta?

All Articles