AYUDA .NET

tye .NET (Cómo funciona para desarrolladores)

Actualizado agosto 13, 2024
Compartir:

En el panorama moderno del desarrollo de software, la creación e implantación de aplicaciones distribuidas puede resultar compleja y difícil. La gestión de múltiples servicios, dependencias y entornos de despliegue suele requerir un esfuerzo y una coordinación considerables. Para hacer frente a estos retos, Microsoft introdujo Proyecto Tyeuna herramienta para desarrolladores diseñada para simplificar el desarrollo, las pruebas y la implantación de aplicaciones .NET. En este artículo, nos adentraremos en el mundo de Tye, explorando sus características, ventajas y aplicaciones prácticas para desarrolladores .NET. También aprenderemos sobre IronPDFuna biblioteca de generación de PDF de **IronSoftware y utilizar Tye y IronPDF en un ejemplo práctico.

Comprender el proyecto Tye .NET

Tye es una herramienta experimental de código abierto para desarrolladores que agiliza el proceso de creación, prueba e implantación 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 coherente y de opinión para la gestión de microservicios y sus dependencias. En esencia, Tye adopta los principios de la contenedorización, la orquestación y la productividad de los desarrolladores para permitir el desarrollo y la implantación de aplicaciones sin fisuras.

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 entre servicios, lo que facilita la coordinación de la comunicación y la orquestación entre microservicios. Esto facilita el desarrollo de microservicios con múltiples proyectos.

2. Experiencia en desarrollo integrado

Tye se integra perfectamente con Visual Studio y Visual Studio Code, proporcionando un entorno de desarrollo familiar para los desarrolladores .NET. Ofrece herramientas para depurar, registrar y supervisar los componentes de las aplicaciones, lo que permite una rápida iteración y resolución de problemas durante el desarrollo.

3. Contenedores Docker

Tye adopta los contenedores Docker como unidad de despliegue para aplicaciones .NET. Genera automáticamente archivos Docker para cada servicio basándose en las configuraciones del proyecto, lo que facilita la creación de contenedores coherentes y reproducibles en entornos de desarrollo y producción, facilitando las pruebas y el 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 poner en marcha toda la pila de aplicaciones con un solo comando, lo que elimina la necesidad de configurar manualmente las dependencias.

5. Despliegue en Kubernetes

Tye ofrece soporte integrado para la implantación de aplicaciones .NET en clústeres Kubernetes. Genera manifiestos de Kubernetes y diagramas de Helm basados en las 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. Control y observabilidad

Tye se integra con herramientas de observabilidad populares como Prometheus y Grafana para proporcionar información sobre el rendimiento y el estado de las aplicaciones. Expone métricas y registros de los componentes de la aplicación, lo que permite a los desarrolladores supervisar la utilización de los recursos, identificar cuellos de botella y diagnosticar problemas en tiempo real.

Aplicaciones prácticas con Tye

Exploremos algunos escenarios prácticos en los que Tye puede agilizar el desarrollo y la implantación de aplicaciones .NET:

1. Entorno de desarrollo local

# Start Tye in local development mode with tye run command
tye run
# Start Tye in local development mode with tye run command
tye run
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

2. Contenedores Docker

Build Docker images for Tye services with available solution file
tye build
Build Docker images for Tye services with available solution file
tye build
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

3. Despliegue en 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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Primeros pasos con Tye

Para empezar con Tye:

  1. Instalar .NET Core 3.1 (no compatible con versiones superiores) en su máquina.

    1. Instalar Tye como una herramienta global utilizando:
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"
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#
  1. Cree una nueva carpeta para sus microservicios.

    1. Navega hasta la carpeta y crea un proyecto frontend (por ejemplo, Razor Pages):
mkdir microservices
    cd microservices
    dotnet new razor -n frontend  // frontend service or backend service
mkdir microservices
    cd microservices
    dotnet new razor -n frontend  // frontend service or backend service
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'mkdir microservices cd microservices dotnet New razor -n frontend ' frontend service or backend service
VB   C#
  1. Ejecuta el proyecto frontend, el tablero tye:
