Ir para o conteúdo do rodapé
AJUDA DO .NET

.NET (Como funciona para desenvolvedores)

No cenário atual de desenvolvimento de software, construir e implantar aplicativos distribuídos pode ser complexo e desafiador. Gerenciar múltiplos serviços, dependências e ambientes de implantação geralmente exige esforço e coordenação consideráveis. Para enfrentar esses desafios, a Microsoft lançou o Project Tye , uma ferramenta para desenvolvedores projetada para simplificar o desenvolvimento, teste e implantação de aplicativos .NET . Neste artigo, vamos mergulhar no mundo do Tye , explorando seus recursos, benefícios e aplicações práticas para desenvolvedores .NET . Também aprenderemos sobre o IronPDF , uma biblioteca de geração de PDF da Iron Software , e usaremos o Tye e o IronPDF em um exemplo prático.

Entendendo o Projeto Tye .NET

Tye é uma ferramenta de desenvolvimento experimental de código aberto que simplifica o processo de criação, teste e implantação de aplicativos de projetos .NET com configuração mínima. Desenvolvido pela equipe de engenharia da Microsoft, o Tye visa simplificar o fluxo de trabalho de desenvolvimento, fornecendo uma abordagem consistente e bem definida para o gerenciamento de microsserviços e suas dependências. Em sua essência, o Tye adota os princípios de conteinerização, orquestração e produtividade do desenvolvedor para permitir o desenvolvimento e a implantação de aplicativos de forma integrada.

Principais características do Tye .NET

1. Descoberta de Serviços e Gerenciamento de Dependências

O Tye detecta e gerencia automaticamente as dependências entre serviços dentro de uma aplicação .NET . Ele utiliza metadados do projeto e contêineres Docker para inferir relações entre serviços, facilitando a coordenação da comunicação e a orquestração entre microsserviços. Isso facilita o desenvolvimento de microsserviços em múltiplos projetos.

2. Experiência de Desenvolvimento Integrado

O Tye integra-se perfeitamente com o Visual Studio e o Visual Studio Code, proporcionando um ambiente de desenvolvimento familiar para desenvolvedores .NET . Oferece ferramentas para depuração, registro e monitoramento de componentes de aplicativos, permitindo iteração rápida e solução de problemas durante o desenvolvimento.

3. Containerização com Docker

A Tye adota contêineres Docker como unidade de implantação para aplicativos .NET . Ele gera automaticamente Dockerfiles para cada serviço com base nas configurações do projeto, facilitando a criação de contêineres consistentes e reproduzíveis em ambientes de desenvolvimento e produção, simplificando os testes e a implantação de microsserviços.

4. Ambiente de Desenvolvimento Local

Tye simplifica o desenvolvimento local ao orquestrar dependências e serviços em um único ambiente. Os desenvolvedores podem iniciar toda a pilha de aplicativos com um único comando, eliminando a necessidade de configuração manual de dependências.

5. Implantação no Kubernetes

O Tye oferece suporte integrado para a implantação de aplicativos .NET em clusters Kubernetes. Ele gera manifestos do Kubernetes e gráficos do Helm com base nas especificações do projeto, simplificando o processo de implantação e promovendo as melhores práticas para orquestração de contêineres em ambientes nativos da nuvem.

6. Monitoramento e Observabilidade

O Tye se integra a ferramentas populares de observabilidade, como Prometheus e Grafana, para fornecer informações sobre o desempenho e a integridade do aplicativo. Ele expõe métricas e registros de componentes de aplicativos, permitindo que os desenvolvedores monitorem a utilização de recursos, identifiquem gargalos e diagnostiquem problemas em tempo real.

Aplicações práticas com Tye

Vamos explorar alguns cenários práticos onde o Tye pode simplificar o desenvolvimento e a implantação de aplicações .NET :

1. Ambiente de Desenvolvimento Local

# Start Tye in local development mode with the tye run command
tye run
# Start Tye in local development mode with the tye run command
tye run
SHELL

2. Containerização com Docker

# Build Docker images for Tye services with the available solution file
tye build
# Build Docker images for Tye services with the available solution file
tye build
SHELL

3. Implantação no Kubernetes

# Deploy Tye application to Kubernetes cluster 
tye deploy --interactive # deploy microservices and distributed applications
# Deploy Tye application to Kubernetes cluster 
tye deploy --interactive # deploy microservices and distributed applications
SHELL

Primeiros passos com Tye

Para começar a usar o Tye:

  1. Instale o .NET Core 3.1 (versões superiores não são suportadas) em sua máquina.

  2. Instale o Tye como uma ferramenta global usando:
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
SHELL
  1. Crie uma nova pasta para seus microsserviços.

  2. Navegue até a pasta e crie um projeto de front-end (por exemplo, Razor Pages):
mkdir microservices
cd microservices
dotnet new razor -n frontend  # frontend service
mkdir microservices
cd microservices
dotnet new razor -n frontend  # frontend service
SHELL
  1. Execute o projeto frontend, abrindo o painel de controle do Tye:
tye run frontend  # run frontend project
tye run frontend  # run frontend project
SHELL

Isso irá compilar, executar e monitorar a aplicação de front-end. Você pode acessar o painel de controle da Tye em http://localhost:8000 para visualizar o status dos seus serviços.

Esquema de Configuração de Tye

Tye possui um arquivo de configuração opcional, tye.yaml, que permite a personalização das configurações. Este arquivo YAML inclui todos os seus projetos e dependências externas. Se você já possui uma solução, o Tye a preencherá automaticamente com todos os seus projetos atuais.

Para inicializar este arquivo YAML, navegue até o diretório de microsserviços e execute o seguinte comando para gerar um arquivo padrão tye.yaml:

tye init
tye init
SHELL

Um arquivo tye.yaml é criado conforme mostrado abaixo:

name: myawesomeapplication
services:
- name: backendtest
  project: backend/backend.csproj
  bindings:
  - port: 7000
- name: frontendtest
  project: frontend/frontend.csproj
  replicas: 2
  bindings:
  - port: 8000
- name: workertest
  project: worker/worker.csproj
- name: rabbit
  image: rabbitmq:3-management
  bindings:
    - port: 5672
      protocol: rabbitmq
name: myawesomeapplication
services:
- name: backendtest
  project: backend/backend.csproj
  bindings:
  - port: 7000
- name: frontendtest
  project: frontend/frontend.csproj
  replicas: 2
  bindings:
  - port: 8000
- name: workertest
  project: worker/worker.csproj
- name: rabbit
  image: rabbitmq:3-management
  bindings:
    - port: 5672
      protocol: rabbitmq
YAML

Benefícios de usar Ty

  1. Fluxo de trabalho de desenvolvimento simplificado: O Tye simplifica o fluxo de trabalho de desenvolvimento, fornecendo um conjunto de ferramentas unificado para criar, testar e depurar aplicativos .NET localmente.
  2. Aceleração do tempo de lançamento no mercado: Ao automatizar tarefas comuns, como descoberta de serviços, gerenciamento de dependências e conteinerização, a Tye reduz o tempo e o esforço necessários para implantar aplicativos em ambientes de produção.
  3. Colaboração aprimorada: Tye promove a colaboração entre as equipes de desenvolvimento, operações e DevOps, fornecendo uma plataforma comum para gerenciar dependências de aplicativos e configurações de implantação.
  4. Preparação para ambientes nativos da nuvem: A Tye fornece aos aplicativos .NET as ferramentas e práticas necessárias para serem executados em ambientes nativos da nuvem, como o Kubernetes, permitindo que as organizações adotem paradigmas de infraestrutura modernos com confiança.
  5. Suporte e Contribuição da Comunidade: Como um projeto de código aberto apoiado pela Microsoft, o Tye se beneficia de uma comunidade vibrante de colaboradores e usuários que contribuem ativamente para seu desenvolvimento, documentação e ecossistema.

Licença do Projeto Tye

O Project Tye vem com a Licença MIT , que é gratuita para uso em desenvolvimento e para fins comerciais.

Apresentando o IronPDF

tye .NET (Como funciona para desenvolvedores): Figura 1 - IronPDF for .NET: A biblioteca PDF em C#

IronPDF é uma poderosa biblioteca C# projetada para criar, editar e assinar PDFs a partir de HTML, CSS, imagens e JavaScript. Oferece desempenho de nível comercial com baixo consumo de memória.

Principais características do IronPDF

1. Conversão de HTML para PDF

Converter arquivos HTML, strings HTML e URLs em PDFs. Por exemplo, renderize uma página da web como um PDF usando o renderizador de PDF do Chrome.

2. Suporte multiplataforma

