Podemos obtener todos los jugadores que están casados. Esto es ahora una relación de jugador con el jugador. Hemos obtenido todos los jugadores que también son ranas, y ahora tenemos herencia. Podemos preguntar, ¿es el jugador una rana? Y podemos complicarlo tanto como queramos. ¿Todos los jugadores que son miembros del gremio de ranas, enemigos jurados de los gatos, pero no descendientes de ranas, verdad? Así que deja volar tu imaginación. Una vez que permites que tu aplicación sea una base de datos viva, la libertad de poder manipular los datos se vuelve tentadora.
Y ahora te presento una biblioteca muy experimental para que te adentres en el espacio en el que estamos pensando, llamada Sweet ECS. Es un ECS declarativo con una integración profunda con React, y lo que quiero decir con eso es que automáticamente todo lo que se compromete con la vista en React se convierte en una entidad a la que podemos agregar componentes. Está impulsado por la próxima evolución de Bit ECS. He estado trabajando en esto con Nate Bit. Debería estar disponible para el momento de esta charla. A la derecha tienes un ejemplo de la API. No voy a entrar en detalles, pero aquí puedes ver que estamos programando en nuestro componente de cuerpo y agregando todos nuestros componentes que crean el cuerpo a la entidad de forma declarativa.
Veamos cómo tener datos componibles con actualizaciones componibles nos ayuda en un problema que estábamos analizando antes. Tenemos nuestro componente MoveInBox, y antes hacíamos un cierre donde simplemente obteníamos la referencia y movíamos la caja. Aquí, vamos a pasar una función de actualización que está definida de forma estable, y vamos a consultar la caja en función de su posición, y le dimos un componente de posición a continuación, y luego vamos a extraer el almacén de posición y moverlo. Esta es una función que se ejecutará para todas las instancias de MoveInBox. Y luego, a la derecha, y este es un problema clásicamente molesto de hacer en React en este momento, tenemos una cámara de perspectiva. Le damos el componente followCamera. Consultamos para obtener todas las cámaras de seguimiento. Le dimos a la caja un componente isFollowTarget. Consultamos eso. Tomamos el primer resultado porque asumimos que solo hay un objetivo. Iteramos sobre todas las cámaras de seguimiento. Obtenemos sus objetos y luego llamamos a lookAt, y el objeto three aquí, nuevamente, una API experimental, automáticamente todas las entidades, todos los elementos de vista obtienen sus objetos, instancias de la referencia, agregados a un componente de objeto para que podamos extraerlos y usarlos dentro del sistema. Y ahí lo tienes. Hemos logrado una completa componibilidad.
Finalmente, esto nos lleva a un ecosistema de React donde podemos traer un motor de juego justo lo suficiente, y creo que esto es muy único. Es algo que necesitamos como desarrolladores web para pasar al desarrollo de juegos, y es algo que necesitamos en PointMandrius, como comunidad, para construir un ecosistema de bibliotecas de física de primera clase, bibliotecas de UI como UIKit, Rapier, Jolt. Hay todo tipo de otras partes involucradas en esto. Necesitas animaciones de personajes, controladores, controles de cámara. Poder crear todas estas cosas de forma componible de manera orientada a datos nos permitirá construir ese ecosistema. Y lo que es importante, ejecutar nuestros juegos en un servidor web, porque si estás construyendo juegos en la web, necesita ser multijugador.
En resumen, el futuro de React 3 Fiber, eso es donde comenzamos. En el futuro, tendremos el planificador incorporado para la versión 10, la versión 9 será una versión de compatibilidad con React 19, en la versión 10 tendremos un lanzamiento beta prolongado donde implementaremos estas nuevas características. El planificador nos permitirá integrarnos con el ecosistema en cualquier lugar, en cualquier momento. Y luego, nos centraremos en habilitar flujos de trabajo orientados a datos a medida que avanzamos. Gracias. Échale un vistazo a nuestro Discord si quieres aprender más, y nos vemos pronto.
Comments