Assista a gravação do Workshop de ASP.NET CORE 1.1 + SQL SERVER LINUX/WIN + DOCKER + CIRCLECI + AZURE

Foi um sucesso. Quase 400 pessoas de toda parte do Brasil, de norte a sul, acompanharam na semana passada 5 noites de puro conhecimento em que eu e o super Rafael Santos promovemos pelo Youtube. Foi incrível.

Como prometido, as gravações estão disponíveis no meu canal do YouTube. São quase 10 horas de treinamento FREE para você dar aquele ramp-up na carreira. Espero que façam bom proveito e agradecemos qualquer comentário ou like que você puder contribuir.

Para acompanhar, faça o clone do repositório que trabalhamos durante a semana: https://github.com/rsantosdev/workshop-aspnetcore-circleci-azure


Em tempos, tivemos centenas e centenas de feebacks no Twitter. Um deles reporto abaixo. Teve gente que assistiu até do ônibus para não perder nenhum momento


Clique aqui para assistir a série completa e salve no seu favoritos


Se você gostou do workshop e realmente foi útil a você, curta os videos e ajude-nos a divulgar. Não deixe de me seguir no facebook e no twitter, além do canal no YouTube para não ficar de fora dos próximos.

Abraço e até a próxima!

User Group Meeting – ASP.NET Identity

E retornamos os encontros técnicos!
Hoje, em pleno sábado de copa do mundo reunimos logo cedo para colocar em pauta o ASP.NET Identity, que por sinal ficou bastante flexível e sintético.

top.crop_1170x350_0,0

O código e os questionamentos levantados estão no GitHub do DevGoiás e caso você queira se juntar a nós, você pode participar e colaborar por lá também.

O slide é básico, focamos mais no código. De toda forma serve para referência. Está abaixo:

foto
Membros do grupo produzindo código. Produtivo.

Agradecimento aos sponsors desta reunião: GitHub, Apress, Microsoft, JetBrains e Not In California que gentilmente nos concedeu o espaço.

Se você quer participar do próximo encontro, fique ligado no meu twitter e no canal do DevGoiás no Facebook.

Até a próxima!

UPDATE 1

Na reunião surgiu uma dúvida da migração do Membership para o Identity. E no final da semana saiu um txt no projeto do Identity do Codeplex com as instruções e scripts para esta migração. Caso alguém teste esta migração deixe o feedback.

https://aspnet.codeplex.com/SourceControl/latest

ASP.NET vNext. A nova geração do ASP.NET vem ai. Entenda o que está acontecendo

Salve salve!

Nesta semana está ocorrendo, em Houston/TX, o TechEd North America 2014. Pra quem não conhece é um super evento da Microsoft que dispara as tendências, novidades, recursos e últimas notícias para preparar o mercado e os profissionais de tecnologia para as inovações que turbilham e são cobradas diariamente.

Dentre as novidades e boas notícias do TechEd, venho neste post trazer um pouco do que foi apresentado do novo ASP.NET e o que fez toda a comunidade vibrar em redes sociais do planeta inteiro.

A Microsoft vem trabalhando nos últimos meses no que estamos chamando agora de ASP.NET vNext (este nome provavelmente irá mudar), ou seja, na próxima versão do ASP.NET, no futuro do desenvolvimento web  com .NET. E não é uma simples evolução. O ASP.NET vNext foi re-projetado a partir do zero. O objetivo foi para que a pilha .NET ficasse leve e combinável para a criação de aplicativos baseados em nuvem.

5280.clip_image011_02375ABE

Segundo o time de desenvolvimento, ao longo dos anos perceberam alguns problemas comuns que tinham no ecossistema e viram a oportunidade de deixar o ASP.NET a melhor plataforma de desenvolvimento para web.

Alguns dos “problemas” podemos citar alguns como: ter dois tipos de projeto ASP.NET(Web Site e Web Application Projects), a injeção de dependência é diferente em todas as estruturas (WebAPI, MVC e SignalR), o Web API e o MVC são coisas diferentes, mas semelhantes na codificação, os erros de página não aparece na IDE ao lado de erros normais de compilação, entre outros que foram motivos de discussão no uservoice do ASP.NET.

O que vem de bom:

  • Experiência de desenvolvimento de baixo acomplamento
    • O NuGet será seu melhor amigo. Ele será a unidade de referência (tic tac.. prático e rápido). Sendo pacotes e projetos intercambiáveis e possuirem dependências.
    • Com a ajuda do Roslyn (falei dele aqui), você vai ser capaz de compilar código dinamicamente. Isto significa que você poderá alterar o código e em seguida dar um F5 na página, sem precisar de “buildar” pra ver o resuldado. #soundsgood
    • Compilação unificada (livre do <compilation> do web.config)
  • Baixo consumo de memória
  • Versões otimizadas para nuvem do MVC, Web API, Web Pages, SignalR e Entity Framework.
  • Fim da dependência do System.Web (sim… vc não depende de mais nada do que está pra dentro desta namespace. comemore! Vou falar disto mais abaixo)
  • Execução lado a lado (2 runtimes diferentes ao mesmo tempo. Isso significa que você pode atualizar o seu aplicativo sem afetar outros aplicativos no mesmo servidor.)
  • Excelente experiência no Visual Studio
  • MVC, Web API, e Web Pages serão fundidos em um framework chamado MVC 6.
  • Você poderá hospedar seu aplicativo no IIS, ou em um processo personalizado auto-host. (o Web API 2  e o SignalR 2 já possuem esta funcionalidade que o vNext trouxe agora para o MVC)
  • E o que ninguém esperava um dia: ASP.NET agora é open source e multiplataforma.
  • Hoje executado no Mono, em Mac e Linux.

System.Web

Dai você me pergunta: o que iremos ganhar com o novo ASP.NET livre do System.Web?!

Pois, bem, o System.Web tem muita coisa boa. Mas é um assembly monolítico, pesado, do mal. E não tendo isto, ficaremos mais leves, mais rápido, iremos consumir menos memória e livres para utilizarmos o que bem entendermos. Abaixo uma listinha do que sai:

  • IIS Integration (módulo nativo)
    • aspnet_regiis
  • Seção <system.web> do web.config
  • BuildManager e o sistema de compilação do ASP.NET
  • aspnet_compiler
  • VirtualPathProvider
  • HttpRuntime.Cache
  • Routing
  • HttpContext
  • HttpUtility
  • Session
  • Health Monitoring
  • Profile/Membership
  • MS Ajax
  • JavascriptSerializer
  • WCF/IIS Integration
  • MachineKey
  • OutputCache

Muita coisa né?

Dai você me pergunta novamente: Poxa, agora eu vou perder isso tudo?

A resposta é: não. Você vai escolher “a la carte”. O que precisar adiciona e vai sendo feliz! Bem melhor, não?! Smiley piscando

Alguns do tweets que rolaram na comunidade BR ontem:

image

image

image

Para ler mais sobre:

Obs.: Em breve posto uma demo para começar a brincar com o vNext.

Em tempo:

O TechEd acaba na quinta-feira, dia 15/05. Até lá você pode acompanhar ao vivo pelo Channel9 ou pela hashtag #msteched.

Valeu..

[Palestra] O Futuro do Desenvolvimento .NET

Estive na semana de tecnologia da Faculdade Alfa em uma das tracks que ocorreram por lá. Por 1h20 falamos de Oportunidades acadêmicas e do futuro do desenvolvimento .NET, um grande momento que toda essa moçada pode pegar onda. Uma boa onda!

foto 3

E vocês? Já estão por dentro de todas estas novidades?
O que estão achando desta nova fase do .NET que está vindo por ai?

MVP ShowCast 2013–Arquitetura web moderna

mvp-showcast-logo-160x160No dia 30 de novembro participei do MVP ShowCast, evento que traz uma sequência de palestras online relacionadas a desenvolvimento de software e infraestrutura. Apresentei na trilha de arquitetura e falei um pouco de componentes e elementos de uma app moderna (ainda caberia NodeJs e AngularJs, claro).

E antes que digam sobre o slide 28/29, eu amo o MVC. Meus pontos a respeito foi para a observação do desenvolvimento MVP quanto a distribuição das responsabilidades (SoC), desenvolvimento colaborativo (UI Developer/Manage Code Developer) e testabilidade.

Não.. Não disse que o MVP é melhor que MVC ou vice e versa, ou um é substituível por outro (não entrei neste mérito). Padrões foram feitos para te ajudar, principalmente para deixar o código mais legível e compreensível (mesmo que seja somente você que leia o código). E nisto, ambos cumprem o papel, pois são padrões reconhecídos.

Para deixar claro:

Padrão MVP

  • A view é mais flexível ao modelo. O presenter é responsável pelo binding do model com a view.
  • É mais fácil de teste de unidade, porque a interação com a view é através de uma interface.(mais um ponto interessante para deixar a  view bem desacoplada para os testes de JS também).
  • Normalmente uma view tem um presenter. No MVP, uma view complexa pode ter vários presenters.

Padrão MVC

Resumindo, a idéia básica por trás do padrão MVP (que por sinal é baseado no MVC) é a separação de preocupações. Isso melhora sim a capacidade de teste e os mocks podem ser usados para testar parte do domínio. Além disso, nós podemos mudar as views para representar os dados do modelo de forma diferente. Mas isto depende do cenário, do ambiente em que está trabalhando, do projeto e a equipe que está. De toda forma, compensa estudar com carinho cada parte.

Existe um gargalo muito grande na interface quando se desenvolve aplicações web. Sendo assim, todo o cuidado com a view é pouco.

E você? O que acrescentaria a mais?