Saltar al contenido

El lado de JavaScript

El paquete que envuelve los comandos: qué debe exponer, cómo se tipa, y por qué una API bien hecha aquí ahorra la mitad de las preguntas.

Qué expone

Lo mínimo es una función por comando, y lo mínimo no es suficiente:

Lo que el envoltorio puede hacer y el comando no

Cuatro cosas que justifican que el paquete exista más allá de traducir nombres:

El primero es el que más se agradece: una API de eventos que devuelve la función de limpieza hace imposible el error más común de todos.

Empaquetar y versionar

Tres decisiones prácticas:

  • Las dos mitades se versionan juntas. Un paquete de JavaScript y un paquete de Rust con versiones distintas es una fuente de confusión garantizada: si son la misma versión, quien lo use sabe qué va con qué.
  • Y la compatibilidad se rompe en las dos a la vez o se rompe mal: un comando renombrado en Rust con el envoltorio antiguo produce el fallo silencioso del nivel 53.5.
  • El paquete debe funcionar sin herramientas exóticas: quien lo instale usará un empaquetador cualquiera, y un paquete que exige una configuración concreta se usa menos.

Documentar lo mínimo

Y el nivel 68.3 decía que en un ecosistema joven la documentación es el hueco más grande. Para un plugin, lo mínimo que sirve:

  • Un ejemplo completo que funcione al copiarlo: instalar, registrar el plugin, conceder el permiso, llamar.
  • La lista de permisos con qué habilita cada uno.
  • Y las plataformas soportadas. Nivel 68.2.

El primero es el que más vale: la mayoría de la gente aprende a usar un plugin copiando un ejemplo, y un ejemplo que no incluye la parte de permisos deja a todo el mundo atascado en el mismo sitio.