tye run frontend  // frontend project or backend project
tye run frontend  // frontend project or backend project
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Esto construirá, ejecutará y monitorizará la aplicación frontend. Puede acceder al panel de control 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 personalizar los ajustes. Este archivo YAML incluye todos sus proyectos y dependencias externas. Si ya tienes una solución, Tye la rellenará automáticamente con todos tus proyectos actuales.

Para inicializar este archivo YAML, navegue hasta el directorio de microservicios y ejecute el siguiente comando para generar un archivo tye.yaml por defecto:

tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

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
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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ventajas de utilizar Tye

  1. Flujo de trabajo de desarrollo simplificado: Tye simplifica el flujo de trabajo de desarrollo proporcionando un conjunto unificado de herramientas para crear, probar y depurar aplicaciones .NET localmente.

  2. 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 desplegar aplicaciones en entornos de producción.

  3. Colaboración mejorada: Tye fomenta la colaboración entre los equipos de desarrollo, operaciones y DevOps al proporcionar una plataforma común para gestionar las dependencias de las aplicaciones y las configuraciones de despliegue.

  4. Preparación para la nube nativa: Tye dota a las aplicaciones .NET de 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.

  5. Apoyo y contribución de la comunidad: Como proyecto de código abierto respaldado por Microsoft, Tye se beneficia de una vibrante comunidad de colaboradores y usuarios que contribuyen activamente a su desarrollo, documentación y ecosistema.

Proyecto Tye Licencia

El proyecto Tye incluye Licencia MIT de uso gratuito para fines comerciales y de desarrollo.

Presentación de IronPDF

tye .NET (Cómo funciona para los desarrolladores): Figura 1 - IronPDF for .NET: La biblioteca PDF de C#

IronPDF es una potente biblioteca de C# diseñada para crear, editar y firmar PDF a partir de HTML, CSS, imágenes y JavaScript. Ofrece un rendimiento de nivel comercial con un bajo consumo de memoria.

Principales características de IronPDF

1. Conversión de HTML a PDF

Convierta archivos HTML, cadenas HTML y URL en PDF. Por ejemplo, renderiza una página web como PDF utilizando el renderizador de PDF de Chrome.

2. Soporte multiplataforma

Compatible con varias plataformas .NET, incluidas .NET Core, .NET Standard y .NET Framework. Es compatible con Windows, Linux y macOS.

3. Edición y firma

Establezca propiedades, añada seguridad con contraseñas y permisos, y aplique firmas digitales a sus PDF.

4. Plantillas de página y configuración

Personalice los PDF con encabezados, pies de página, números de página y márgenes ajustables. Admite diseños adaptables y tamaños de papel personalizados.

5. Cumplimiento de las normas

Cumple estándares PDF como PDF/A y PDF/UA. Admite la codificación de caracteres UTF-8 y gestiona activos como imágenes, CSS y fuentes.

Veamos ahora un ejemplo práctico con estas dos bibliotecas.

Generar documento PDF utilizando IronPDF y Tye para ejecutar.

En primer lugar, vamos a crear una aplicación Razor de Visual Studio. Abre Visual studio y crea un nuevo proyecto y selecciona razor app como se muestra abajo.

tye .NET (Cómo funciona para los desarrolladores): Figura 2 - Abra Visual Studio y cree una nueva ASP.NET Core Web App (Páginas Razor).

Indique el nombre y la ubicación del proyecto.

tye .NET (Cómo funciona para los desarrolladores): Figura 3 - Configure el proyecto especificando el Nombre del proyecto y la Ubicación. A continuación, haga clic en Siguiente.

Siguiente paso, seleccione la versión de .NET Framework y haga clic en Crear. Dado que Tye sólo funciona en .NET 3.1 seleccionaremos el mismo

tye .NET (Cómo funciona para los desarrolladores): Figura 4 - Seleccione el marco .NET Core 3.1 y, a continuación, haga clic en Crear.

Instale IronPDF desde el paquete NuGet desde el gestor de paquetes de Visual Studio

tye .NET (Cómo funciona para los desarrolladores): Figura 5 - Instale IronPDF utilizando el Gestor de Paquetes NuGet para Solución buscando "IronPDF" en la barra de búsqueda del Gestor de Paquetes NuGet, luego seleccione el proyecto y haga clic en el botón Instalar.

