.NET

7 mar, 2019

Desenvolvendo .Net no Linux usando VIM

Publicidade

O objetivo deste artigo não é fazer você abandonar o Windows ou o Visual Studio, mas sim mostrar que você tem liberdade de escolher o ambiente que mais lhe agrada.

Nos últimos anos a Microsoft vem mudando, e foi essa mudança que me chamou atenção. E assim como eu, gostaria que você desse uma olhada na stack da empresa que mais colaborou em open source em 2018.

Neste artigo mostrarei como usar a tecnologia .NET Core no Ubuntu dentro de um container docker. Usaremos o console para criação de um novo projeto e o vim como editor.

Docker

Se você não tiver docker instalado, acesse o guia de instalação oficial:

Com docker instalado acesse o terminal e digite docker pull ubuntu:18.04 para realizar o download da imagem do ubuntu 18.04.

Agora digite docker run -it -p 5000:5000 -p 5001:5001 ubuntu:18.04 bash para iniciar o ubuntu 18.04 em um novo container.

Você está visualizando algo como root@a2f71b0266c0:/#? Se sim, tudo certo até aqui.

Atenção: o número a2f71b0266c0 é o id do container, então no seu ambiente esse Id vai ser diferente, ok?

Para se certificar de que você está no Ubuntu, digite cat /etc/lsb-release.

  DISTRIB_ID=Ubuntu                                                 
  DISTRIB_RELEASE=18.04                                       
  DISTRIB_CODENAME=bionic                                  
  DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

.NET

Vamos instalar o .NET em nosso ambiente. Primeiro precisamos instalar alguns pacotes essenciais – para isso, digite o comando:

apt update && apt install -y vim wget software-properties-common apt-transport-https

Agora precisamos adicionar o repositório da Microsoft no Linux.

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
dpkg -i packages-microsoft-prod.deb

É só instalar o .NET.

apt update && apt install -y dotnet-sdk-2.2 

Digite dotnet –version e certifique-se de que a instalação foi realizada com sucesso.

Criar meu primeiro programa .NET

Para esse artigo criarei um programa webapi. Para isso, digite:

dotnet new webapi -lang C# -o dotnet-no-linux -n Dotnet.No.Linux && cd dotnet-no-linux

O comando acima criará um novo programa do tipo Web Api, utilizando a linguagem C#, no diretório dotnet-no-Linux com o namespace Dotnet.No.Linux.

Rodando o programa

Antes de rodar, precisamos fazer uma pequena alteração no arquivo Properties/launchSettings.json para que a nossa máquina consiga acessar o container através da porta 5000 e 5001.

Digite o comando sed -i 's/localhost/0.0.0.0/g' Properties/launchSettings.json.

Esse comando substituirá tudo que é localhost por 0.0.0.0 no arquivo Properties/launchSettings.json.

Agora podemos rodar o projeto. Digite dotnet run e acesse https://localhost:5001/api/values.

E o vim nessa história?

Se você iniciou a leitura desse artigo só por causa do vim, chegou o momento.

Vamos acrescentar uma funcionalidade. Que tal fazer um programa que gere números da sorte (quem sabe esses números não possam ser usados?).

O programa receberá via query string um valor inicial, valor final e total de números distintos que devem ser gerados.

Para acrescentar a funcionalidade, digite vim Controllers/ValuesController.cs.

Para facilitar vamos copiar e colar um código já digitado que pode ser acessado neste link.

Com o arquivo aberto no vim, digite :d1000 e tecle Enter. Este comando deletará 1000 linhas contando a partir do cursor.

Digite :set paste e aperte a letra A para colar o conteúdo copiado do gist. Agora, se estiver no CMD, basta clicar com botão direito do mouse ou shift+insert se estiver no Linux.

Conteúdo colado, agora basta salvar. Para isso, digite esc para acessar o modo de comandos do vim e então digite :x para salvar e sair do vim.

Ao completar esses passos, execute o projeto com o comando donet run e acesse https://localhost:5001/api/values?inicio=1&fim=60&total=6 para visualizar o resultado.

Caso o programa sorteie os números da Mega Sena, não esqueça de compartilhar comigo, combinado?

Referências