.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
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
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
Primeiros passos com Tye
Para começar a usar o Tye:
-
Instale o .NET Core 3.1 (versões superiores não são suportadas) em sua máquina.
- 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"
-
Crie uma nova pasta para seus microsserviços.
- 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
- Execute o projeto frontend, abrindo o painel de controle do Tye:
tye run frontend # run frontend project
tye run frontend # run frontend project
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
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
Benefícios de usar Ty
- 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.
- 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.
- 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.
- 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.
- 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

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.

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

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.

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

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"
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"
Inicialize o Tye usando o seguinte comando:
tye init
tye init
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
Execute o Tye com o seguinte comando:
tye run frontend
tye run frontend
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

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
Agora execute o Tye conforme abaixo:

Isso abrirá o painel de controle 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.

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

Explicação do código
Index.cshtmlcontém o campo de entrada e o botão para capturar o URL do site e acionar a geração do PDF.Index.cshtml.csé o arquivo de código subjacente que contém a lógica para gerar o documento PDF usando o IronPDF.- A classe
ChromePdfRenderere o métodoRenderUrlAsPdf()são usados para gerar o PDF a partir da URL. - A URL gerada é retornada como resposta ao método POST.
- O comando
tye runabrirá o painel de controle do Tye, onde você poderá visualizar todos os serviços em execução. - 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.




