Categoria

TypeScript

TypeScript e Bun: o novo runtime
TypeScript

TypeScript e Bun: o novo runtime

Bun é um runtime JavaScript moderno criado por Jarred Sumner, projetado desde sua concepção para ser rápido, completo e nativamente compatível com TypeScript. Diferente do Node.js (que exige transpilação via tsc ou ts-node) e do Deno (que oferece suporte nativo mas com peculiaridades de permissões), Bun executa arquivos .ts diretamente, sem qualquer etapa de compilação intermediária.

05/05/2026
TypeScript e Deno: módulos e permissões
TypeScript 05/05/2026

TypeScript e Deno: módulos e permissões

Deno, criado por Ryan Dahl (mesmo criador do Node.js), surgiu como uma resposta às limitações arquiteturais do Node.js. Diferentemente do Node, que trata TypeScript como um "cidadão de segunda classe" exigindo transpilação prévia com tsc ou ts-node, o Deno possui suporte nativo a TypeScript. Isso significa que arquivos .ts são executados diretamente sem configuração adicional de compiladores.

TypeScript e módulos ESM no Node.js
TypeScript 05/05/2026

TypeScript e módulos ESM no Node.js

Os módulos ECMAScript (ESM) representam o sistema de módulos oficial da linguagem JavaScript, padronizado pelo ECMAScript 2015 (ES6). Diferentemente do CommonJS (CJS), que utiliza require() e module.exports, o ESM emprega as palavras-chave import e export, alinhando-se ao padrão utilizado em navegadores e no ecossistema front-end moderno.

TypeScript e WebSockets tipados
TypeScript 05/05/2026

TypeScript e WebSockets tipados

A API nativa de WebSocket no navegador e no Node.js é essencialmente não tipada. O método send aceita string | ArrayBuffer | Blob | ArrayBufferView, enquanto onmessage recebe um MessageEvent cujo dado pode ser qualquer coisa. Isso cria um abismo entre o que o desenvolvedor espera receber e o que realmente chega.

TypeScript e Workers
TypeScript 05/05/2026

TypeScript e Workers

Workers são mecanismos que permitem executar código em threads separadas da thread principal, possibilitando processamento paralelo sem bloquear a interface do usuário ou o loop de eventos. No ecossistema TypeScript, existem três principais tipos de Workers:

TypeScript no frontend: Vite e configuração moderna
TypeScript 05/05/2026

TypeScript no frontend: Vite e configuração moderna

O ecossistema frontend enfrentou por anos um problema crônico: a lentidão dos bundlers tradicionais. Webpack, embora extremamente flexível, exigia segundos (ou minutos) para reiniciar o servidor de desenvolvimento após qualquer alteração. Parcel melhorava a experiência, mas ainda sofria com projetos grandes.

TypeScript vs Flow: comparativo de type checkers
TypeScript 05/05/2026

TypeScript vs Flow: comparativo de type checkers

TypeScript nasceu na Microsoft em 2012 como um superset do JavaScript que adiciona tipagem estática opcional. Seu objetivo principal sempre foi aumentar a produtividade do desenvolvedor, permitindo adoção gradual em projetos existentes. O TypeScript é, essencialmente, um compilador que transforma código tipado em JavaScript puro.

Union types e intersection types no TypeScript
TypeScript 05/05/2026

Union types e intersection types no TypeScript

Union types permitem que uma variável, parâmetro ou retorno de função aceite mais de um tipo. A sintaxe usa o operador pipe (|) para declarar que o valor pode ser de qualquer tipo listado.

Variadic tuple types
TypeScript 05/05/2026

Variadic tuple types

Variadic tuple types foram introduzidos no TypeScript 4.0 como uma evolução poderosa para trabalhar com tuplas de tamanho dinâmico. Eles permitem declarar tipos de tupla que podem aceitar um número variável de elementos, utilizando a sintaxe ...T (spread) dentro de definições de tipo.

Variance em generics
TypeScript 05/05/2026

Variance em generics

Variance é um conceito fundamental em sistemas de tipos com generics que define como a relação de subtipagem entre tipos concretos se propaga para tipos genéricos. Em outras palavras, dado que Gato é subtipo de Animal, podemos perguntar: Box<Gato> é subtipo de Box<Animal>? A resposta depende da variance do parâmetro T em Box<T>.