Do Windows Forms para o .NET Core: uma jornada rumo à modernidade e eficiência

Do Windows Forms para o .NET Core: uma jornada rumo à modernidade e eficiência

Na constante evolução da tecnologia, os aplicativos desktop têm sido essenciais para o desenvolvimento de software. O Windows Forms tem sido uma plataforma sólida para a criação de aplicativos de desktop no ambiente .NET Framework há muitos anos.

No entanto, com a chegada do .NET Core, surgiu uma oportunidade para modernizar e melhorar nossas aplicações, obtendo vantagens significativas em termos de desempenho, escalabilidade e suporte multiplataforma.

Neste artigo, mostrarei como migrar uma aplicação Windows Forms para .NET Core, explicando os benefícios e fornecendo exemplos de código para facilitar o processo. Antes de nos aprofundarmos no processo de migração, vamos dar uma olhada nos motivos pelos quais você deve considerar essa transição.

Vantagens de migrar do Windows Forms para o .NET Core

A migração do seu aplicativo Windows Forms para o .NET Core oferece vários benefícios importantes:

  • Desempenho e otimização: O .NET Core foi projetado com foco na otimização e no desempenho. Com uma arquitetura mais leve e moderna, seus aplicativos se beneficiarão de tempos de carregamento mais rápidos e melhor desempenho geral.
  • Compatibilidade entre plataformas: Um dos recursos mais notáveis ​​do .NET Core é a capacidade de execução em diferentes sistemas operacionais, como Windows, macOS e várias distribuições Linux. Isso permitirá que você alcance um público mais amplo.
  • Atualizações e suporte de longo prazo: Ao contrário do .NET Framework, que é atualizado mais lentamente, o .NET Core recebe atualizações mais frequentes e contínuas. Além disso, o .NET Core é a base do .NET 5 e versões posteriores, o que significa que você terá suporte de longo prazo e acesso a novos recursos e melhorias no futuro.
  • Docker e contêineres: A migração para o .NET Core facilita o uso de contêineres do Docker, simplificando a implantação e o dimensionamento de seus aplicativos.
  • Melhoria de recursos: O .NET Core oferece novos recursos e funcionalidades não disponíveis no .NET Framework, como melhorias no C# e bibliotecas atualizadas.

Preparando o ambiente para a migração

Antes de iniciar a migração, devemos garantir que nosso ambiente esteja devidamente configurado. Certifique-se de ter instalado:

  • Visual Studio 2022 ou posterior: Precisaremos dessa ferramenta para trabalhar com projetos .NET Core e Windows Forms.
  • SDK do .NET Core: Baixe e instale o SDK do .NET Core mais recente do site oficial da Microsoft.
  • Versão apropriada do .NET Core: Verifique se o projeto Windows Forms usa uma versão compatível do .NET Framework para facilitar a migração. Idealmente, você deve usar o .NET Framework 4.6.1 ou superior, pois o .NET Core é compatível com esta versão e superior.

Assim que seu ambiente estiver preparado, podemos iniciar a migração.

Etapas para migrar do Windows Forms para o .NET Core

Abaixo estão as principais etapas para migrar seu aplicativo Windows Forms para o .NET Core:

Etapa 1: criar um novo projeto .NET Core

A primeira etapa é criar um novo projeto .NET Core no Visual Studio. Aqui estão duas opções dependendo da sua preferência:

a) Crie um novo projeto Windows Forms em .NET: Isso permitirá que você inicie uma nova versão do seu aplicativo Windows Forms usando o .NET Core. Para fazer isso, siga estas etapas:

  • Abra o Visual Studio e selecione Criar um novo projeto.
  • Procure Windows Forms App (.NET Core) nos modelos de projeto.
  • Forneça um nome e local para o projeto e clique em Criar.

b) Migrar projeto existente para .NET Core: Se quiser migrar um projeto existente, você pode abrir seu projeto Windows Forms no Visual Studio e seguir estas etapas:

  • Clique com o botão direito no projeto, no Solution Explorer.
  • Selecione Converter para aplicativo Windows Forms (.NET Core).
  • Escolha a opção que melhor se adapta às suas necessidades. Depois que o projeto for criado, é hora de migrar o código.

Etapa 2: reorganizar e modificar o código

Nesta etapa, você precisará ajustar seu código para torná-lo compatível com o .NET Core. Embora grande parte do código do Windows Forms seja reutilizável, algumas partes precisarão de alterações para funcionar com a nova plataforma.

Abaixo estão algumas considerações e exemplos de código para modificar seu aplicativo:

  • Mudança de bibliotecas: Se seu aplicativo usa bibliotecas específicas do Windows Forms não disponíveis no .NET Core, você precisará procurar alternativas ou desenvolver suas próprias soluções. Por exemplo, se seu aplicativo usar o controle System.Windows.Forms.WebBrowser (não compatível com o .NET Core), você poderá considerar usar o controle Microsoft Edge WebView2 ou usar tecnologias da Web como o Blazor.

