AIDE .NET

tye .NET (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

Dans le paysage moderne du développement de logiciels, la création et le déploiement d'applications distribuées peuvent s'avérer complexes et difficiles. La gestion de multiples services, dépendances et environnements de déploiement nécessite souvent des efforts et une coordination importants. Pour relever ces défis, Microsoft a introduitProjet Tyeun outil de développement conçu pour simplifier le développement, le test et le déploiement d'applications .NET. Dans cet article, nous allons nous plonger dans le monde de Tye, en explorant ses caractéristiques, ses avantages et ses applications pratiques pour les développeurs .NET. Nous apprendrons égalementIronPDF, une bibliothèque de génération de PDF deIron Softwareet utilisationTye etIronPDF dans un exemple concret.

Comprendre le projet Tye .NET

Tye est un outil de développement expérimental à code source ouvert qui rationalise le processus de création, de test et de déploiement des applications de projets .NET avec une configuration minimale. Développé par l'équipe d'ingénieurs de Microsoft,Tye vise à simplifier le flux de développement en fournissant une approche cohérente et fondée sur l'opinion pour gérer les microservices et leurs dépendances. A la base, Tye adopte les principes de la conteneurisation, de l'orchestration et de la productivité des développeurs pour permettre le développement et le déploiement d'applications en toute transparence.

Principales caractéristiques de Tye .NET

1. Découverte des services et gestion des dépendances

Tye détecte et gère automatiquement les dépendances entre les services au sein d'une application .NET. Il exploite les métadonnées du projet et les conteneurs Docker pour déduire les relations entre les services, ce qui facilite la coordination de la communication et de l'orchestration entre les microservices. Cela facilite le développement de microservices avec plusieurs projets.

2. Expérience en matière de développement intégré

Tye s'intègre parfaitement à Visual Studio et Visual Studio Code, offrant ainsi un environnement de développement familier aux développeurs .NET. Il offre des outils de débogage, de journalisation et de surveillance des composants d'application, ce qui permet une itération et un dépannage rapides pendant le développement.

3. Conteneurisation Docker

Tye adopte les conteneurs Docker comme unité de déploiement pour les applications .NET. Il génère automatiquement des fichiers Docker pour chaque service en fonction des configurations du projet, ce qui facilite la création de conteneurs cohérents et reproductibles dans les environnements de développement et de production, facilitant ainsi les tests et le déploiement de microservices.

4. Environnement de développement local

Tye simplifie le développement local en orchestrant les dépendances et les services dans un environnement unique. Les développeurs peuvent lancer l'ensemble de la pile d'applications à l'aide d'une seule commande, ce qui élimine la nécessité d'une installation et d'une configuration manuelles des dépendances.

5. Déploiement sur Kubernetes

Tye fournit une prise en charge intégrée pour le déploiement d'applications .NET vers des clusters Kubernetes. Il génère des manifestes Kubernetes et des cartes Helm en fonction des spécifications du projet, rationalisant ainsi le processus de déploiement et promouvant les meilleures pratiques pour l'orchestration de conteneurs dans les environnements cloud-native.

6. Contrôle et observabilité

Tye s'intègre avec des outils d'observabilité populaires tels que Prometheus et Grafana pour fournir des informations sur la performance et la santé des applications. Il expose les mesures et les journaux des composants de l'application, ce qui permet aux développeurs de surveiller l'utilisation des ressources, d'identifier les goulets d'étranglement et de diagnostiquer les problèmes en temps réel.

Applications pratiques avec Tye

Explorons quelques scénarios pratiques dans lesquels Tye peut rationaliser le développement et le déploiement d'applications .NET :

1. Environnement du développement 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. Conteneurisation 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. Déploiement sur 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#

Démarrer avec Tye

Pour commencer avec Tye :

  1. Installer .NET Core 3.1(non pris en charge pour la version supérieure) sur votre machine.

  2. Installer Tye en tant qu'outil global en utilisant :
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. Créez un nouveau dossier pour vos microservices.

  2. Naviguez vers le dossier et créez un projet frontend(par exemple, 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
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#
  1. Lancez le projet frontal, le tableau de bord :
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#

Cela permet de construire, d'exécuter et de surveiller l'application frontale. Vous pouvez accéder au tableau de bord Tye à l'adresse http://localhost:8000 pour visualiser l'état de vos services

Schéma de configuration de Tye

Tye dispose d'un fichier de configuration optionnel, tye.yaml, qui permet de personnaliser les paramètres. Ce fichier YAML contient tous vos projets et dépendances externes. Si vous disposez d'une solution existante, Tye l'alimentera automatiquement avec tous vos projets en cours.

Pour initialiser ce fichier YAML, naviguez jusqu'au répertoire des microservices et exécutez la commande suivante pour générer un fichier tye.yaml par défaut :

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

Un fichier tye.yaml est créé comme indiqué ci-dessous

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

Avantages de l'utilisation de Tye

  1. Flux de développement simplifié : Tye simplifie le processus de développement en fournissant un ensemble d'outils unifiés pour créer, tester et déboguer des applications .NET localement.

  2. Accélération de la mise sur le marché : En automatisant des tâches courantes telles que la découverte de services, la gestion des dépendances et la conteneurisation, Tye réduit le temps et les efforts nécessaires pour déployer des applications dans des environnements de production.

  3. Amélioration de la collaboration : Tye favorise la collaboration entre les équipes de développement, d'exploitation et de DevOps en fournissant une plateforme commune pour gérer les dépendances des applications et les configurations de déploiement.

  4. La préparation au Cloud-Native : Tye dote les applications .NET des outils et pratiques nécessaires pour s'exécuter dans des environnements cloud-native, tels que Kubernetes, permettant aux organisations d'adopter des paradigmes d'infrastructure modernes en toute confiance.

  5. Soutien et contribution de la communauté : En tant que projet open-source soutenu par Microsoft, Tye bénéficie d'une communauté dynamique de contributeurs et d'utilisateurs qui contribuent activement à son développement, à sa documentation et à son écosystème.

Licence du projet Tye

Le projet Tye est livré avecLicence MIT dont l'utilisation est gratuite à des fins de développement et à des fins commerciales.

Présentation d'IronPDF

.NET(Comment ça marche pour les développeurs) : Figure 1 - IronPDF for .NET : La bibliothèque PDF C#

IronPDF est une puissante bibliothèque C# conçue pour créer, modifier et signer des PDF à partir de HTML, CSS, images et JavaScript. Il offre des performances de niveau commercial avec une faible empreinte mémoire.

Principales caractéristiques d'IronPDF

1. Conversion de HTML en PDF

Convertissez des fichiers HTML, des chaînes HTML et des URL en PDF. Par exemple, rendre une page web sous forme de PDF à l'aide du moteur de rendu PDF de Chrome.

2. Support multiplateforme

Compatible avec diverses plateformes .NET, notamment .NET Core, .NET Standard et .NET Framework. Il est compatible avec Windows, Linux et macOS.

3. Édition et signature

Définissez des propriétés, renforcez la sécurité à l'aide de mots de passe et d'autorisations, et appliquez des signatures numériques à vos PDF.

4. Modèles de page et paramètres

Personnalisez les PDF avec des en-têtes, des pieds de page, des numéros de page et des marges réglables. Prend en charge les mises en page réactives et les formats de papier personnalisés.

5. Respect des normes

Respecter les normes PDF telles que PDF/A et PDF/UA. Prend en charge le codage des caractères UTF-8 et gère les ressources telles que les images, les feuilles de style CSS et les polices.

Voyons maintenant un exemple pratique avec ces deux bibliothèques.

Générer un document PDF en utilisant IronPDF et Tye to Run

Tout d'abord, créons une application Visual Studio Razor. Ouvrez Visual Studio, créez un nouveau projet et sélectionnez l'application razor comme indiqué ci-dessous.

.NET(Comment ça marche pour les développeurs) : Figure 2 - Ouvrez Visual Studio et créez une nouvelle application Web ASP.NET Core (Pages du rasoir).

Indiquer le nom et la localisation du projet.

.NET(Comment cela fonctionne-t-il pour les développeurs ?): Figure 3 - Configurer le projet en spécifiant le nom du projet et l'emplacement. Cliquez ensuite sur Suivant.

À l'étape suivante, sélectionnez la version de .NET Framework et cliquez sur Créer. Étant donné que Tye ne travaille que sur .NET 3.1, nous choisirons la même version.

.NET(Comment ça marche pour les développeurs) : Figure 4 - Sélectionnez le framework .NET Core 3.1, puis cliquez sur Créer.

InstallerIronPDF à partir du package NuGet de Visual Studio Package Manager.

.NET(Comment ça marche pour les développeurs) : Figure 5 - Installez IronPdf à l'aide de la solution Gérer les packages NuGet en recherchant IronPDF dans la barre de recherche du gestionnaire de packages NuGet, puis sélectionnez le projet et cliquez sur le bouton Installer.

Ensuite, ouvrez l'Explorateur de fichiers et naviguez jusqu'au dossier de la solution. Ouvrez ensuite l'invite CMD.

Installez Tye à l'aide de la commande suivante :

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#

OU si vous avez déjà installé Tye et que vous souhaitez le mettre à jour, utilisez la commande ci-dessous :

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#

Initialisez Tye à l'aide de la commande suivante :

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

Cela créera un fichier YAML modèle comme ci-dessous :

# 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

Exécutez Tye à l'aide de la commande suivante :

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

Cela ouvrira le tableau de bord Tye à l'URL : http://127.0.0.1:8000/ pour voir l'application en cours d'exécution.

Tableau de bord Tye

.NET(Comment ça marche pour les développeurs) : Figure 6 - Application Razor fonctionnant avec Tye sur localhost

Ensuite, ajoutez le code ci-dessous au projet pour générer un document PDF à partir de n'importe quelle URL de site web en cliquant sur un bouton.

Ajoutez le code ci-dessous au fichier 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#

Ajoutez ensuite le code ci-dessous à 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#

Exécutez maintenant Tye comme suit :

.NET(Comment ça marche pour les développeurs) : Figure 7 - Exécuter le type en utilisant la commande : tye run frontend

Ceci lancera le tableau de bord Tye.

.NET(Comment ça marche pour les développeurs) : Figure 8 - Tableau de bord de Tye

Cliquez maintenant sur l'un des liens de la section "bindings" pour ouvrir l'application "PDF generator" et saisissez un exemple d'URL pour la génération de PDF.

.NET(Comment ça marche pour les développeurs) : Figure 9 - Générateur d'URL vers PDF à l'aide d'IronPDF

Cliquez sur le bouton "générer" pour obtenir le PDF suivant :

.NET(Comment ça marche pour les développeurs) : Figure 10 - Conversion d'une URL HTML en PDF à l'aide d'IronPDF

Explication du code

  1. Index.cshtml contient le bouton et l'entrée pour prendre l'URL du site web et déclencher la génération du PDF.

  2. Index.cshtml.cs contient le code nécessaire pour générer le document PDF à l'aide d'IronPDF.

  3. Nous utilisons la classe ChromePdfRenderer et RenderUrlAsPdf() la méthode pour générer le PDF à partir de l'URL.

  4. L'URL générée est renvoyée en tant que réponse à la méthode Post.

  5. La commande Tye Run lancera le tableau de bord Tye où vous pourrez voir tous les services en cours d'exécution.

  6. Cliquez sur le service Frontend et ouvrez l'application pour générer les documents PDF.

Licence d'IronPDF

VisiterLicences d'IronPDF page.

Placez la clé de licence dans le fichier appSettings.json comme indiqué ci-dessous :

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

Conclusion

En conclusion,Tye représente une avancée significative dans l'écosystème .NET, offrant une approche rationalisée de la construction, du test et du déploiement d'applications distribuées. Que vous soyez un développeur .NET chevronné ou que vous découvriez la conteneurisation et les microservices, Tye fournit une plateforme conviviale pour adopter des pratiques de développement modernes et accélérer votre parcours vers une architecture cloud-native.

IronPDF est une bibliothèque .NET qui permet aux développeurs de créer, de manipuler et de rendre facilement des documents PDF à partir de contenu HTML. Il permet de convertir des fichiers HTML en PDF, de fusionner et de diviser des PDF et d'ajouter des en-têtes, des pieds de page et des filigranes. IronPDF est réputé pour sa facilité d'utilisation, son rendu de haute qualité et sa compatibilité avec les applications .NET Core et .NET Framework. Connaître à la fois leIronPDF la bibliothèque et leTye les développeurs peuvent acquérir des compétences avancées pour développer des applications modernes avec des capacités de génération de PDF.

< PRÉCÉDENT
C# Nito.Asyncex (Comment ça marche pour les développeurs)
SUIVANT >
Quartz .NET (Comment ça marche pour les développeurs)