2
respostas

[Dúvida] Aula - Bastidores de um programa C#

No caso dos SDKs, entendi que faz parte do lado desenvolvedor e os runtimes são do lado cliente.

Vamos supor que eu criei uma aplicação que realiza a transferencia de arquivo de uma maquina para outra.

Então nesse caso eu preciso instalar do lado CLIENT o runtime de acordo com a versão do software que eu criei ?

Obrigado.

2 respostas

Oii, Lucas! Como vai?

Excelente pergunta! O seu raciocínio inicial está certíssimo:

  • SDK: É o kit completo. Tem o compilador, as ferramentas de build e o código fonte das bibliotecas. É para nós, desenvolvedores.
  • Runtime: É apenas o "motor" necessário para fazer o programa rodar. É para o usuário final (cliente).

Sobre a sua dúvida da instalação no cliente, a resposta é: Depende de como você "empacota" (publica) a sua aplicação.

No mundo .NET, existem dois caminhos principais:

1. Dependente de framework:

Nesse modelo, você gera o executável da sua aplicação de transferência de arquivos e entrega para o cliente.

  • A resposta é SIM: O cliente precisa ter o Runtime do .NET instalado na máquina dele (na mesma versão ou compatível com a que você usou).
  • Vantagem: O seu arquivo final fica bem pequeno, pois ele "empresta" o motor que já está instalado no Windows/Linux do cliente.

2. Autocontido (Self-Contained)

Aqui, na hora de publicar o seu código, você diz para o compilador: "Coloque o Runtime DENTRO da pasta do meu programa".

  • A resposta é não: O cliente não precisa instalar nada previamente. Ele só baixa seu programa e roda.
  • Vantagem: Facilita a vida do usuário.
  • Desvantagem: O tamanho do seu programa fica maior (pois ele está carregando o Runtime nas costas).

Imagina que sua aplicação é um filme em Blu-ray.

  • No modo Dependente, você entrega só o disco (o app). O cliente precisa ter o aparelho de Blu-ray (o Runtime) na casa dele para assistir.
  • No modo Autocontido, você entrega uma TV com o Blu-ray embutido e o disco dentro. O cliente não precisa ter nada em casa, mas o pacote que você entrega é muito mais pesado e volumoso.

Espero que essa explicação tenha deixado tudo mais claro

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Lorena, estou bem e você ?

Muito boa a explicação, muito obrigado.