Instalando ASP.NET 5 no Ubuntu 14.04 LTS

A Microsoft sinalizou há alguns anos sua estratégia de migrar sua tecnologia de desenvolvimento de software para um ambiente colaborativo de software livre. Pode-se observar isso com a abertura do código do .NET Framework e sua hospedagem no github.

O interessante dessa tendência é que a Microsoft vai mais a fundo: ela deseja fazer com que seus frameworks de desenvolvimento tornem-se multiplataforma, ou seja, que além de serem compilados e executados em Windows, também o sejam em Linux e Mac.

Já é realidade que parte do .NET Framework, o .NET Core é multiplataforma. Dentro dele, o ASP.NET 5, também é compilado e executado tanto em Windows, como Linux e Mac. Esse artigo aborda parte desse assunto – aqui é mostrado como instalar e executar aplicações ASP.NET 5 no Ubuntu 14.04 LTS.

Um passo-a-passo é mostrado a seguir descrevendo brevemente as ferramentas necessárias para compilar e executar projetos ASP.NET 5. É importante notar que boa porte dos projetos ainda estão em release candidates e muitas das funcionalidades do .NET Framework que funcionam no Windows infelizmente ainda não foram portadas para Linux. Portanto, instabilidades e problemas podem ser encontrados por desenvolvedores que se aventurem nesse novo caminho de desenvolvimento .NET.

Instalando pré-requisitos

Antes de começar a instalar os componentes necessários para utilizar-se o ASP.NET 5, deve-se ter o curlunzip e git disponíveis. Para tal, execute o comando abaixo:

sudo apt-get install unzip curl git

É importante garantir que os as referências para os repositórios do apt-get estejam atualizadas. Logo, execute o seguinte comando:

sudo apt-get update

Instalando o gerenciador de versões .NET – DNVM – .NET Version Manager

O DNVM serve o propósito de gerenciar e instalar várias versões do ambiente de execução .NET – DNX (.NET Execution Environment). Para obtê-lo, execute o seguinte comando:

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

Após sua instalação, o comando dvm estará disponível para ser executá-lo. Teste-o executando no terminal. Um texto de ajuda deve ser visualizado.

Instalando o Ambiente de Execução .NET – DNX

DNX (Ambiente de Execução .NET) é utilizado para compilar e executar projetos .NET.  Como descrito anteriormente, o DNVM (Gerenciador de Versões .NET) tem como propósito instalar e gerenciar os vários ambientes de execução de .NET. Atualmente existe dois: Mono e DNX. Nesse artigo será instalado DNX, obviamente.

Primeiramente, deve-se instalar os pré-requisitos:

sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev

Agora, utilize o DNVM afim instalar o DNX para .NET Core e executá-lo como padrão:

dnvm upgrade -r coreclr

INSTALANDO o libuv

Libuv é uma biblioteca de I/O assíncrona não-bloqueante, multiplataforma. Ela a base para o Kestrel, um servidor de aplicações que hospeda aplicações ASP.NET 5 – alternativa escolhida por várias aplicações já desenvolvidas.  A seguir são mostrados os comandos para instalar o Libuv.

sudo apt-get install make automake libtool curl
curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.8.0
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/local/src/libuv-1.8.0 && cd ~/
sudo ldconfig

A instalação de todo ambiente está completa. Nos próximos tópicos serão mostrados alguns exemplos de projetos sendo executados.

Testando aplicações ASP.NET 5

Agora que o framework ASP.NET 5 está instalado juntamente com o DNVM, DNX, é interessante baixar os exemplos disponíveis pela própria plataforma e testá-los. Crie um diretório chamado aspnet-samples no seu home através do seguinte comando:

cd ~/ && mkdir aspnet-samples && cd ~/aspnet-samples

Em seguida baixe o repositório Home do ASP.NET 5, através do comando a seguir. Esse repositório possui exemplos a serem executados nesse artigo.

git clone https://github.com/aspnet/Home.git

