Przejdź do treści stopki
POMOC .NET

tye .NET (Jak to działa dla programistów)

W dzisiejszym świecie tworzenia oprogramowania budowanie i wdrażanie aplikacji rozproszonych może być skomplikowane i stanowić wyzwanie. Zarządzanie wieloma usługami, zależnościami i środowiskami wdrożeniowymi często wymaga znacznego wysiłku i koordynacji. Aby sprostać tym wyzwaniom, firma Microsoft wprowadziła Project Tye, narzędzie dla programistów zaprojektowane w celu uproszczenia tworzenia, testowania i wdrażania aplikacji .NET. W tym artykule zagłębimy się w świat Tye, badając jego funkcje, zalety i praktyczne zastosowania dla programistów .NET. Poznamy również IronPDF, bibliotekę do generowania plików PDF firmy Iron Software, i wykorzystamy Tye oraz IronPDF w praktycznym przykładzie.

Zrozumienie projektu Tye .NET

Tye to eksperymentalne narzędzie programistyczne typu open source, które usprawnia proces tworzenia, testowania i wdrażania aplikacji w ramach projektów .NET przy minimalnej konfiguracji. Opracowany przez zespół inżynierów Microsoftu, Tye ma na celu uproszczenie procesu tworzenia oprogramowania poprzez zapewnienie spójnego, zdecydowanego podejścia do zarządzania mikrousługami i ich zależnościami. W swej istocie Tye opiera się na zasadach konteneryzacji, orkiestracji i wydajności programistów, aby umożliwić płynne tworzenie i wdrażanie aplikacji.

Najważniejsze cechy Tye .NET

1. Wykrywanie usług i zarządzanie zależnościami

Tye automatycznie wykrywa i zarządza zależnościami między usługami w ramach aplikacji .NET. Wykorzystuje metadane projektu i kontenery Docker do wnioskowania o relacjach między usługami, ułatwiając koordynację komunikacji i orkiestracji między mikrousługami. Ułatwia to tworzenie mikrousług w ramach wielu projektów.

2. Zintegrowane środowisko programistyczne

Tye płynnie integruje się z Visual Studio i Visual Studio Code, zapewniając znane środowisko programistyczne dla programistów .NET. Oferuje narzędzia do debugowania, rejestrowania i monitorowania komponentów aplikacji, umożliwiając szybką iterację i rozwiązywanie problemów podczas tworzenia oprogramowania.

3. Konteneryzacja Docker

Tye wykorzystuje kontenery Docker jako jednostkę wdrażania aplikacji .NET. Automatycznie generuje pliki Dockerfile dla każdej usługi na podstawie konfiguracji projektu, ułatwiając spójne i powtarzalne tworzenie kontenerów w środowiskach programistycznych i produkcyjnych, co ułatwia testowanie i wdrażanie mikrousług.

4. Lokalne środowisko programistyczne

Tye upraszcza lokalny rozwój oprogramowania poprzez koordynację zależności i usług w ramach jednego środowiska. Programiści mogą uruchomić cały stos aplikacji za pomocą jednego polecenia, co eliminuje konieczność ręcznej instalacji i konfiguracji zależności.

5. Wdrożenie w Kubernetes

Tye zapewnia wbudowaną obsługę wdrażania aplikacji .NET w klastrach Kubernetes. Generuje manifesty Kubernetes i wykresy Helm na podstawie specyfikacji projektu, usprawniając proces wdrażania i promując najlepsze praktyki w zakresie orkiestracji kontenerów w środowiskach natywnych dla chmury.

6. Monitorowanie i obserwowalność

Tye integruje się z popularnymi narzędziami do monitorowania, takimi jak Prometheus i Grafana, aby zapewnić wgląd w wydajność i stan aplikacji. Udostępnia metryki i logi z komponentów aplikacji, umożliwiając programistom monitorowanie wykorzystania zasobów, identyfikowanie wąskich gardeł i diagnozowanie problemów w czasie rzeczywistym.

Praktyczne zastosowania z Tye

Przyjrzyjmy się kilku praktycznym scenariuszom, w których Tye może usprawnić tworzenie i wdrażanie aplikacji .NET:

1. Lokalne środowisko programistyczne

# 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. Konteneryzacja 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. Wdrożenie w 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

Pierwsze kroki z Tye

