.NET Core no Ubuntu

Em novembro de 2014 a Microsoft surpreendeu a todos quando anunciou a publicação do código-fonte do .NET na tentativa de aproximar-se da comunidade open-source. E desde então, houveram diversas surpresas boas, como a reescrita total do ASP.NET, a chegada do VS Code e a promessa de portar o SQL Server no Linux.

Neste artigo, será apresentado os primeiros passos para criar uma aplicação do novo .NET (denominado .NET Core) dentro o Ubuntu. É importante avisar que a plataforma ainda está na segunda versão de Release Candidate e a versão final, pronta para produção, está esperada (não oficialmente) para final de 2017.

Instalando o .NET Core

A primeira coisa a ser feita para quem é entusiasta em desenvolver com o C# do futuro é instalar o pacote dotnet correspondente ao seu sistema operacional. Na página oficial do .NET  há a descrição detalhada para fazer isso no Windows e no MacOS, mas aqui está passo-a-passo para a instalação no Ubuntu 16.04:

Passo 1 – Adicione o repositório do .NET no aptitude

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update

Passo 2 – Instale a versão do .NET mais recente

sudo apt-get install dotnet-dev-1.0.0-preview3-003146

Passo 3 – Verifique se a instalação ocorreu bem executando o comando dotnet no terminal.

dotnet --version

Pronto! O dotnet foi instalado e está ansioso para trabalhar. 🙂

Criando um projeto

Quando tudo estiver OK, basta criar a nova pasta que armazenará o projeto e usar o scaffolding do dotnet para gerar os arquivos essenciais de configuração. Logo em seguida, deve-se executar um comando de restore para que as bibliotecas e dependências do projeto recém-criado sejam baixadas.

mkdir ~/ConsoleApplication1
cd ConsoleApplication1
dotnet new
dotnet restore

Feito isso, a pasta da aplicação deve estar como mostra a figura abaixo.

O arquivo project.json é o arquivo central do projeto, pois especifica os detalhes da compilação do código-fonte, como a versão do projeto, framework de runtime, bibliotecas e dependências necessárias.

O outro arquivo na pasta é o Program.cs. Ele é uma espécie de “Hello, World” em C# e não tem nada de especial para quem já está familiarizado com a linguagem. Neste arquivo está declarada a função Main, cujo propósito é servir de ponto de entrada de aplicações em linha de comando.

Somente com esses arquivos já é possível rodar .NET no Ubuntu. Basta abrir o terminal, navegar para a pasta na qual o projeto está localizado e executar o run

dotnet run

A partir disso, a pasta do projeto é analisada em busca de alterações e a compilação ocorrerá. Quando o projeto compila corretamente, as pastas bin/Debug são criadas na raiz do diretório contendo a DLL gerada.

Essa forma de compilar é eficaz para atividades como depuração e testes. Entretanto, a DLL não fica otimizada para execução, pois é introduzido neste processo várias instruções de debug e tracing, que podem reduzir a performance e aumentar o consumo de memória.

Para compilar o código de forma otimizada, deve-se usar o processo de publicação feito pelo comando

dotnet publish

E se desejar, é permitido definir o runtime que a DLL suportará usando a opção -r na linha de comando

dotnet publish -r 1.0.0-preview3-003146

Depois de publicado, o projeto pode ser facilmente executado pelo terminal.

dotnet <caminho da DLL>

Conclusão

Este artigo introduziu os primeiros passos de desenvolvimento do .NET Core fora do Windows. Vale ressaltar que não se trata de uma nova versão do .NET, mas sim de um novo .NET, totalmente reescrito desde as bases da plataforma até os compiladores. Tudo isso está tornando o desenvolvimento de .NET no Linux uma experiência muito próxima ao que já existia no Windows, excetuando-se apenas pelas ferramentas e IDEs disponíveis. A boa notícia é que existe uma IDE fenomenal para desenvolver em C# no Linux, e ela será apresentada nos próximos posts.

Referências

http://zablo.net/blog/post/run-and-debug-asp-net-core-rc2-ubuntu-16-04
https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-net-core-rc2/

CTA-ebook-transformação-digital

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>