Compatível com diversas plataformas .NET , incluindo .NET Core, .NET Standard e .NET Framework. É compatível com Windows, Linux e macOS.

3. Edição e Assinatura

Configure propriedades, adicione segurança com senhas e permissões e aplique assinaturas digitais aos seus PDFs.

4. Modelos de página e configurações

Personalize PDFs com cabeçalhos, rodapés, números de página e margens ajustáveis. Suporta layouts responsivos e tamanhos de papel personalizados.

5. Conformidade com as normas

Está em conformidade com os padrões PDF, como PDF/A e PDF/UA. Suporta codificação de caracteres UTF-8 e lida com recursos como imagens, CSS e fontes.

Vejamos agora um exemplo prático utilizando essas duas bibliotecas.

Gere um documento PDF usando o IronPDF e tente executar.

Primeiro, vamos criar um aplicativo Razor no Visual Studio. Abra o Visual Studio, crie um novo projeto e selecione o aplicativo Razor , conforme mostrado abaixo.

tye .NET (Como funciona para desenvolvedores): Figura 2 - Abra o Visual Studio e crie um novo aplicativo Web ASP.NET Core (Razor Pages).

Forneça o nome e a localização do projeto.

tye .NET (Como funciona para desenvolvedores): Figura 3 - Configure o projeto especificando o nome e o local do projeto. Em seguida, clique em Avançar.

Na próxima etapa, selecione a versão do .NET Framework e clique em Criar. Como o Tye funciona apenas no .NET 3.1, selecionaremos essa versão.

tye .NET (Como funciona para desenvolvedores): Figura 4 - Selecione o framework .NET Core 3.1 e clique em Criar.

Instale o IronPDF a partir do pacote NuGet no Gerenciador de Pacotes do Visual Studio.

tye .NET (How It Works For Developers): Figure 5 - Install IronPDF using the Manage NuGet Package for Solution by searching IronPDF in the search bar of NuGet Package Manager, then select the project and click on the Install button.

Em seguida, abra o Explorador de Arquivos e navegue até a pasta da solução. Em seguida, abra o prompt de comando (CMD).

Instale o Tye usando o seguinte comando:

dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
SHELL

OU, se você já tiver o Tye instalado e quiser atualizá-lo, use o comando abaixo:

dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
SHELL

Inicialize o Tye usando o seguinte comando:

tye init
tye init
SHELL

Isso criará um arquivo YAML de modelo como o seguinte:

# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
  project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
  # executable: app.exe # path to an executable (relative to this file)
    args: -f=netcoreapp3.1 # arguments to pass to the process
  # replicas: 5 # number of times to launch the application
  # env: # array of environment variables
  #  - name: key
  #    value: value
  # bindings: # optional array of bindings (ports, connection strings)
    # - port: 8080 # number port of the binding
# tye application configuration file
# read all about it at https://github.com/dotnet/tye
#
# when you've given us a try, we'd love to know what you think:
#    https://aka.ms/AA7q20u
#
# define global settings here
# name: exampleapp # application name
# registry: exampleuser # dockerhub username or container registry hostname
# define multiple services here
services:
- name: frontend
  project: Frontend\Frontend.csproj # msbuild project path (relative to this file)
  # executable: app.exe # path to an executable (relative to this file)
    args: -f=netcoreapp3.1 # arguments to pass to the process
  # replicas: 5 # number of times to launch the application
  # env: # array of environment variables
  #  - name: key
  #    value: value
  # bindings: # optional array of bindings (ports, connection strings)
    # - port: 8080 # number port of the binding
YAML

Execute o Tye com o seguinte comando:

tye run frontend
tye run frontend
SHELL

Isso abrirá o painel de controle do Tye no endereço URL: http://127.0.0.1:8000/ para visualizar o aplicativo em execução.

Painel de controle Tye

tye .NET (Como funciona para desenvolvedores): Figura 6 - Aplicativo Razor em execução usando Tye em localhost

Em seguida, adicione o código abaixo ao projeto para gerar um documento PDF a partir de qualquer URL de site com um clique de um botão.

Adicione o código abaixo ao arquivo Index.cshtml:

@page
@model IndexModel
@{
    ViewData["Title"] = "Generate PDF";
}
<form method="post" class="text-center flex-row">
    <h1 class="display-4">Welcome To URL To PDF Generator</h1>
    <p>Enter Website URL:</p>
    <input type="text" asp-for="UrlInput" />
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>

Em seguida, adicione o código abaixo a Index.cshtml.cs:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;

namespace Frontend.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; }

        [BindProperty]
        public string UrlInput { get; set; }

        private readonly ILogger<IndexModel> _logger;

        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }

        public void OnGet()
        {
        }

        public IActionResult OnPost()
        {
            if (string.IsNullOrEmpty(UrlInput))
            {
                ModelState.AddModelError("UrlInput", "Please enter a URL.");
                return Page();
            }

            // Create a PDF from the given URL using ChromePdfRenderer
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderUrlAsPdf(UrlInput);

            // Return the PDF as a file result
            var pdfBytes = pdf.BinaryData;
            return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
        }
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Logging;

namespace Frontend.Pages
{
    public class IndexModel : PageModel
    {
        public string Message { get; set; }

        [BindProperty]
        public string UrlInput { get; set; }

        private readonly ILogger<IndexModel> _logger;

        public IndexModel(ILogger<IndexModel> logger)
        {
            _logger = logger;
        }

        public void OnGet()
        {
        }

        public IActionResult OnPost()
        {
            if (string.IsNullOrEmpty(UrlInput))
            {
                ModelState.AddModelError("UrlInput", "Please enter a URL.");
                return Page();
            }

            // Create a PDF from the given URL using ChromePdfRenderer
            var renderer = new ChromePdfRenderer();
            var pdf = renderer.RenderUrlAsPdf(UrlInput);

            // Return the PDF as a file result
            var pdfBytes = pdf.BinaryData;
            return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf");
        }
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Mvc.RazorPages
Imports Microsoft.Extensions.Logging

Namespace Frontend.Pages
	Public Class IndexModel
		Inherits PageModel

		Public Property Message() As String

		<BindProperty>
		Public Property UrlInput() As String

		Private ReadOnly _logger As ILogger(Of IndexModel)

		Public Sub New(ByVal logger As ILogger(Of IndexModel))
			_logger = logger
		End Sub

		Public Sub OnGet()
		End Sub

		Public Function OnPost() As IActionResult
			If String.IsNullOrEmpty(UrlInput) Then
				ModelState.AddModelError("UrlInput", "Please enter a URL.")
				Return Page()
			End If

			' Create a PDF from the given URL using ChromePdfRenderer
			Dim renderer = New ChromePdfRenderer()
			Dim pdf = renderer.RenderUrlAsPdf(UrlInput)

			' Return the PDF as a file result
			Dim pdfBytes = pdf.BinaryData
			Return File(pdfBytes, "application/pdf", "GeneratedDocument.pdf")
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Agora execute o Tye conforme abaixo:

tye .NET (Como funciona para desenvolvedores): Figura 7 - Execute o tye usando o comando: tye run frontend

Isso abrirá o painel de controle do Tye.

tye .NET (Como funciona para desenvolvedores): Figura 8 - Painel do Tye

Agora, clique em qualquer um dos links na seção de vinculações para abrir o aplicativo gerador de PDF e insira um URL de exemplo para a geração do PDF.

tye .NET (Como funciona para desenvolvedores): Figura 9 - Gerador de URL para PDF usando IronPDF

Clique no botão "Gerar" para obter o seguinte PDF como resultado:

tye .NET (Como funciona para desenvolvedores): Figura 10 - Conversão de URL HTML para PDF usando IronPDF

Explicação do código