Aby rozpocząć pracę z Tye:

  1. Zainstaluj na swoim komputerze .NET Core 3.1 (wyższe wersje nie są obsługiwane).

  2. Zainstaluj Tye jako narzędzie globalne, korzystając z:
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. Utwórz nowy folder dla swoich mikrousług.

  2. Przejdź do folderu i utwórz projekt frontendowy (np. 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. Uruchom projekt frontendowy, otwierając pulpit nawigacyjny Tye:
tye run frontend  # run frontend project
tye run frontend  # run frontend project
SHELL

Pozwoli to na kompilację, uruchomienie i monitorowanie aplikacji frontendowej. Możesz uzyskać dostęp do pulpitu nawigacyjnego Tye pod adresem http://localhost:8000, aby sprawdzić stan swoich usług.

Schemat konfiguracji Tye'a

Tye posiada opcjonalny plik konfiguracyjny, tye.yaml, który umożliwia dostosowanie ustawień. Ten plik YAML zawiera wszystkie Twoje projekty i zależności zewnętrzne. Jeśli posiadasz już istniejące rozwiązanie, Tye automatycznie wypełni je wszystkimi Twoimi bieżącymi projektami.

Aby zainicjować ten plik YAML, przejdź do katalogu microservices i uruchom następujące polecenie, aby wygenerować domyślny plik tye.yaml:

tye init
tye init
SHELL

Plik tye.yaml jest tworzony w sposób pokazany poniżej:

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

Korzyści z korzystania z Tye

  1. Uproszczony proces tworzenia oprogramowania: Tye upraszcza proces tworzenia oprogramowania, zapewniając ujednolicony zestaw narzędzi do lokalnego tworzenia, testowania i debugowania aplikacji .NET.
  2. Skrócony czas wprowadzenia produktu na rynek: Dzięki automatyzacji typowych zadań, takich jak wykrywanie usług, zarządzanie zależnościami i konteneryzacja, Tye zmniejsza czas i wysiłek wymagany do wdrożenia aplikacji w środowiskach produkcyjnych.
  3. Lepsza współpraca: Tye wspiera współpracę między zespołami programistów, operacyjnymi i DevOps, zapewniając wspólną platformę do zarządzania zależnościami aplikacji i konfiguracjami wdrożeniowymi.
  4. Gotowość do pracy w chmurze: Tye wyposaża aplikacje .NET w niezbędne narzędzia i praktyki do działania w środowiskach natywnych dla chmury, takich jak Kubernetes, umożliwiając organizacjom pewne wdrażanie nowoczesnych paradygmatów infrastrukturalnych.
  5. Wsparcie społeczności i wkład: Jako projekt open source wspierany przez Microsoft, Tye korzysta z dynamicznej społeczności współpracowników i użytkowników, którzy aktywnie przyczyniają się do jego rozwoju, dokumentacji i ekosystemu.

Licencja projektu Tye

Projekt Tye jest objęty licencją MIT, która pozwala na bezpłatne wykorzystanie go do celów programistycznych i komercyjnych.

Przedstawiamy IronPDF

tye .NET (Jak to działa dla programistów): Rysunek 1 – IronPDF for .NET: biblioteka PDF w języku C#

IronPDF to potężna biblioteka C# przeznaczona do tworzenia, edycji i podpisywania plików PDF na podstawie HTML, CSS, obrazów i JavaScript. Oferuje wydajność na poziomie komercyjnym przy niewielkim zużyciu pamięci.

Najważniejsze cechy IronPDF

1. Konwersja HTML do PDF

Konwertuj pliki HTML, ciągi znaków HTML i adresy URL na pliki PDF. Na przykład, renderuj stronę internetową jako plik PDF przy użyciu renderera PDF przeglądarki Chrome.

2. Obsługa wielu platform

Kompatybilny z różnymi platformami .NET, w tym .NET Core, .NET Standard i .NET Framework. Obsługuje systemy Windows, Linux i macOS.

3. Redakcja i podpisanie

Ustawiaj właściwości, dodawaj zabezpieczenia za pomocą haseł i uprawnień oraz stosuj podpisy cyfrowe w plikach PDF.

4. Szablony stron i ustawienia

Dostosuj pliki PDF, dodając nagłówki, stopki, numery stron i regulowane marginesy. Obsługuje responsywne układy i niestandardowe rozmiary papieru.

5. Zgodność z normami

Zgodność ze standardami PDF, takimi jak PDF/A i PDF/UA. Obsługuje kodowanie znaków UTF-8 oraz pliki takie jak obrazy, CSS i czcionki.

Zobaczmy teraz praktyczny przykład wykorzystania tych dwóch bibliotek.

Generowanie dokumentu PDF przy użyciu IronPDF i Tye to Run

Najpierw utwórzmy aplikację Visual Studio Razor. Otwórz program Visual Studio, utwórz nowy projekt i wybierz aplikację Razor, jak pokazano poniżej.

tye .NET Core (Jak to działa dla programistów): Rysunek 2 — Otwórz Visual Studio i utwórz nową aplikację internetową ASP.NET Core (Razor Pages).

Podaj nazwę projektu i lokalizację.

tye .NET (Jak to działa dla programistów): Rysunek 3 — Skonfiguruj projekt, podając nazwę projektu i lokalizację. Następnie kliknij Dalej.

W następnym kroku wybierz wersję .NET Framework i kliknij przycisk Utwórz. Ponieważ Tye działa wyłącznie na platformie .NET 3.1, wybierzemy tę wersję.

tye .NET (Jak to działa dla programistów): Rysunek 4 — Wybierz platformę .NET Core 3.1, a następnie kliknij Utwórz.

Zainstaluj IronPDF z pakietu NuGet za pomocą menedżera pakietów 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.

Następnie otwórz przeglądarkę plików i przejdź do folderu rozwiązania. Następnie otwórz wiersz poleceń CMD.

Zainstaluj Tye za pomocą następującego polecenia:

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

LUB jeśli masz już zainstalowany Tye i chcesz go zaktualizować, użyj poniższego polecenia:

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

Zainicjuj Tye za pomocą następującego polecenia:

tye init
tye init
SHELL

Spowoduje to utworzenie pliku szablonu YAML, jak poniżej:

# 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

Uruchom Tye za pomocą następującego polecenia:

tye run frontend
tye run frontend
SHELL

Spowoduje to otwarcie pulpitu nawigacyjnego Tye pod adresem URL: http://127.0.0.1:8000/, gdzie będzie można zobaczyć działającą aplikację.

Pulpit nawigacyjny Tye

tye .NET (Jak to działa dla programistów): Rysunek 6 — Aplikacja Razor działająca przy użyciu Tye na localhost

Następnie dodaj poniższy kod do projektu, aby jednym kliknięciem wygenerować dokument PDF z dowolnego adresu URL strony internetowej.

Dodaj poniższy kod do pliku 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>

Następnie dodaj poniższy kod do 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

Teraz uruchom Tye w następujący sposób:

tye .NET (Jak to działa dla programistów): Rysunek 7 — Uruchom tye za pomocą polecenia: tye run frontend

Spowoduje to uruchomienie pulpitu nawigacyjnego Tye.

tye .NET (Jak to działa dla programistów): Rysunek 8 – Pulpit nawigacyjny Tye

Teraz kliknij dowolny link w sekcji powiązań, aby otworzyć aplikację do generowania plików PDF i wprowadź przykładowy adres URL w celu wygenerowania pliku PDF.

tye .NET (Jak to działa dla programistów): Rysunek 9 – Generator plików PDF z adresów URL przy użyciu IronPDF

Kliknij przycisk generowania, aby uzyskać następujący plik PDF jako wynik:

tye .NET (Jak to działa dla programistów): Rysunek 10 – Konwersja adresu URL HTML do formatu PDF przy użyciu IronPDF

Wyjaśnienie kodu

  1. Index.cshtml zawiera pole wprowadzania danych i przycisk służący do pobrania adresu URL strony internetowej i uruchomienia generowania pliku PDF.
  2. Index.cshtml.cs to plik kodu źródłowego zawierający logikę generowania dokumentu PDF przy użyciu IronPDF.
  3. Klasa ChromePdfRenderer i metoda RenderUrlAsPdf() służą do generowania pliku PDF na podstawie adresu URL.
  4. Wygenerowany adres URL jest zwracany jako odpowiedź na metodę POST.
  5. Polecenie tye run uruchomi pulpit nawigacyjny Tye, na którym można wyświetlić wszystkie uruchomione usługi.
  6. Kliknij usługę Frontend na pulpicie nawigacyjnym Tye, aby otworzyć aplikację i wygenerować dokumenty PDF.

Licencja IronPDF

Odwiedź stronę licencyjną IronPDF.

Umieść klucz licencyjny w pliku appSettings.json, jak pokazano poniżej:

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

Wnioski

Podsumowując, Tye stanowi znaczący postęp w ekosystemie .NET, oferując usprawnione podejście do tworzenia, testowania i wdrażania aplikacji rozproszonych. Niezależnie od tego, czy jesteś doświadczonym programistą .NET, czy dopiero zaczynasz przygodę z konteneryzacją i mikrousługami, Tye zapewnia przyjazną dla użytkownika platformę, która pozwala wdrożyć nowoczesne praktyki programistyczne i przyspieszyć przejście na architekturę natywną dla chmury.

IronPDF to biblioteka .NET, która pozwala programistom w łatwy sposób tworzyć, modyfikować i renderować dokumenty PDF na podstawie treści HTML. Obsługuje konwersję HTML do PDF, łączenie i dzielenie plików PDF oraz dodawanie nagłówków, stopek i znaków wodnych. IronPDF jest znany z łatwości obsługi, wysokiej jakości renderowania oraz kompatybilności z aplikacjami .NET Core i .NET Framework. Znając zarówno bibliotekę IronPDF, jak i narzędzie do kompilacji Tye, programiści mogą zdobyć zaawansowane umiejętności pozwalające na tworzenie nowoczesnych aplikacji z funkcjami generowania plików PDF.

Często Zadawane Pytania

W jaki sposób Tye może uprościć tworzenie aplikacji .NET?

Tye upraszcza tworzenie aplikacji .NET poprzez zarządzanie mikrousługami i ich zależnościami przy minimalnej konfiguracji. Wykorzystuje narzędzia do konteneryzacji i orkiestracji, takie jak Docker i Kubernetes, aby usprawnić procesy kompilacji, testowania i wdrażania.

Jakie są zalety korzystania z Tye do wykrywania usług w aplikacjach .NET?

Tye usprawnia wykrywanie usług w aplikacjach .NET poprzez automatyczne wykrywanie zależności między mikrousługami, wykorzystując metadane projektu i kontenery Docker w celu ułatwienia płynnej komunikacji i koordynacji.

W jaki sposób Tye integruje się z Visual Studio i Visual Studio Code?

Tye integruje się z Visual Studio i Visual Studio Code, zapewniając programistom narzędzia do debugowania, rejestrowania i monitorowania, które poprawiają komfort pracy i wydajność tworzenia aplikacji .NET.

Jak można wykorzystać kontenery Docker w Tye?

Tye wykorzystuje kontenery Docker do wdrażania aplikacji .NET. Automatycznie tworzy pliki Dockerfile dla każdej usługi na podstawie ustawień projektu, zapewniając spójność i powtarzalność kompilacji kontenerów w różnych środowiskach.

Jakie kroki obejmuje wdrażanie aplikacji .NET w Kubernetes przy użyciu Tye?

Aby wdrożyć aplikacje .NET w Kubernetes przy użyciu Tye, narzędzie generuje manifesty Kubernetes i wykresy Helm na podstawie specyfikacji projektu. Usprawnia to proces wdrażania poprzez automatyzację tworzenia zasobów niezbędnych dla klastra Kubernetes.

W jaki sposób IronPDF może wzbogacić aplikacje .NET o funkcje związane z plikami PDF?

IronPDF wzbogaca aplikacje .NET, zapewniając możliwości tworzenia, edycji i renderowania plików PDF na podstawie treści HTML. Obsługuje konwersję HTML do PDF, edycję plików PDF oraz dodawanie elementów, takich jak nagłówki i stopki, rozszerzając w ten sposób funkcjonalność aplikacji.

Co sprawia, że Tye nadaje się do tworzenia aplikacji natywnych dla chmury?

Tye nadaje się do tworzenia aplikacji natywnych dla chmury, ponieważ wyposaża aplikacje .NET w niezbędne narzędzia i praktyki do działania w środowiskach takich jak Kubernetes, ułatwiając wdrażanie nowoczesnej infrastruktury i paradygmatów wdrażania.

Jak programiści mogą szybko rozpocząć pracę z Tye?

Programiści mogą rozpocząć pracę z Tye, instalując .NET Core 3.1, konfigurując Tye jako narzędzie globalne i używając poleceń takich jak tye run do uruchamiania aplikacji. Pulpit nawigacyjny Tye pomaga w efektywnym monitorowaniu usług i zarządzaniu nimi.

Jakie warunki licencji mają zastosowanie do korzystania z Project Tye?

Projekt Tye jest dystrybuowany na licencji MIT, co pozwala na bezpłatne wykorzystanie zarówno do celów programistycznych, jak i komercyjnych, ułatwiając szerokie zastosowanie w różnych projektach.

W jaki sposób Tye przyspiesza wprowadzanie aplikacji .NET na rynek?

Tye przyspiesza wprowadzanie produktów na rynek poprzez automatyzację typowych zadań programistycznych, usprawnienie współpracy zespołowej oraz zwiększenie gotowości do pracy w chmurze, co łącznie usprawnia proces tworzenia oprogramowania i zmniejsza koszty ogólne.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie