
tye .NET (Cómo Funciona para Desarrolladores)
En el panorama moderno del desarrollo de software, construir y desplegar aplicaciones distribuidas puede ser complejo y desafiante. Gestionar múltiples servicios, dependencias y entornos de despliegue a menudo requiere un esfuerzo significativo y coordinación. Para abordar estos desafíos, Microsoft introdujo Project Tye, una herramienta para desarrolladores diseñada para simplificar el desarrollo, prueba y despliegue de aplicaciones .NET. En este artículo, ahondaremos en el mundo de Tye, explorando sus características, beneficios y aplicaciones prácticas para desarrolladores .NET. También aprenderemos sobre IronPDF, una librería de generación de PDF de Iron Software, y usaremos Tye e IronPDF en un ejemplo práctico.
Entendiendo Project Tye .NET
Tye es una herramienta experimental de código abierto para desarrolladores que agiliza el proceso de construcción, prueba y despliegue de aplicaciones de proyectos .NET con una configuración mínima. Desarrollado por el equipo de ingeniería de Microsoft, Tye tiene como objetivo simplificar el flujo de trabajo de desarrollo proporcionando un enfoque consistente y dirigido para gestionar microservicios y sus dependencias. En su núcleo, Tye adopta los principios de la contenedorización, orquestación y productividad del desarrollador para permitir un desarrollo y despliegue de aplicaciones sin problemas.
Características principales de Tye .NET
1. Descubrimiento de servicios y gestión de dependencias
Tye detecta y gestiona automáticamente las dependencias entre servicios dentro de una aplicación .NET. Aprovecha los metadatos del proyecto y los contenedores Docker para inferir las relaciones de servicio, facilitando la coordinación de comunicación y orquestación entre microservicios. Esto hace que el desarrollo de microservicios sea más fácil con múltiples proyectos.
2. Experiencia en desarrollo integrado
Tye se integra sin problemas con Visual Studio y Visual Studio Code, proporcionando un entorno de desarrollo familiar para los desarrolladores .NET. Ofrece herramientas para depuración, registro y monitoreo de componentes de la aplicación, permitiendo una rápida iteración y solución de problemas durante el desarrollo.
3. Contenedores Docker
Tye adopta los contenedores Docker como unidad de despliegue para aplicaciones .NET. Genera automáticamente Dockerfiles para cada servicio basado en configuraciones de proyecto, facilitando la construcción de contenedores consistentes y reproducibles en entornos de desarrollo y producción, haciendo fácil la prueba y despliegue de microservicios.
4. Entorno de desarrollo local
Tye simplifica el desarrollo local orquestando dependencias y servicios dentro de un único entorno. Los desarrolladores pueden iniciar toda la pila de aplicaciones con un solo comando, eliminando la necesidad de configuraciones e instalaciones manuales de dependencias.
5. Despliegue en Kubernetes
Tye ofrece soporte integrado para desplegar aplicaciones .NET a clústeres de Kubernetes. Genera manifiestos de Kubernetes y gráficos Helm basados en especificaciones del proyecto, agilizando el proceso de despliegue y promoviendo las mejores prácticas para la orquestación de contenedores en entornos nativos de la nube.
6. Monitorización y observabilidad
Tye se integra con herramientas de observabilidad populares como Prometheus y Grafana para proporcionar información sobre el rendimiento y la salud de la aplicación. Expone métricas y registros de los componentes de la aplicación, permitiendo a los desarrolladores monitorear la utilización de recursos, identificar cuellos de botella y diagnosticar problemas en tiempo real.
Aplicaciones prácticas con Tye
Exploremos algunos escenarios prácticos donde Tye puede agilizar el desarrollo y despliegue de aplicaciones .NET:
1. Entorno de desarrollo local
# Start Tye in local development mode with the tye run command
tye run
2. Contenedores Docker
# Build Docker images for Tye services with the available solution file
tye build
3. Despliegue en Kubernetes
# Deploy Tye application to Kubernetes cluster
tye deploy --interactive # deploy microservices and distributed applications
Cómo empezar con Tye
Para comenzar con Tye:
-
Instala .NET Core 3.1 (no es compatible con versiones superiores) en tu máquina.
-
Instala Tye como una herramienta global usando:
dotnet tool install -g Microsoft.Tye --version "0.2.0-alpha.20258.3"
-
Crea una nueva carpeta para tus microservicios.
-
Navega a la carpeta y crea un proyecto de frontend (por ejemplo, Razor Pages):
mkdir microservices
cd microservices
dotnet new razor -n frontend # frontend service
- Ejecuta el proyecto de frontend, lanzando el tablero de Tye:
tye run frontend # run frontend project
Esto construirá, ejecutará y monitoreará la aplicación de frontend. Puede acceder al panel de Tye en http://localhost:8000 para ver el estado de sus servicios.
Esquema de configuración de Tye
Tye tiene un archivo de configuración opcional, tye.yaml, que permite la personalización de configuraciones. Este archivo YAML incluye todos tus proyectos y dependencias externas. Si tienes una solución existente, Tye la poblará automáticamente con todos tus proyectos actuales.
Para inicializar este archivo YAML, navegue al directorio de microservicios y ejecute el siguiente comando para generar un archivo tye.yaml por defecto:
tye init
Se crea un archivo tye.yaml como se muestra a continuación:
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
Beneficios del uso de Tye
- Flujo de trabajo de desarrollo simplificado: Tye simplifica el flujo de trabajo de desarrollo al proporcionar un conjunto de herramientas unificado para crear, probar y depurar aplicaciones .NET localmente.
- Tiempo de comercialización acelerado: al automatizar tareas comunes como el descubrimiento de servicios, la gestión de dependencias y la contenedorización, Tye reduce el tiempo y el esfuerzo necesarios para implementar aplicaciones en entornos de producción.
- Colaboración mejorada: Tye promueve la colaboración entre los equipos de desarrollo, operaciones y DevOps al proporcionar una plataforma común para administrar las dependencias de las aplicaciones y las configuraciones de implementación.
- Preparación nativa de la nube: Tye equipa las aplicaciones .NET con las herramientas y prácticas necesarias para ejecutarse en entornos nativos de la nube, como Kubernetes, lo que permite a las organizaciones adoptar paradigmas de infraestructura modernos con confianza.
- Soporte y contribución de la comunidad: como proyecto de código abierto respaldado por Microsoft, Tye se beneficia de una comunidad vibrante de colaboradores y usuarios que contribuyen activamente a su desarrollo, documentación y ecosistema.
Licencia de Project Tye
Project Tye viene con Licencia MIT que es gratuita para uso tanto en desarrollo como en propósitos comerciales.
Presentando IronPDF

IronPDF es una poderosa biblioteca C# diseñada para crear, editar y firmar PDFs a partir de HTML, CSS, imágenes y JavaScript. Ofrece un rendimiento de calidad comercial con un bajo uso de memoria.
Características principales de IronPDF
1. Conversión de HTML a PDF
Convierte archivos HTML, cadenas HTML y URLs a PDFs. Por ejemplo, renderiza una página web como PDF utilizando el renderizador PDF de Chrome.
2. Soporte multiplataforma
Compatible con varias plataformas .NET, incluyendo .NET Core, .NET Standard y .NET Framework. Es compatible con Windows, Linux y macOS.
3. Edición y firma
Establece propiedades, añade seguridad con contraseñas y permisos, y aplica firmas digitales a tus PDFs.
4. Plantillas de página y configuración
Personaliza PDFs con encabezados, pies de página, números de página y márgenes ajustables. Soporta diseños responsivos y tamaños de papel personalizados.
5. Cumplimiento de estándares
Adhiere a normas PDF como PDF/A y PDF/UA. Soporta codificación de caracteres UTF-8 y maneja activos como imágenes, CSS y fuentes.
Ahora veamos un ejemplo práctico utilizando estas dos bibliotecas.
Generar un documento PDF con IronPDF y Tye to Run
Primero, creemos una aplicación Visual Studio Razor. Abre Visual Studio y crea un nuevo proyecto y selecciona la aplicación Razor como se muestra a continuación.

Proporciona el nombre y la ubicación del proyecto.

En el siguiente paso, selecciona la versión del .NET Framework y haz clic en Crear. Dado que Tye solo funciona en .NET 3.1, seleccionaremos el mismo.

Instala IronPDF desde el Paquete NuGet desde el Administrador de Paquetes de Visual Studio.

Luego, abre el Explorador de Archivos y navega a la carpeta de la solución. Luego abre el CMD.
Instala Tye usando el siguiente comando:
dotnet tool install -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
O si ya tienes Tye instalado y deseas actualizarlo, usa el siguiente comando:
dotnet tool update -g Microsoft.Tye --version "0.11.0-alpha.22111.1"
Inicializa Tye usando el siguiente comando:
tye init
Esto creará una plantilla de archivo YAML como la de abajo:
# 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
Ejecuta Tye con el siguiente comando:
tye run frontend
Esto abrirá el panel de Tye en la URL: http://127.0.0.1:8000/ para ver la aplicación en ejecución.
Panel de control de Tye

A continuación, agrega el siguiente código al proyecto para generar un documento PDF desde cualquier URL de sitio web con un clic de un botón.
Agregue el siguiente código al archivo 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>
Luego agregue el siguiente código 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");
}
}
}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(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 NamespaceAhora ejecuta Tye así:

Esto lanzará el tablero de Tye.

Ahora haz clic en cualquiera de los enlaces en la sección de enlaces para abrir la aplicación generadora de PDF e ingresa una URL de muestra para la generación de PDF.

Haz clic en el botón de generar para obtener el siguiente PDF como salida:

Explicación del Código
Index.cshtmlcontiene el campo de entrada y el botón para capturar la URL del sitio web y activar la generación del PDF.Index.cshtml.cses el archivo de código subyacente que contiene la lógica para generar el documento PDF utilizando IronPDF.- La clase
ChromePdfRenderery el métodoRenderUrlAsPdf()se usan para generar el PDF desde la URL. - La URL generada se devuelve como respuesta al método POST.
- El comando
tye runlanzará el panel de Tye donde puede ver todos los servicios en ejecución. - Haz clic en el servicio Frontend en el tablero de Tye para abrir la aplicación y generar los documentos PDF.
Licencia de IronPDF
Visita la página de Licencias de IronPDF.
Coloque la clave de licencia en el archivo appSettings.json como se muestra a continuación:
{
"IronPdf.License.LicenseKey": "The Key Here"
}
Conclusión
En conclusión, Tye representa un avance significativo en el ecosistema .NET, ofreciendo un enfoque simplificado para construir, probar y desplegar aplicaciones distribuidas. Ya seas un desarrollador .NET experimentado o nuevo en contenerización y microservicios, Tye proporciona una plataforma fácil de usar para adoptar prácticas de desarrollo modernas y acelerar tu camino hacia una arquitectura nativa de la nube.
IronPDF es una biblioteca .NET que permite a los desarrolladores crear, manipular y renderizar documentos PDF desde contenido HTML fácilmente. Soporta convertir HTML a PDF, fusionar y dividir PDFs, y añadir encabezados, pies de página y marcas de agua. IronPDF se conoce por su facilidad de uso, renderizado de alta calidad y compatibilidad con aplicaciones .NET Core y .NET Framework. Conociendo tanto la biblioteca IronPDF como la herramienta de construcción Tye, los desarrolladores pueden adquirir habilidades avanzadas para desarrollar aplicaciones modernas con capacidades de generación de PDF.

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.
Artículos Relacionados


