Cuando descubrí RxJS por primera vez, me fascinó. La idea de que todo pudiera ser un flujo me pareció descomunal. Eventos, estado, lógica asíncrona, todo gestionado de forma limpia y funcional. Pero en cuanto lo usé para construir interfaces reales, la emoción se desinfló.
Me vi escribiendo interminable código repetitivo solo para actualizar un texto en pantalla. Tenía que malabarear con Subjects, Behaviors y operadores para tareas que parecían triviales. Y cuando volvía a mi propio código una semana después, tenía que reconstruir mentalmente cómo encajaba todo.
RxJS era potente, pero no era divertido.
Un día llegó el momento aha. Me pregunté si el DOM pudiera ser reactivo en sí mismo. En lugar de atornillar flujos de RxJS a la UI con suscripciones manuales, imaginé una interfaz que entendiera Observables de forma nativa.
Esa idea fue a más. Boceté conceptos, construí pequeños experimentos y terminé llegando a lo que se convertiría en Rimmel.js, una biblioteca de interfaz orientada a flujos diseñada para eliminar la fricción que encontraba usando RxJS en la UI.
Pasar de la fricción al flujo se nota en ejemplos simples como contar clics. Con RxJS a pelo necesitas configuración, suscripciones y limpieza. Con Rimmel.js el flujo y el DOM encajan de forma natural, sin código de pegamento ni gestión manual de suscripciones, y cuando el flujo emite, la interfaz se actualiza de inmediato.
No me propuse crear un framework. Solo quería que RxJS se sintiera natural para desarrollo de interfaces. Con el tiempo entendí que Rimmel.js podía ayudar a quienes viven la misma relación de amor y frustración con RxJS.
Si alguna vez has peleado con Subjects para mantener estado, si has escrito demasiado código para enlazar un Observable al DOM, o si quieres la potencia de RxJS sin su curva de aprendizaje empinada para tareas de UI, entonces Rimmel.js puede encajar contigo.
Rimmel.js no reemplaza RxJS, se apoya en él. Conservas sus operadores expresivos y el modelo reactivo, pero ahora puedes escribir una UI que pertenece a ese mundo, sin ir a contracorriente. Para mí, ese cambio convirtió el dolor de cabeza en armonía.
Me encantaría que lo vieras en GitHub, que lo pruebes y compartas tus comentarios. Tal vez te ahorre los mismos quebraderos de cabeza con RxJS que yo solía tener.
En Q2BSTUDIO acompañamos a equipos de producto y empresas en la construcción de experiencias reactivas y escalables con aplicaciones a medida y software a medida, integrando mejores prácticas de arquitectura, pruebas y observabilidad desde el primer día. Si buscas acelerar tu roadmap con una solución robusta, te invitamos a conocer nuestro servicio de desarrollo de aplicaciones a medida.
Nuestro equipo también impulsa proyectos de inteligencia artificial e ia para empresas con agentes IA, aporta ciberseguridad de nivel empresarial, ofrece servicios cloud aws y azure, y potencia decisiones con servicios inteligencia de negocio y power bi. Combinamos automatización, datos y seguridad para que tu producto crezca con solidez, sin fricciones y listo para escalar.