Exemplo:

  • Referências de montagem: Verifique as referências de assembly em seu projeto e certifique-se de que sejam compatíveis com o .NET Core. Algumas bibliotecas de terceiros podem exigir atualizações para funcionar corretamente.
  • APIs obsoletas: Algumas APIs do Windows Forms podem ser marcadas como obsoletas no .NET Core, portanto, você precisará substituí-las por seus equivalentes atualizados.

Exemplo:

  • Gestão de eventos: Se seu aplicativo fizer uso extensivo de eventos, você provavelmente encontrará diferenças na forma como os eventos são tratados no .NET Core. Certifique-se de atualizar o código para que os eventos funcionem corretamente na nova plataforma.

Exemplo:



Etapa 3: Teste e solução de problemas

Depois de fazer as modificações necessárias em seu código, é importante realizar testes extensivos para garantir que tudo funcione corretamente no .NET Core. Execute testes de funcionalidade e desempenho e verifique se os principais recursos do aplicativo ainda estão intactos.

Você pode encontrar problemas ou erros durante o teste. Certifique-se de abordá-los e resolvê-los antes de passar para a próxima fase.


Etapa 4: Atualizando o acesso a dados e o gerenciamento de configuração

Ao migrar do Windows Forms para o .NET Core, é importante considerar como os dados são acessados ​​e como as configurações são tratadas no seu aplicativo. No .NET Core, é incentivado o uso de soluções mais modernas e flexíveis para essas tarefas.

  • Acesso de dados: Se o seu aplicativo usa tecnologias mais antigas, como ADO.NET, para acessar bancos de dados, considere adotar o Entity Framework Core (EF Core) para a camada de acesso a dados. EF Core é um ORM (Mapeamento Objeto-Relacional) leve e de alto desempenho que permite interagir com o banco de dados usando consultas e objetos LINQ.

Exemplo:



Você pode converter o código de back-end da área de trabalho em .NET Core da seguinte maneira:

Exemplo DESKTOP de quando você usa um loop foreach para iterar por uma coleção de linhas (DataRow) de um conjunto de dados chamado refundadjustments. Cada linha representa um ajuste de reembolso e o objetivo é somar os valores totais das colunas de todas as linhas:



Exemplo de como converter isso em .Net Core:

1) Primeiro declare o dataset como um datatable:


2) Preencha a tabela da seguinte forma se seu cliente usar ADO:

Crie uma classe chamada dbFunctions com o seguinte método:


Então, chame seu método assim:


  • Gerenciamento de configurações: Em vez de usar o arquivo de configuração App.config tradicional, o .NET Core usa o arquivo appsettings.json para gerenciar as configurações do aplicativo. Você pode definir diferentes configurações para ambientes de desenvolvimento, produção, etc.

Exemplo do appsettings.json:


Etapa 5: modernizando a interface do usuário


Blazor: Se você deseja levar seu aplicativo para a web e oferecer uma IU baseada em componentes, o Blazor é uma opção interessante. O Blazor permite criar aplicativos da web interativos usando C# e .NET, facilitando a transição do seu aplicativo de desktop para um aplicativo da web moderno.

Você também pode usar bibliotecas Jquery, como datatable, para exibir informações em uma tabela usando o seguinte código:


Etapa 6: implantar e atualizar

Assim que o teste for concluído e você estiver satisfeito com a versão migrada do seu aplicativo, é hora de implantá-lo. Você pode usar o Docker para empacotar e distribuir seu aplicativo como um contêiner, facilitando a implantação em diferentes plataformas.

Lembre-se de que quando seu aplicativo estiver no .NET Core, você receberá os benefícios contínuos de atualizações frequentes e suporte de longo prazo.


Conclusão

Migrar um aplicativo Windows Forms para o .NET Core é uma excelente oportunidade para modernizar seu software, obter melhorias significativas no desempenho e na escalabilidade e alcançar um público maior entre plataformas. Embora o processo de migração possa exigir esforço e ajustes de código, os benefícios que você obterá valerão a pena.

Neste artigo, exploramos os benefícios da migração para o .NET Core, descrevemos as principais etapas da migração e fornecemos exemplos de código para ajudá-lo a começar. À medida que a tecnologia continua a avançar, é importante manter-se atualizado e adotar novas soluções para se manter competitivo no mercado atual.

Migrar um aplicativo Windows Forms para o .NET Core é um avanço na modernização de seus aplicativos e irá prepará-lo para um futuro mais inovador e promissor.

Chegou a hora de dar o salto para o .NET Core e levar seus aplicativos para o próximo nível!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.