As mudanças do Deno em 2023
- O Deno agora entende arquivos
package.json e pode importar módulos internos do Node como node:fs e node:crypto usando o especificador node:.
- A nova API de servidor web
Deno.serve foi estabilizada, e a taxa de processamento de HTTP melhorou cerca de 73% no ano.
deno compile passou a oferecer suporte a workers, imports dinâmicos e módulos npm.
- O Deno passou a aproveitar melhor Web Streams (
ReadableStream e WriteableStream) e AbortController em toda a API, reduzindo a distância entre a programação no navegador e no servidor.
- O arquivo de configuração do Deno,
deno.json, agora também pode ser usado como mapa de importação, simplificando o schema e adicionando suporte a glob e a útil propriedade de nível superior "exclude".
- Jupyter, a ferramenta de notebooks open source, passou a oferecer suporte ao Deno com JavaScript e TypeScript.
- WebGPU foi adicionado ao Deno após quase um ano de desenvolvimento.
- O TypeScript sem configuração do Deno teve uma integração de editor melhorada por meio de avanços significativos no LSP e na integração com o VS Code.
- Fresh, o framework web baseado em Deno, expandiu seus recursos com suporte a Tailwind, Partials, arquivos de layout e mais.
- Deno Deploy ficou mais poderoso com blocos de construção nativos distribuídos globalmente, como Deno KV, Queues e Cron.
- A empresa lançou o Subhosting self-service para permitir que a plataforma implante e execute JavaScript multi-tenant não confiável.
Melhor compatibilidade com Node e npm
- O Deno ampliou a compatibilidade com o ecossistema Node ao incluir módulos internos do Node, como
node:fs e node:child_process, por meio do especificador node:.
- Para uma transição mais suave do Node para o Deno, foram introduzidos vários novos recursos:
- A flag
--unstable-byonm permite usar seu gerenciador de pacotes npm preferido dentro do Deno.
- A flag
--unstable-sloppy-imports flexibiliza o rigor dos imports de módulos para acomodar diferentes estilos e práticas de código.
- A flag
--unstable-unsafe-proto oferece suporte a Object.prototype.__proto__, do qual muitos pacotes npm dependem.
- Com a estabilização do Node-API, agora é possível usar pacotes npm que dependem de Node-API sem a flag
--unstable, ampliando a cobertura de suporte.
Um servidor web mais simples e rápido com Deno.serve()
- A função
Deno.serve() foi introduzida e estabilizada, permitindo que desenvolvedores iniciem um servidor com o mínimo de código.
- O desempenho melhorou significativamente graças a otimizações direcionadas na biblioteca core e no mecanismo de event loop.
- A taxa de processamento de HTTP do Deno aumentou de forma perceptível em testes de benchmark usando a configuração padrão de servidor "Hello, world".
Um deno.json mais flexível
- O Deno segue o princípio de poder ser usado sem configurações complexas e continua aprimorando o arquivo de configuração
deno.json para manter a facilidade de uso:
- Agora é possível usar
deno.json também como mapa de importação.
deno fmt passou a oferecer suporte a ponto e vírgula, dando mais flexibilidade ao estilo de código.
- A integração com
package.json facilita a transição entre ambientes Node e Deno.
- A estrutura do
deno.json foi simplificada para que desenvolvedores possam navegar nela de forma mais intuitiva.
- A introdução de padrões glob permite um controle mais preciso sobre inclusão e exclusão de arquivos e diretórios.
Uma experiência de desenvolvimento mais fluida com LSP
- A integração do protocolo Language Server Protocol (LSP) do Deno oferece recursos como ir para definição com precisão, IntelliSense abrangente e formatação de código fluida para projetos TypeScript.
- Muito esforço foi dedicado à melhoria do LSP, tornando a programação no Deno mais fluida e intuitiva.
WebGPU
- O WebGPU integra ao Deno uma tecnologia de ponta que permite aos desenvolvedores aproveitar diretamente o desempenho do hardware de GPU usando JavaScript.
- O WebGPU pode ser usado por trás da flag
--unstable-webgpu e representa um marco importante na expansão das capacidades das aplicações em Deno.
Notebooks Jupyter
- Jupyter, a ferramenta de notebooks open source, passou a oferecer suporte ao Deno com JavaScript e TypeScript.
- Isso permite realizar ciência de dados, visualização e mais usando JavaScript e TypeScript modernos e APIs padrão da web.
Crates Rust open source de destaque
- O Deno está ligado a vários projetos open source e contribui ativamente para expandir seu conjunto de recursos e otimizar o desempenho.
- Neste ano, o Deno lançou alguns crates Rust que também podem ser úteis de forma independente.
Fresh
- Fresh é o framework web full stack moderno do Deno, que por padrão não envia JavaScript para o cliente, e continua sendo aprimorado para ser mais fácil de usar e melhorar o desempenho.
Expansão do negócio de nuvem do Deno
- O Deno Subhosting deixou de ser apenas uma solução interna enquanto dava suporte às edge functions da Netlify e às lojas de e-commerce dos clientes da Deco.cx, tornando-se um serviço próprio disponível gratuitamente para qualquer pessoa.
- O lançamento de componentes de nuvem como Deno KV, Queues e Cron representa avanço na visão de simplificar radicalmente o desenvolvimento web.
Deno 2
- O Deno 2 deverá oferecer um runtime aprimorado, incluindo anúncios interessantes sobre melhor compatibilidade com Node e npm, além de como gerenciar e otimizar as dependências dos projetos.
Opinião do GN⁺:
- É importante que o Deno esteja melhorando bastante a compatibilidade com Node.js e focando em simplificar o desenvolvimento web. Isso pode facilitar a migração de desenvolvedores já existentes de Node.js para o Deno e acelerar sua adoção.
- A integração de recursos avançados como WebGPU mostra que o Deno está indo além de uma simples plataforma server-side e se tornando adequado para uma gama mais ampla de desenvolvimento de aplicações. Isso pode ser especialmente atraente para desenvolvedores que precisam de computação de alto desempenho com uso de GPU.
- A evolução do framework Fresh e do Deno Deploy sugere que o Deno pode desempenhar um papel importante no desenvolvimento web full stack, reforçando sua posição como serviço baseado em nuvem. Esses avanços aumentam a possibilidade de o Deno se consolidar como um dos principais players do desenvolvimento web moderno.
2 comentários
Comentários do Hacker News
pkgdo Node.js em termos de tamanho.