de hacerlo. ¿Y si quisiéramos tener codificación Base64 URL, verdad? Que es una variante de Base64. Resulta que, incluso eso, de Base64 a Base64 URL, hay diferencias en las APIs. No todas las opciones funcionan. A veces, tenemos que cambiar algunas cosas. Afortunadamente, tanto
Deno como Node tienen esto incorporado como parte de sus bibliotecas centrales. Y al menos esos funcionarán de manera consistente entre sí. Pero aún así, empiezas a tener muchas de estas opciones. Entonces, surge una pregunta muy importante. ¿Por qué algo tan común y tan ampliamente utilizado en
JavaScript tiene tantas formas diferentes de hacerlo? ¿Y por qué debería importar qué entorno de ejecución de
JavaScript estoy utilizando? ¿Por qué debería, como desarrollador, escribiendo
JavaScript necesitar saber, está bien, ¿este
code se va a ejecutar en Node o se va a ejecutar en DNO? ¿Cuál de estas bibliotecas básicas para codificar, APIs necesito usar? Oh, espera, ahora la prioridad de mi empresa ha cambiado, ahora están invirtiendo en computación en el borde. Ahora va a pasar a los trabajadores de
Cloudflare. ¿Cuál de estas APIs funcionará allí? ¿O cómo hago para que funcione allí? ¿O necesito cambiar todo mi
code que hace la codificación Base64 para hacer algo completamente nuevo? Eso es ridículo, ¿verdad? Que algo tan común tenga que ser una conversación tan difícil y que consuma tanto tiempo para simplemente Base64 y un poco de texto. ¿Qué pasa con la codificación hex? ¿Cuáles son las APIs para eso? Node lo hace de una manera, y, de nuevo, es consistente con la forma en que hace Base64.
Deno lo hace a su manera, que es consistente con sus APIs. No hay nada que puedas usar en el navegador a menos que encuentres algún módulo aleatorio en
npm, y, de nuevo, esperas que se esté manteniendo. Pero, ¿con qué frecuencia nos encontramos con la codificación hex? Está en todas partes. Lo vemos por todas partes. Entonces, de nuevo, ¿por qué es tan difícil encontrar una única API para hacer la codificación hex en
JavaScript? No tiene sentido. Bueno, ¿y si queremos ver otra funcionalidad, comparar subconjuntos de dos rangos binarios diferentes? Digamos que quieres, ver si una secuencia binaria está incrustada en otra secuencia binaria. ¿Cuál es la API para hacer esto? ¿Existe una API estándar para hacer esto? Bueno, desafortunadamente, los arrays tipados y
JavaScript no hacen esto. No tienen comparando subconjuntos de diferentes rangos binarios. Todo lo que puedes hacer es mirar un miembro individual, un elemento individual, en un array tipado y compararlo con otro elemento individual en otro array tipado. Eso es todo lo que puedes hacer. Y desafortunadamente, Node y Dino, dos formas completamente diferentes de hacer esto, y simplemente no tiene sentido. ¿Y si estamos acumulando datos de transmisión en una transmisión simple, verdad? Queremos transmitir algunos datos, construir una cadena a partir de ellos. ¿Cómo hacemos eso en las diferentes plataformas? De nuevo, diferentes APIs. Funciona de manera diferente. No necesita ser así. Los entornos de ejecución de
JavaScript históricamente han sido muy anti-biblioteca estándar. Este pensamiento realmente, proviene de, esta idea, la exploraremos un poco, la idea del núcleo pequeño. El principio subyacente aquí, quiero decir, la idea detrás de esto, la teoría detrás de esto es que, dejen que el ecosistema, todos ustedes, todos los desarrolladores, hagan lo que quieran hacer, ¿verdad? Elijan cualquier dependencia
Comments