A continuación, abra el explorador de archivos y vaya a la carpeta de soluciones. A continuación, abra el símbolo del sistema CMD.

Instale Tye utilizando el siguiente 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"
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

O si ya tienes Tye instalado y quieres actualizarlo usa el siguiente comando:

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"
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Inicializa Tye usando el siguiente comando

tye init
tye init
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Esto creará un archivo YAML de plantilla como el siguiente

# 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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ejecute Tye con el siguiente comando

tye run frontend
tye run frontend
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Esto abrirá el panel de control de Tye en la URL: http://127.0.0.1:8000/ para ver la aplicación en ejecución.

Cuadro de mandos de Tye

tye .NET (Cómo funciona para desarrolladores): Figura 6 - Aplicación Razor ejecutándose con Tye en localhost

A continuación, añada el siguiente código al proyecto para generar un documento PDF a partir de la URL de cualquier sitio web con sólo pulsar un botón.

Añada 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:
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>
@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:
    <button type="submit">Generate PDF</button>
    @if (Model.Message != null)
    {
        <p>@Model.Message</p>
    }
</form>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

A continuación, 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 some text.");
                return Page();
            }
            // Create PDF from 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 some text.");
                return Page();
            }
            // Create PDF from 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");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ahora ejecute Tye como se indica a continuación:

tye .NET (Cómo funciona para desarrolladores): Figura 7 - Tipo de ejecución mediante el comando: tye run frontend

Se abrirá el panel de control de Tye

tye .NET (Cómo funciona para desarrolladores): Figura 8 - Panel de control de Tye

Ahora haga clic en cualquiera de los enlaces de la sección de enlaces para abrir la aplicación del generador de PDF e introduzca una URL de ejemplo para la generación de PDF.

tye .NET (Cómo funciona para desarrolladores): Figura 9 - Generador de URL a PDF utilizando IronPDF

Haga clic en el botón Generar para obtener el siguiente PDF como salida

tye .NET (Cómo funciona para desarrolladores): Figura 10 - Conversión de URL HTML a PDF mediante IronPDF

Explicación del código

  1. Index.cshtml contiene el botón y la entrada para tomar URL del sitio web y desencadenar la generación de PDF

  2. Index.cshtml.cs contiene el código necesario para generar el documento PDF utilizando IronPDF

  3. Utilizamos la clase ChromePdfRenderer y RenderUrlAsPdf() para generar el PDF a partir de la URL

  4. Esta URL generada se devuelve como respuesta del método Post.

  5. El comando Tye Run lanzará el panel de control de Tye donde podrá ver todos los servicios en ejecución

  6. Haga clic en el servicio Frontend y abra la aplicación para generar los documentos PDF

Licencia IronPDF

IronPDF página.

Coloque la clave de licencia en el archivo appSettings.json como se muestra a continuación:

{
  "IronPdf.License.LicenseKey" : "The Key Here"
}
{
  "IronPdf.License.LicenseKey" : "The Key Here"
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Conclusión

En conclusión, Tye representa un avance significativo en el ecosistema .NET, ya que ofrece un enfoque simplificado para crear, probar e implantar aplicaciones distribuidas. Tanto si es un desarrollador .NET experimentado como si es nuevo en el campo de la contenedorización y los microservicios, Tye proporciona una plataforma fácil de usar para adoptar prácticas de desarrollo modernas y acelerar su viaje hacia la arquitectura nativa en la nube.

IronPDF es una biblioteca .NET que permite a los desarrolladores crear, manipular y renderizar fácilmente documentos PDF a partir de contenido HTML. Admite la conversión de HTML a PDF, la fusión y división de PDF y la adición de encabezados, pies de página y marcas de agua. IronPDF es conocido por su facilidad de uso, su renderizado de alta calidad y su compatibilidad con aplicaciones .NET Core y .NET Framework. Conociendo tanto IronPDF biblioteca y Tye los desarrolladores pueden adquirir conocimientos avanzados para desarrollar aplicaciones modernas con funciones de generación de PDF.

< ANTERIOR
C# Nito.Asyncex (Cómo funciona para desarrolladores)
SIGUIENTE >
Quartz .NET (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.9 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,516,730 View Licenses >