  1. Index.cshtml contém o campo de entrada e o botão para capturar o URL do site e acionar a geração do PDF.
  2. Index.cshtml.cs é o arquivo de código subjacente que contém a lógica para gerar o documento PDF usando o IronPDF.
  3. A classe ChromePdfRenderer e o método RenderUrlAsPdf() são usados ​​para gerar o PDF a partir da URL.
  4. A URL gerada é retornada como resposta ao método POST.
  5. O comando tye run abrirá o painel de controle do Tye, onde você poderá visualizar todos os serviços em execução.
  6. Clique no serviço Frontend no painel de controle do Tye para abrir o aplicativo e gerar os documentos PDF.

Licença IronPDF

Visite a página de licenciamento do IronPDF .

Insira a chave de licença no arquivo appSettings.json conforme mostrado abaixo:

{
  "IronPdf.License.LicenseKey": "The Key Here"
}

Conclusão

Em conclusão, o Tye representa um avanço significativo no ecossistema .NET , oferecendo uma abordagem simplificada para criar, testar e implantar aplicativos distribuídos. Seja você um desenvolvedor .NET experiente ou iniciante em conteinerização e microsserviços, o Tye oferece uma plataforma intuitiva para adotar práticas modernas de desenvolvimento e acelerar sua jornada rumo à arquitetura nativa da nuvem.

IronPDF é uma biblioteca .NET que permite aos desenvolvedores criar, manipular e renderizar documentos PDF a partir de conteúdo HTML com facilidade. Ele permite converter HTML em PDF, mesclar e dividir PDFs, além de adicionar cabeçalhos, rodapés e marcas d'água. O IronPDF é conhecido por sua facilidade de uso, renderização de alta qualidade e compatibilidade com aplicativos .NET Core e .NET Framework . Conhecendo tanto a biblioteca IronPDF quanto a ferramenta de compilação Tye , os desenvolvedores podem adquirir habilidades avançadas para desenvolver aplicativos modernos com recursos de geração de PDF.

Perguntas frequentes

Como a Tye pode simplificar o desenvolvimento de aplicações .NET?

Tye simplifica o desenvolvimento de aplicações .NET ao gerenciar microsserviços e suas dependências com configuração mínima. Ele utiliza ferramentas de conteinerização e orquestração como Docker e Kubernetes para otimizar os processos de construção, teste e implantação.

Quais são os benefícios de usar o Tye para descoberta de serviços em aplicações .NET?

Tye aprimora a descoberta de serviços em aplicações .NET, detectando automaticamente dependências entre microsserviços, utilizando metadados do projeto e contêineres Docker para facilitar a comunicação e a orquestração perfeitas.

Como o Tye se integra ao Visual Studio e ao Visual Studio Code?

O Tye integra-se com o Visual Studio e o Visual Studio Code, fornecendo aos desenvolvedores ferramentas de depuração, registro e monitoramento, o que melhora a experiência de desenvolvimento e a produtividade para aplicativos .NET.

Como os contêineres Docker podem ser utilizados com o Tye?

O Tye utiliza contêineres Docker para implantar aplicações .NET. Ele cria Dockerfiles automaticamente para cada serviço com base nas configurações do projeto, garantindo que as compilações dos contêineres sejam consistentes e reproduzíveis em diferentes ambientes.

Quais são os passos envolvidos na implantação de aplicações .NET no Kubernetes usando o Tye?

Para implantar aplicações .NET no Kubernetes usando o Tye, a ferramenta gera manifestos do Kubernetes e gráficos Helm a partir das especificações do projeto. Isso simplifica o processo de implantação, automatizando a criação dos recursos necessários para um cluster Kubernetes.

Como o IronPDF pode aprimorar aplicativos .NET com funcionalidades de PDF?

O IronPDF aprimora aplicativos .NET, fornecendo recursos para criar, manipular e renderizar PDFs a partir de conteúdo HTML. Ele oferece suporte à conversão de HTML para PDF, edição de PDF e adição de elementos como cabeçalhos e rodapés, expandindo assim a funcionalidade dos aplicativos.

O que torna o Tye adequado para o desenvolvimento de aplicações nativas da nuvem?

O Tye é adequado para o desenvolvimento de aplicações nativas da nuvem, pois fornece às aplicações .NET ferramentas e práticas essenciais para execução em ambientes como o Kubernetes, facilitando a adoção de infraestrutura moderna e paradigmas de implantação.

Como os desenvolvedores podem começar a usar o Tye rapidamente?

Os desenvolvedores podem começar a usar o Tye instalando o .NET Core 3.1, configurando o Tye como uma ferramenta global e usando comandos como tye run para executar aplicativos. O painel de controle do Tye ajuda a monitorar e gerenciar serviços com eficiência.

Quais são os termos de licenciamento aplicáveis ao uso do Project Tye?

O Project Tye é distribuído sob a Licença MIT, permitindo o uso gratuito tanto para desenvolvimento quanto para fins comerciais, facilitando a ampla adoção em diversos projetos.

Como a Tye promove um tempo de lançamento no mercado mais rápido para aplicativos .NET?

A Tye acelera o tempo de lançamento no mercado automatizando tarefas comuns de desenvolvimento, melhorando a colaboração da equipe e aprimorando a prontidão para a nuvem, o que, em conjunto, simplifica o fluxo de trabalho de desenvolvimento e reduz os custos operacionais.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim