Show HN: React Spreadsheet 2
Un nuevo componente de hoja de cálculo basado en React, RowsnColumns Spreadsheet 2, pretende permitir a los desarrolladores incrustar tablas colaborativas al estilo de Google Sheets directamente en aplicaciones web mediante una cuadrícula virtualizada impulsada por canvas. Los comentaristas elogian la profundidad de funciones y la colaboración en tiempo real, pero señalan peculiaridades de rendimiento en algunos dispositivos, desafíos de accesibilidad con el renderizado en canvas e inestabilidad en el modo colaborativo de la demo pública. También hay debate sobre su licencia no comercial y su precio relativamente alto, especialmente dadas las bibliotecas de cuadrículas y hojas de cálculo de código abierto o de menor coste con las que compite.
Resumen y conjunto de funciones
- Interfaz de hoja de cálculo basada en React renderizada en canvas; busca replicar una experiencia al estilo de Google Sheets.
- Admite renderizado declarativo de celdas, fórmulas personalizadas, contenido incrustado, temas y colaboración en tiempo real.
- A los usuarios les gusta el acabado, el aspecto multijugador y los atajos familiares (p. ej., Cmd+D).
Rendimiento y escalabilidad
- Usa virtualización de filas y columnas y hooks asíncronos para carga diferida / scroll infinito.
- Límites duros: ~1.048.576 filas y 16.384 columnas.
- Algunos usuarios informan de un rendimiento fluido en iPhones más nuevos; otros ven un desplazamiento entrecortado en Android/Firefox de gama media y al principio en un Pixel, que luego mejoró.
- El autor describe un perfilado centrado en FPS, la división del canvas para pantallas 4K grandes y la atención a los costes de layout / re-renderizado.
- Debate sobre si las hojas de cálculo son apropiadas para conjuntos de datos de un millón de filas frente a bases de datos adecuadas.
Accesibilidad y enfoque de renderizado
- El renderizado basado en canvas plantea preguntas de accesibilidad.
- Solución prevista: superponer un elemento table con regiones ARIA y texto plano para lectores de pantalla, además de navegación por teclado, tematización y modo claro/oscuro.
- La discusión señala que los elementos table nativos a veces rinden mejor que las cuadrículas basadas en
diven algunos navegadores.
Demo de colaboración, errores y estabilidad
- La demo pública de colaboración es elogiada como impresionante, pero se bloquea repetidamente con excepciones de JS del lado del cliente.
- Problemas conocidos: borrar una hoja en la que está otro usuario, errores de regex de fechas específicos de la configuración regional y estado no persistente que provoca desincronización.
- A algunos usuarios les resulta distractora la hoja colaborativa en constante cambio; se ofrece un modo de un solo usuario (
?collab=false). - La hoja colaborativa abierta a veces degenera en spam/insultos, lo que provoca peticiones de moderación o filtros.
Licencias, precios y casos de uso objetivo
- El código es de fuente cerrada; el repositorio de GitHub es privado para los licenciatarios.
- El precio se percibe como “premium” y “caro”, especialmente la licencia “solo” no comercial de $299.
- Hay confusión y escepticismo sobre quién pagaría por una licencia solo para uso no comercial.
- Quienes lo defienden señalan las herramientas internas, paneles y aplicaciones propias como un mercado importante.
Alternativas y herramientas relacionadas
- El hilo menciona otras cuadrículas/hojas de cálculo: opciones de código abierto como SlickGrid, el antiguo Handsontable, TUI Grid, React Spreadsheet, Svelte Sheets y un motor próximo con licencia MIT.
- Reflexión más amplia de que las UIs tipo hoja de cálculo son técnicamente difíciles, pero a menudo se reimplementan, a veces dando la sensación de “volver a 1982” en términos de UX.