Apenas três meses após o início do .NET 8, já é hora da Microsoft e da .NET Foundation começarem a traçar seus planos para o próximo lançamento, o .NET 9, que deve chegar em novembro com o .NET Conf.

Você pode pensar na cadência de lançamento anual do .NET como um modelo de desenvolvimento ágil em grande escala, a cada ano inaugurando um novo sprint que se baseia em um conjunto selecionado de histórias de usuários. É claro que alguns desenvolvimentos terão como alvo as evoluções planejadas da linguagem, enquanto outros apoiarão o ciclo de vida geral do software com atualizações de manutenção e correções de bugs.

O ciclo de desenvolvimento e lançamento do .NET também deve estar alinhado com as ferramentas de desenvolvimento de suporte, ou seja, os plug-ins do Visual Studio e do Visual Studio Code, incluindo o novo C# Dev Kit. Embora isso adicione algumas restrições ao roteiro do .NET, garante que quando o .NET 9 finalmente for lançado, as ferramentas necessárias para criar, testar e depurar seu código estarão prontas para você começar a trabalhar.

Uma plataforma para aplicativos nativos da nuvem e de IA

Para o .NET 9, a Microsoft está se concentrando em duas áreas principais. O primeiro, suporte aprimorado para aplicativos de IA, não deveria ser uma surpresa para quem assistiu a Microsoft no ano passado. A parceria da empresa com a OpenAI e a adoção de modelos de linguagem, bem como outras formas de aprendizado de máquina, tem sido rápida e profunda, com ferramentas como o Kernel Semântico fornecendo uma base para a construção de aplicativos de IA de nível empresarial que vão além da novidade do transformador. chatbots com tecnologia.

A segunda área, tornar o .NET uma plataforma para desenvolvimento de aplicativos nativos da nuvem, ressalta a importância do Azure e do Kubernetes para o fluxo de receitas da Microsoft. As melhorias nessa frente incluem a otimização do desempenho e do tempo de inicialização, com foco no dimensionamento de aplicativos. As ferramentas necessárias para isso devem simplificar a integração do .NET com serviços comuns de infraestrutura em nuvem. A lenta mudança do Azure para uma pilha aberta nativa da nuvem está quase concluída.

O lançamento do .NET Aspire pela Microsoft na .NET Conf 2023 mostrou como a empresa pretende usar o .NET como parte dessa nova pilha, com uma abordagem opinativa para integração de aplicativos e serviços. Enquanto a Internet inicial foi construída na pilha LAMP de Linux, Apache, MySQL e Perl/PHP/Python, a visão nativa da nuvem da Microsoft consiste em Azure, Kubernetes, PostgreSQL, Redis e Aspire. (AKPRA? Ou PARKA, talvez?) A chave para essa abordagem é o .NET multiplataforma e sua capacidade de construir e implantar em um contêiner otimizado para nuvem baseado no Ubuntu esculpido.

O Aspire tem como objetivo acelerar a entrega de microsserviços com .NET, simplificando as conexões com esses principais blocos de construção, transformando o que seria um conjunto complexo de arquivos de configuração e chamadas REST montadas manualmente em uma chamada de método familiar, carregando dependências e pré-requisitos como parte de seu definição de aplicação. Combinar tudo isso com outras otimizações deve tornar o Aspire rapidamente a abordagem preferida para construir .NET para a nuvem.

Uma pequena ajuda dos amigos do .NET

A Microsoft percebeu que o .NET não pode fazer tudo isso sozinho, que a empresa precisa trabalhar com fornecedores de sistemas operacionais e de plataformas de hardware para oferecer melhores maneiras de gerenciar segredos e gerenciar o acesso à API. Se for bem-sucedido aqui, e não há razão para que não seja, esse sucesso deverá fornecer um incentivo para que outras plataformas nativas da nuvem aproveitem o trabalho que está sendo feito pela equipe .NET.

Um trecho interessante na postagem do blog de anúncio é a expansão do suporte para .NET compilado nativo antecipadamente (AOT). Isso implica uma abordagem simplificada para configurar o subsistema Windows para Linux (WSL) ou ambiente Docker necessário para compilar e testar aplicativos Linux .NET. Isso deve simplificar a construção de aplicativos que podem ser dimensionados rapidamente, seja baixando e implantando novos contêineres sob demanda ou reiniciando pods que foram dimensionados para zero. Os aplicativos nativos da nuvem precisam de uma plataforma que foi projetada para ser executada na nuvem, portanto, estender os recursos de contêiner e AOT do .NET 8 faz muito sentido para uma versão moderna do .NET pronta para a nuvem.

Ter um conjunto de temas para o próximo ano de desenvolvimento é apenas parte do processo necessário para montar uma versão .NET. Afinal, o .NET não é realmente um projeto monolítico, mas uma frota de muitos projetos diferentes, todos movendo-se na mesma direção, em velocidades diferentes. O tempo de execução e a plataforma têm requisitos diferentes, portanto podemos esperar que diferentes partes do projeto liberem recursos de visualização em diferentes pontos ao longo do ano. Parte dessa abordagem requer abordar o acúmulo de recursos planejados e correções de bugs, conforme documentado no GitHub.

Trabalhando com a visualização 1 do .NET 9

A primeira visualização foi lançada em 13 de fevereiro. Em uma mudança na forma como os anúncios e a documentação do .NET são lançados, a equipe do .NET está usando o GitHub e o GitHub Discussions para gerenciar suas notas de lançamento. Isso deve permitir que a documentação básica seja disponibilizada mais rapidamente e inclua a comunidade na melhoria dela, além de relatar problemas e bugs e fazer solicitações pull.

Se estiver planejando experimentar o .NET 9 neste estágio inicial, você precisará ter a versão de visualização atual do Visual Studio 2022 com o SDK do .NET 9. Se preferir um ambiente de desenvolvimento mais leve, você tem a opção de usar o C# Dev Kit no Visual Studio Code. Uma versão .NET 9 do kit de ferramentas MAUI (Multi-platform App UI) está disponível e pode ser instalada como parte de seu ambiente de desenvolvimento.

Você pode baixar o SDK do .NET 9 para Linux, Windows e macOS, com versões x86 e Arm. Se você estiver criando aplicativos de servidor Web e quiser acompanhar o desenvolvimento do Blazor, uma visualização do .NET 9 do tempo de execução do ASP.NET Core está disponível.

A versão prévia inicial tem suporte para três linguagens: C# 12.0, F# 8.0 e Visual Basic 16.9. Estas são as versões atuais das principais linguagens .NET, para que você possa começar a explorar os recursos da plataforma sem precisar aprender novas versões de linguagem. Ainda estamos no início do ciclo de desenvolvimento do .NET 9, então você não deve esperar lançamentos de linguagem atualizados ainda. O tempo de execução é um alvo móvel, mudando rapidamente, e as atualizações de linguagem precisarão esperar até que fique mais estável.

A lista inicial de alterações no .NET 9 é relativamente curta, mas veremos muito mais alterações à medida que novas visualizações forem lançadas. Por enquanto, vale a pena pensar nos temas que o lançamento abordará e como o desenvolvimento nativo da nuvem e a IA impactarão seu software. A maioria de nós esperará para implantar os recursos do .NET 9 até depois do lançamento da próxima versão de suporte de longo prazo, .NET 10, em 2025. Mas se você estiver interessado em ajudar a definir a agenda para os próximos anos do .NET desenvolvimento, baixe a primeira prévia e comece a explorar o que virá a seguir.