Blog
Feature
3 de noviembre de 20256 min

Editor de texto enriquecido y listas de verificación colaborativas — TipTap en React Native

Una nota no es solo texto sin formato. Son títulos, negritas, listas, listas de verificación. Y en un contexto colaborativo, una lista de verificación es una herramienta de coordinación.

TipTap en React Native

TipTap es fantástico en la web. En React Native, es otra historia. No hay DOM. La solución: una WebView que incrusta el editor con un puente bidireccional. El contenido se serializa en JSON, se envía a través del puente y se almacena en HTML.

El editor soporta: títulos, negritas/cursivas, listas, bloques de código y listas de verificación interactivas. Lo más difícil: gestionar el teclado móvil y el desplazamiento automático del cursor.

Listas de verificación: individual vs. todos

Individual: solo un miembro debe marcar para validar. "Comprar café" — el primero que lo hace, listo.

Todos: cada miembro debe marcar individualmente. "Leer el informe" — queremos asegurarnos de que todos lo hayan leído.

En la base de datos, una tabla de validación almacena el estado por usuario y por elemento.

La sincronización en tiempo real

Utilizo Supabase Realtime para los cambios. La fusión se realiza a nivel de elementos individuales, no del documento completo, lo que reduce los conflictos. No es CRDT, pero es suficiente para un uso colaborativo normal.