80
NuGet Gerenciando dependências

NuGet - Gerenciando dependências em .NET

Embed Size (px)

Citation preview

Page 1: NuGet - Gerenciando dependências em .NET

NuGetGerenciando dependências

Page 2: NuGet - Gerenciando dependências em .NET

@vquaiato

http://viniciusquaiato.com

[email protected]

Vinicius Quaiato

Page 3: NuGet - Gerenciando dependências em .NET
Page 4: NuGet - Gerenciando dependências em .NET

Esta palestra não é sobre isso.

Não vou te ensinar engraxar sapato!

Page 5: NuGet - Gerenciando dependências em .NET
Page 6: NuGet - Gerenciando dependências em .NET

Eu sou vegetariano. Não vou falar sobre chickens!

Page 7: NuGet - Gerenciando dependências em .NET

Chega de papo furado

Page 8: NuGet - Gerenciando dependências em .NET

Fazer software não é algo simples

Page 9: NuGet - Gerenciando dependências em .NET

Cada vez que um projeto começa precisamos aprender algo novo

Page 10: NuGet - Gerenciando dependências em .NET

Precisamos nos tornar especialistas em um determinado negócio/ramo/atividade

Page 11: NuGet - Gerenciando dependências em .NET

Os detalhes de negócio geram complexidades ao software

E isso é algo bom!

Page 12: NuGet - Gerenciando dependências em .NET

Algumas vezes precisamos conhecer a equipe

Page 13: NuGet - Gerenciando dependências em .NET

E isso também gera complexidades ao desenvolvimento do software

Page 14: NuGet - Gerenciando dependências em .NET

E como se não bastasse precisamos escolher entre dezenas de ferramentas

Page 15: NuGet - Gerenciando dependências em .NET

Escolher significa, no mínimo, testar

Page 16: NuGet - Gerenciando dependências em .NET

E aí começam a surgir mais complexidades

Page 17: NuGet - Gerenciando dependências em .NET

1. Você precisa saber que algo existe

2. Você precisa saber onde conseguir

3. Você precisa obter

4. Você precisa saber o que realmente usar

5. Precisa adicionar ao seu projeto

Page 18: NuGet - Gerenciando dependências em .NET

Aí você lembra que esqueceu de algo...

Page 19: NuGet - Gerenciando dependências em .NET

Depois de alguns minutos/horas você consegue “dominar” a coisa

Page 20: NuGet - Gerenciando dependências em .NET

Você só queria experimentar

Page 21: NuGet - Gerenciando dependências em .NET

Multiplique seu trabalho pelo número de membros do seu time

Page 22: NuGet - Gerenciando dependências em .NET

Trabalhoso!

Page 23: NuGet - Gerenciando dependências em .NET

Multiplique pelo número de ferramentas que vai experimentar

Page 24: NuGet - Gerenciando dependências em .NET

Novamente pelo número de membros do time

Page 25: NuGet - Gerenciando dependências em .NET

Muito trabalhoso!

Page 26: NuGet - Gerenciando dependências em .NET

Agora pense que aquela tão esperada feature foi adiciona em uma nova versão

Page 27: NuGet - Gerenciando dependências em .NET

Tudo se repete:

Saber que existe

Obter

Saber o que usar/o que mudou

Multiplica pelo time

Page 28: NuGet - Gerenciando dependências em .NET

Mais que muito trabalhoso!

Page 29: NuGet - Gerenciando dependências em .NET

Na melhor das hipóteses você terá 3 ou 4 ferramentas externas para lidar

Page 30: NuGet - Gerenciando dependências em .NET

Cada uma com 2 ou mais DLL

Page 31: NuGet - Gerenciando dependências em .NET

3 meses depois vocês descobrem que não precisam de uma delas

Page 32: NuGet - Gerenciando dependências em .NET

E agora? Qual DLL eu removo?

Page 33: NuGet - Gerenciando dependências em .NET

Na maioria das vezes remove a metade delas, e deixa o lixo lá

Page 34: NuGet - Gerenciando dependências em .NET

Ad infinitum

Page 35: NuGet - Gerenciando dependências em .NET

“Não sei...”

“O que é isso?”

“...mas deixa aí!”

Page 36: NuGet - Gerenciando dependências em .NET

O bem mais precioso de um projeto de software, em última análise, é o software!

Page 37: NuGet - Gerenciando dependências em .NET

Precisamos cuidar bem dele!

Page 38: NuGet - Gerenciando dependências em .NET

O processo de lidar com as dependências, que era muito trabalhoso não é mais!

Page 39: NuGet - Gerenciando dependências em .NET
Page 40: NuGet - Gerenciando dependências em .NET

Gerenciador de pacotes para plataforma .NET

Page 41: NuGet - Gerenciando dependências em .NET

Free e open Source

Page 42: NuGet - Gerenciando dependências em .NET

E o principal objetivo é facilitar o processo de incorporar bibliotecas terceiras

Page 43: NuGet - Gerenciando dependências em .NET

Tá Vinicius, chega de blá blá blá

Page 44: NuGet - Gerenciando dependências em .NET

Como esse tal de NuGet resolve todos os problemas anteriores?

Page 45: NuGet - Gerenciando dependências em .NET
Page 46: NuGet - Gerenciando dependências em .NET
Page 47: NuGet - Gerenciando dependências em .NET
Page 48: NuGet - Gerenciando dependências em .NET
Page 49: NuGet - Gerenciando dependências em .NET
Page 50: NuGet - Gerenciando dependências em .NET
Page 51: NuGet - Gerenciando dependências em .NET

Apenas 1 comando!

Localiza, baixa, instala e configura

Page 52: NuGet - Gerenciando dependências em .NET
Page 53: NuGet - Gerenciando dependências em .NET

\o/

Consigo saber quais dependências estão instaladas no projeto

E descubro para que servem!

Page 54: NuGet - Gerenciando dependências em .NET
Page 55: NuGet - Gerenciando dependências em .NET

Apenas um comando para ver todas atualizações disponíveis

Page 56: NuGet - Gerenciando dependências em .NET
Page 57: NuGet - Gerenciando dependências em .NET

Cuidado!

Atualizações podem ser desastrosas!

Page 58: NuGet - Gerenciando dependências em .NET

Para “atualizar” para uma versão anterior, só removendo a mais nova

Page 59: NuGet - Gerenciando dependências em .NET

Por falar nisso...

Page 60: NuGet - Gerenciando dependências em .NET
Page 61: NuGet - Gerenciando dependências em .NET

Criar um um pacote é simples!

Page 62: NuGet - Gerenciando dependências em .NET

Por que criar um pacote?

Page 63: NuGet - Gerenciando dependências em .NET

Aquela “libzinha” que você criou e usa em N projetos, faça dela um pacote!

Page 64: NuGet - Gerenciando dependências em .NET

É mais fácil do que pegar de uma pasta compartilhada ou do Source Control.

Page 65: NuGet - Gerenciando dependências em .NET

Por sinal, seu build automatizado por ter uma task para gerar um package do NuGet!

Page 66: NuGet - Gerenciando dependências em .NET

1. Criar um XML descritivo

Page 67: NuGet - Gerenciando dependências em .NET

2. Executar a ferramenta NuGet.exe

> NuGet.exe pack pacote.nuspec

Page 68: NuGet - Gerenciando dependências em .NET

Pronto!

Page 69: NuGet - Gerenciando dependências em .NET

Um arquivo .nupkg foi gerado

Page 70: NuGet - Gerenciando dependências em .NET

Um folder com arquivos .nupkg pode ser um source para o NuGet

Page 71: NuGet - Gerenciando dependências em .NET

O repositório local da sua equipe, por exemplo

Page 72: NuGet - Gerenciando dependências em .NET

O NuGet é animal!

Page 73: NuGet - Gerenciando dependências em .NET

Um projeto que ainda não é RTM e já está bastante interessante

Page 74: NuGet - Gerenciando dependências em .NET

Projeto totalmente OSS, os fontes não estão internos na MS!

Page 75: NuGet - Gerenciando dependências em .NET

Há muito para evoluir, mas já é animal!

Page 76: NuGet - Gerenciando dependências em .NET

Em resumo

Page 77: NuGet - Gerenciando dependências em .NET

Gerenciar as dependências é importante!

O NuGet vai te ajudar (e MUITO) com isso!

Page 78: NuGet - Gerenciando dependências em .NET

Valeu!

Page 79: NuGet - Gerenciando dependências em .NET

Infoshttp://nuget.codeplex.com/

http://nuget.codeplex.com/documentation

http://haacked.com/archive/2010/10/06/introducing-nupack-package-manager.aspx

http://viniciusquaiato.com/blog/tag/nuget/

http://www.hanselman.com/blog/IntroducingNuPackPackageManagementForNETAnotherPieceOfTheWebStack.aspx

Page 80: NuGet - Gerenciando dependências em .NET

@vquaiato

http://viniciusquaiato.com

[email protected]

Vinicius Quaiato