Como, y también todas las APIs están, como, basadas en algo existente. Así que, como, la interfaz de API real aquí es prácticamente la misma que Postgres.js. Este cliente Redis es mayormente similar a Ioredis. No es un mapeo al 100%, pero bastante cercano. Y eso también reduce el riesgo de esto, porque es como, está bien, parte del desafío, hay, como, qué APIs debería tener BUN, y luego también cómo deberían verse esas APIs. Y generalmente, lo que pasa con un runtime es que básicamente no puedes tener cambios incompatibles nunca, porque tampoco vale realmente la pena lidiar con cambios incompatibles desde, como, la perspectiva del usuario.
Así que es mucho menos arriesgado para nosotros si basamos cualquier API que añadamos en algún patrón común existente en el ecosistema, y nos esforzamos mucho por, como, no inventar cosas nuevas. Y luego optimizamos mucho de ello. Como, por ejemplo, el cliente Redis, cada vez que haces cualquier actividad de red en él, cualquiera de los comandos, no los envía inmediatamente. Utiliza lo que llamamos una cola de tareas diferidas. Básicamente, agrupa todas las llamadas de red para después de que se drenen todas las microtareas, pero antes del siguiente tick del bucle de eventos. Y eso significa que luego podemos combinar todas las llamadas de red para enviar a, que es la llamada al sistema que utiliza, automáticamente sin que el usuario tenga que hacer nada por sí mismo. Y eso lo hace mucho más rápido.
También tenemos una API de archivos integrada, button.file. Aún no tenemos una API de directorios, lo cual es un poco tonto. También tenemos una API de S3 integrada, y la API de S3 y la API de archivos son básicamente la misma cosa. Y eso es porque, como, S3 es generalmente lo que los servidores usan para producción, como, sistemas de archivos. Así que idealmente, la API del sistema de archivos remoto es prácticamente la misma que tu local. De esa manera es fácil probar entre los dos. También hace que sea realmente fácil, como, leer un archivo como JSON. Esto es algo tan común. Debería ser realmente fácil. También tenemos un montón de, como, no son aleatorios, pero básicamente, cuando hay un paquete que tiene decenas de millones o más de descargas semanales en npm, y son, como, realmente pequeños, con, como, un caso de uso muy claro que probablemente nunca va a desaparecer.
Comments