Começando com ASP.NET 5 – Adicionando novos projetos e testes com xunit

Bom, agora que já entendemos um pouco do ambiente do asp.net 5, configuramos o necessário, etc., vamos começar a desenvolver o nosso projeto efetivamente. Como a missão principal destes posts e do que está sendo desenvolvido é o asp.net 5, não se preocupem muito com a arquitetura. Afinal, se não fosse para entendermos como está o novo ambiente, bastaria criarmos um projeto através do visual studio 2015 que já teríamos mais do que temos agora. Acredito que o mais importante ao começarmos com uma tecnologia nova, ou como no nosso caso, uma nova versão da tecnologia, o mais importante é entender como funciona, quais são as idéias por trás do que estamos estudando, etc. Como o nosso sistema é sobre finanças pessoais, vamos começar pensando em nosso domínio. Para isso, vamos alterar um pouco da estrutura do nosso projeto. Até agora, estávamos utilizando a estrutura default gerada com o yeoman. Ou seja, tínhamos a pasta Finance e todo o código dentro desta pasta. Vamos passar a utilizar as paras src e test, como é o padrão gerado pelo Visual Studio 2015, e dentro da pasta src, adicionar as pastas dos projetos. Não precisamos de nenhuma ferramenta para isso, basta criarmos as pastas na mão. Crie as pastas src e test, e um arquivo chamado global.json:
Continuar lendo

Começando com ASP.NET 5 – wwwroot, bower e gulp

Bom, como já temos o nosso projeto, já conseguimos rodá-lo, etc, agora precisamos adicionar uma view. Já vimos que a estrutura continua igual, mesma convenção, etc. A diferença agora, é que todo o conteúdo estático, como arquivos javascript, imagens, etc, ficam na pasta wwwroot. Esta pasta representa a raiz do seu sistema e serve basicamente para servir conteúdo estático. Você não precisa mais se preocupar se o web.config, ou algum arquivo de log, etc está acessível ou não em sua aplicação. Se não está na pasta wwwroot, ele não será exposto! Agora vamos criar de verdade a nossa primeira view. Para isso, vamos começar vendo o bower.

bower

A intenção aqui não é dar uma longa aula sobre o bower, mas vamos começar entendo o que ele é: um gerenciador de dependências client side. Você pode encará-lo como um nuget para o seu front end. Se precisamos do Entity Framework por exemplo, não vamos ao nuget para utilizá-lo? Caso você queira utilizar jquery e bootstrap por exemplo, você vai utilizar o bower.
Continuar lendo

Começando com ASP.NET 5 – arquivos de configuração, console logger

Vamos continuar com o nosso projeto. Vamos agora adicionar logs para o nosso server. É sempre útil vermos os logs enquanto desenvolvemos. Poder ver algum erro, o que está sendo chamado, etc. Para isso, vamos adicionar a dependência de ILoggerFactory em nosso project.json.

"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final"

E agora podemos adicionar a dependência de ILoggerFactory em nosso método Configure, dentro de Startup.cs:

public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(minLevel:LogLevel.Verbose);
            
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
}

Com isso, estamos registrando os eventos no console do nosso servidor. Note que agora ao acessarmos uma página, podemos conferir o que está acontecendo por de baixo dos panos:
Continuar lendo

Começando com ASP.NET 5 – Adicionando o mvc, dependências e middlewares

ASP.NET-5-Middleware-Pipeline-and-Startup-Class

A ideia inicial era escrever apenas um post falando sobre o asp.net 5, e fazer uma aplicação simples tentando mostrar as diferenças para as versões anteriores. Como acabou ficando muito grande, decidi quebrar em pequenos posts. Você pode conferir no post anterior como preparar o ambiente, algumas coisas que mudaram, como criar um projeto, etc. Como eu comecei com um template vazio, vamos implementando aos poucos o que precisamos. Vamos começar adicionando as dependências do Mvc. Adicionar uma referência ficou bem fácil. Basta ir no arquivo project.json e adicioná-la dentro de dependencies

"dependencies": {
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final"
  }

Agora podemos adicionar o método ConfigureServices dentro de Startup.cs com o seguinte código:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
}

Continuar lendo

Começando com ASP.NET 5

Primeiramente, feliz natal para todos! Agora vamos ao que interessa! Como muitos devem saber, o asp.net 5 ainda está em desenvolvimento, porém ele já em release candidate. Podemos conferir as previsões para novas versões no github:

Milestone Release week
Beta6 27 Jul 2015
Beta7 2 Sep 2015
Beta8 15 Oct 2015
RC1 Nov 2015
RC2 Feb 2016
1.0.0 Q1* 2016

Mas como já estamos em Release Candidate, muitos bugs já foram corrigidos, as coisas já estão bem parecidas como serão em sua versão final e nada mais justo do que começarmos a ver as diferenças de suas versões anteriores, o que podemos aprender de novo, etc.
Continuar lendo