Executando o exemplo HelloWeb

Primeiramente, deve-se determinar a versão correta dos samples a serem executadas. Para tal execute o comando:

dnx --version

Quando esse artigo foi escrito, o resultado do comando acima mostrou que versão era a 1.0.0-rc1-16609, vide figura abaixo. Portanto, o diretório das samples a serem executadas será o 1.0.0-rc1-update1.

Screenshot do comando dvx --version
Screenshot do comando dvx –version

Para executar o exemplo HelloWeb, vá ao diretório raiz dos exemplos, através do seguinte comando:

cd ~/aspnet-samples/Home/samples/1.0.0-rc1-update1/

Em seguida, baixe as dependências de pacotes do NuGet para o projeto:

dnu restore

Agora, vá ao diretório do HelloWeb, através do seguinte comando:

cd ~/aspnet-samples/Home/samples/1.0.0-rc1-update1/HelloWeb

Execute novamente o comando para baixar as dependências associadas ao NuGet:

dnu restore

E finalmente execute a aplicação utilizando o servidor web padrão através do seguinte comando:

dnu web

Agora, abra seu navegador e execute a seguinte URL, no ambiente local, para ver a aplicação sendo executada: http://localhost:5004/. Veja na figura abaixo a aplicação sendo executada.

Screenshot do exemplo HelloWeb
Screenshot do exemplo HelloWeb

Executando o exemplo HelloMvc

Os passos para esse exemplo são similares ao do HelloWeb. Determine a versão do dnx através do seguinte comando:

dnx --version

Como no exemplo anterior, a versão mostrada é a 1.0.0-rc1-16609, vide figura abaixo. Portanto, o diretório das samples a serem executadas será o 1.0.0-rc1-update1.

Screenshot do comando dvx --version
Screenshot do comando dvx –version

Para executar o exemplo HelloMvc, vá ao diretório raíz dos exemplos, baixe as dependências gerais e em seguida do projeto HelloMvc:

cd ~/aspnet-samples/Home/samples/1.0.0-rc1-update1/
dnu restore
cd ~/aspnet-samples/Home/samples/1.0.0-rc1-update1/HelloMvc
dnu restore

Finalmente, como no exemplo anterior, execute a aplicação utilizando o servidor web padrão através do seguinte comando:

dnu web

Agora, abra seu navegador e execute a seguinte URL, no ambiente local, para ver a aplicação sendo executada: http://localhost:5004/. Veja na figura abaixo a aplicação sendo executada.

Screenshot do exemplo HelloMvc
Screenshot do exemplo HelloMvc

Outros projetos

No momento em que foi escrito esse artigo, tentei executar exemplos dos projetos MusicStore e Kestrel sem sucesso, devido a falta do framework netcoreapp1.0. Isso significa que, apesar de existirem exemplos 100% compatíveis com Linux, outros não são devido a falta de módulos implementados para esse Sistema Operacional.

Conclusões

Percebe-se um grande esforço da Microsoft para fazer com que ASP.NET seja desenvolvido e executado em ambiente Linux. Contudo, como pode-se observar pelos exemplos que não puderam ser executados, ainda há bastante trabalho a ser feito.

Contudo, dado o esforço atual para transformar o Mictosoft .NET em uma tecnologia multiplataforma e aberta, existe uma alta probabilidade de que em pouco tempo será possível desenvolver software e colocá-lo em produção em máquinas Linux, com a mesma facilidade que se faz em PCs com Sistema Operacional Windows.

Referências

[1] – Guia oficial do ASP.NET 5 para instalalação da plataforma em ambientes Linux – http://docs.asp.net/en/latest/getting-started/installing-on-linux.html

[2] – Tutorial para instalação do ASP.NET 5 com alguns casos de troubleshooting – https://mjomaa.com/computer-science/frameworks/asp-net-mvc/139-installing-asp-net-5-on-linux-ubuntu-15-04-x32

Anúncios

Um comentário

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s