Presentación de la compatibilidad con TypeScript para el SDK de JavaScript de Algorand

¡Nos complace anunciar la compatibilidad con TypeScript en JavaScript SDK! En este artículo, le mostraremos cómo la compatibilidad con TypeScript de Algorand puede potenciar su experiencia de desarrollo, proporcionando innumerables mejoras, y lo que significará para sus proyectos existentes.

¿Qué es TypeScript?

De manera más simple, TypeScript es un superconjunto de JavaScript que incluye verificación de tipos estáticos y útiles estructuras de programación orientadas a objetos, como enumeraciones, interfaces y clases abstractas. Sin embargo, no se preocupe, su código JavaScript es seguro: el compilador TypeScript reúne sus archivos de nuevo en código JavaScript puro que se puede ejecutar en cualquier lugar.

Éste ofrece muchas ventajas sobre JS Vanilla. Similar a otros lenguajes de programación que utilizan la verificación de tipos estáticos, TypeScript le ahorra tiempo al detectar errores comunes antes del tiempo de ejecución, advirtiéndole, por ejemplo, si los tipos de parámetros de una función difieren de los tipos de valores pasados. Situaciones como pasar cadenas incorrectamente a constructores de clases que solo aceptan números o viceversa, rápidamente se convierten en cosas del pasado.

Además, las definiciones de tipos y las utilidades estructurales auxiliares incluidas pueden fomentar la autodocumentación del código y mejorar la legibilidad. No más búsquedas para determinar si ese parámetro ambiguo llamado «binario» es un Buffero Uint8Array. Y dado que el código TS está completamente mecanografiado, los IDE modernos que admiten el servidor de éste lenguaje, muestran autocompletados inteligentes y advertencias de tipo en línea.

Consulte el sitio web de TypeScript para obtener más información sobre el lenguaje TypeScript. Recomendamos encarecidamente el manual de TypeScript si desea aprender los conceptos básicos.

¿Qué ha cambiado?

En su mayor parte, el único cambio es que el SDK de JavaScript se ha reescrito en TypeScript. El código se migró teniendo en cuenta la compatibilidad con versiones anteriores, por lo que el kit de desarrollo debería ser funcionalmente equivalente a su homólogo de JS. Los proyectos que importan el SDK de JavaScript seguirán funcionando sin cambios importantes. Este requisito de compatibilidad con versiones anteriores limitó las definiciones de tipo óptimas en ciertos lugares, pero esperamos que los éstos sean más consistentes en el futuro.

Hubo otros cambios notables:

  • Se detectaron varios errores durante la migración, principalmente como resultado de la verificación de tipos estáticos de TypeScript.

¿Cómo afecta la migración de TypeScript a mis proyectos?

Para reiterar, la migración de TypeScript no debería ser funcionalmente diferente a la anterior; los proyectos que funcionaron con el SDK de JavaScript puro seguirán funcionando con la adaptación de TScript.

Proyectos de Node.js

Aunque los proyectos de Node.js no se beneficiarán del aspecto de verificación de tipo estático de TypeScript, los IDE compatibles (VSCode incluido) seguirán proporcionando autocompletados inteligentes y documentación mejorada al pasar el cursor.

En su mayor parte, no necesitará optar por participar o editar ninguna configuración para recibir estos beneficios, sólo asegúrese de actualizar a la última versión del SDK cuando la versión de TypeScript esté disponible. Sin embargo, debe verificar si su editor requiere una extensión para su compatibilidad.

Proyectos TypeScript

Además de las mejoras enumeradas anteriormente en la sección Node.js, los proyectos de TypeScript se beneficiarán de sus características típicas, como la verificación de tipos estáticos y las advertencias cuando el código no se usa como se esperaba.

Para su comodidad, hemos exportado tipos comunes, como estructuras de objetos de transacción, objetos de cuenta, parámetros sugeridos y más. Recomendamos que los proyectos aprovechen estos tipos para una experiencia óptima de TypeScript.

import * as algosdk from 'algosdk';
const suggestedParams: algosdk.SuggestedParams = {
  ...
}

Al igual que en los proyectos de Node.js, no debería haber ningún paso adicional para integrar TS en su proyecto, simplemente actualice a la última versión cuando esté disponible.

Después de la actualización, puede observar advertencias de TypeScript causadas por implementaciones incorrectas que anteriormente pasaron desapercibidas, como pasar un número a una función que solo debería permitir cadenas. Tales advertencias simplemente indican tipos conflictivos y corregirlos debería resultar trivial.

Proyectos Web

Desafortunadamente, los proyectos web que incluyen Algorand SDK en una etiqueta de script HTML no se beneficiarán de la migración de TypeScript, pero el código seguirá funcionando exactamente como antes. Esto se debe a que la mayoría de los editores no sabrán que window.algosdk pertenece a la etiqueta de secuencia de comandos del kit de desarrollo de Algorand, ni podrán importar los archivos de declaración de tipo asociados que se necesitan para autocompletar inteligentes.

Sin embargo, si se trata de un proyecto web que aprovecha los módulos de NPM y se incluye antes de usarse en el navegador, la idea, a los efectos de este artículo, se incluye en la categoría de un esquema de Node.js y puede tomar ventaja de todas las mejoras descritas en la sección anterior.


Este artículo ha sido escrito originalmente por Jacob Daitzman  en el «Portal para desarrolladores» de Algorand  y traducido por AlgoLatam.

Original Article: https://developer.algorand.org/articles/introducing-typescript-support-for-the-algorand-javascript-sdk/

Aviso de responsabilidad:

Este artículo no contiene consejos financieros, ni recomendaciones de inversión de ningún tipo. La información brindada se ofrece sólo con fines educativos y didácticos en cuanto a tecnología Web3 y análisis sobre sus casos de uso.

Las inversiones con criptomonedas, NFTs, tokens u otros activos digitales conllevan riesgos y no se encuentran regulados, por lo que los lectores deben realizar su propia investigación antes de tomar cualquier tipo de decisión bajo su entera responsabilidad, así como adaptarse y observar las diferentes regulaciones legales según su país de residencia.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *