Hace más de tres años. En ese momento, Hono fue construido con WebStandard API y era solo para Cloudflare workers. Así que, realmente no podíamos decir que es multi-runtime aún. Hablaré sobre cómo Hono soporta múltiples entornos de ejecución.
Lanzamos la versión 2 de Hono el 16 de junio de 2022. En la versión 2, Hono comenzó a soportar Dno y BAN. No dijimos que Hono soporta Dno y BAN antes de la versión 2, pero era fácil soportarlos porque tanto Dno como BAN utilizan WebStandard APIs.
Para soportar Dno, necesitamos hacer dos cosas. En Dno, para importar un módulo, tuvimos que agregar una extensión como .ts o .ds, el nombre del módulo. Y segundo, Dno importa módulos usando URLs. Así que, hicimos un paquete de Hono que se puede descargar desde Dno.runx. Soportar BAN fue muy fácil. Después de que BAN se hizo público, alguien creó este problema y ¿hay algún plan para el soporte de BAN.js? Pero no tenemos que hacer nada. Hono simplemente funciona en BAN sin ningún cambio.
Aquí hay algo interesante. El mismo código puede ejecutarse en Cloudflare y BAN. Este ejemplo es solo una aplicación hello world y puedes aprenderlo. Comandos de desarrollo de lenguaje para Cloudflare workers y comando BAN para BAN. Así que, completamente igual para la aplicación hello world que comenzó como Cloudflare workers y BAN. Por lo tanto, podemos decir que Hono es un framework multi-runtime.
Convertirse en multi-runtime tuvo grandes beneficios. Cuando Hono comenzó a soportar multi-runtime, más personas comenzaron a usarlo. Esto significó que obtuvimos más retroalimentación, problemas y casos de uso. Al abordar esto, mejoramos la calidad de Hono. Así que, aprender Hono en multi-runtime ha llevado a muy buenos resultados para nosotros. A continuación, explico el adaptador de Node.js. Después de soportar DNO y BAN en la versión 2, nuestro próximo gran desafío fue hacer que Hono funcionara en Node.js. Porque muchas personas usan Node.js, así que si tiene éxito, Hono alcanzaría a muchos más usuarios. Pero la aplicación Hono no puede ejecutarse en Node.js tal como está. Node.js tiene APIs estándar web como fetch y request response URL y etcétera.
Comments