Ir para o conteúdo do rodapé
USANDO O IRONBARCODE

Gerador de código de barras Xamarin: Gere códigos de barras em C# com IronBarcode

Criar códigos de barras em aplicativos Xamarin não precisa ser complexo ou demorado. Com o IronBarcode, os desenvolvedores podem gerar códigos de barras e QR codes de qualidade profissional nas plataformas Android e iOS usando apenas algumas linhas de código C#. Esta biblioteca de códigos de barras .NET elimina a necessidade de implementações específicas de plataforma ao fornecer recursos de nível empresarial que funcionam consistentemente em todos os dispositivos móveis em seus projetos Xamarin Forms ou Xamarin nativo.

Este artigo demonstra como implementar um sistema de geração de códigos de barras no seu aplicativo móvel multiplataforma usando o IronBarcode. Você aprenderá como instalar a biblioteca via NuGet, gerar vários formatos de código de barras, incluindo QR codes, personalizar a aparência com cores e anotações, e exportar os resultados em vários formatos de arquivo - tudo isso mantendo o código C# limpo e sustentável que funciona em Android e iOS.

Por Que Você Precisa de Uma Biblioteca de Código de Barras Profissional para Xamarin Forms?

Implementar a geração de códigos de barras do zero no Xamarin.Forms requer manuseio de algoritmos de codificação complexos, gerenciar diferenças de renderização específicas de plataforma e garantir saída precisa em vários simbologias de códigos de barras. Uma biblioteca de código de barras .NET profissional, como a IronBarcode, elimina esses desafios ao fornecer uma API unificada que lida com todas as complexidades técnicas internamente através de métodos simples em C#.

IronBarcode suporta mais de 30 formatos de código de barras, incluindo códigos QR, Código 128, Código 39, EAN-13, UPC-A, Data Matrix, PDF 417 e códigos Aztec. Cada formato é otimizado para casos de uso específicos. Por exemplo, códigos QR são excelentes para armazenar URLs e grandes volumes de texto, EAN-13 atende produtos de varejo, enquanto o Código 128 oferece codificação alfanumérica de alta densidade. A biblioteca calcula automaticamente somas de verificação, aplica níveis de correção de erro apropriados e garante conformidade com os padrões GS1 para aplicações comerciais.

A natureza multiplataforma do IronBarcode assegura que o seu código de geração de código de barras permaneça idêntico, independentemente de você estar direcionando para Android ou iOS. Essa consistência se estende além das aplicações Xamarin -- o mesmo código funciona em aplicativos web ASP.NET aplicações web, software de desktop e contêineres Docker, tornando-o ideal para empresas com requisitos de implantação diversificados. Saiba mais sobre as capacidades multiplataforma do IronBarcode.

Xamarin vs. .NET MAUI: Entendendo o Contexto

Xamarin foi o principal framework de desenvolvimento móvel multiplataforma da Microsoft para desenvolvedores C# por muitos anos. Enquanto a Microsoft agora migrou para .NET MAUI como o sucessor moderno, muitas aplicações em produção ainda rodam em Xamarin.Forms e Xamarin.Android/iOS. IronBarcode funciona com ambos os frameworks, então os padrões mostrados neste artigo se aplicam igualmente seja você mantendo um projeto Xamarin ou migrando for .NET MAUI.

Se você está iniciando um novo projeto móvel hoje, considere usar .NET MAUI com IronBarcode. A documentação do IronBarcode .NET MAUI cobre os mesmos recursos mostrados aqui com etapas específicas de configuração de projeto for .NET MAUI.

Por Que Não Criar a Lógica de Código de Barras do Zero?

Escrever lógica de codificação de código de barras personalizada introduz vários riscos de manutenção. Você deve lidar com algoritmos de soma de verificação específicos de formato, cálculos de largura de barra, requisitos de zona silenciosa e compatibilidade de scanner entre diferentes fornecedores de hardware. IronBarcode abstrai tudo isso por trás de uma API limpa. A referência da API do IronBarcode documenta cada método e parâmetro para que sua equipe possa rapidamente encontrar a ferramenta certa para cada cenário.

Como Instalar o IronBarcode em um Projeto Xamarin?

Instalar o IronBarcode no seu projeto Xamarin.Forms leva apenas alguns minutos através do Gerenciador de Pacotes NuGet. Abra sua solução do Visual Studio que contém seus projetos móveis multiplataforma e siga os passos abaixo.

Clique com o botão direito na sua solução no Solution Explorer e selecione "Gerenciar Pacotes NuGet para a Solução". Na guia de navegação, procure por "IronBarCode". Selecione o pacote oficial IronBarcode da Iron Software e instale em todos os projetos da sua solução, incluindo o projeto compartilhado e ambos os projetos específicos de plataforma. Você pode explorar os detalhes completos do pacote NuGet para histórico de versões e dependências.

Alternativamente, use o Console do Gerenciador de Pacotes com este comando:

Install-Package BarCode
Install-Package BarCode
SHELL

Para projetos Android, nenhuma permissão adicional é necessária para criação básica de códigos de barras. No entanto, se você planeja salvar códigos de barras gerados em armazenamento externo, adicione a permissão WRITE_EXTERNAL_STORAGE ao seu AndroidManifest.xml. Revise o guia de configuração específico para Android para considerações detalhadas de plataforma.

Para projetos iOS, se você estiver salvando códigos QR ou códigos de barras na biblioteca de fotos, adicione a chave NSPhotoLibraryAddUsageDescription ao seu Info.plist com uma descrição adequada para o usuário. A documentação de configuração de código de barras para iOS fornece instruções completas.

Configurando Sua Chave de Licença

Para usar a funcionalidade completa do IronBarcode sem marcas d'água, você precisará de uma chave de licença. Você pode obter uma licença de avaliação gratuita que fornece acesso completo a todos os recursos de geração de códigos de barras para avaliação. Defina sua chave de licença uma vez no código de inicialização da sua aplicação:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
$vbLabelText   $csharpLabel

Sem uma chave de licença, o IronBarcode opera no modo de avaliação com marcas d'água nos códigos de barras gerados. Para aplicações de produção, a Iron Software oferece diversos níveis de licenciamento, incluindo licenças de projeto único, em toda a organização e para distribuição SaaS, projetadas para implantação de aplicativos móveis.

Como Gerar Seu Primeiro Código de Barras com o IronBarcode?

Criar seu primeiro código de barras com o IronBarcode em uma aplicação Xamarin.Forms requer um código C# mínimo. O exemplo abaixo gera um código de barras Código 128, salva-o como um PNG e adiciona um rótulo de texto legível por humanos:

using IronBarCode;
using System.IO;

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "barcode.png");

var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
myBarcode.ResizeTo(500, 200);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsPng(filePath);
using IronBarCode;
using System.IO;

string filePath = Path.Combine(
    Environment.GetFolderPath(Environment.SpecialFolder.Personal),
    "barcode.png");

var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
myBarcode.ResizeTo(500, 200);
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SaveAsPng(filePath);
$vbLabelText   $csharpLabel

O método BarcodeWriter.CreateBarcode() é o ponto de entrada principal para a geração de códigos de barras. Ele aceita dois argumentos: os dados a serem codificados e o formato do código de barras da enumeração BarcodeEncoding. O método retorna um objeto GeneratedBarcode que proporciona ampla personalização através de uma API fluente.

O método ResizeTo() ajusta as dimensões do código de barras enquanto mantém proporções apropriadas e requisitos de largura de barra para a simbologia selecionada. AddBarcodeValueTextBelowBarcode() adiciona texto legível por humanos abaixo das barras, o que é necessário para muitos cenários de gerenciamento de varejo e inventário. Explore a referência completa da API BarcodeWriter para recursos avançados.

Saída

Como Gerar Códigos de Barras no Xamarin Usando IronBarcode: Figura 10 - Saída PDF417

Gerando Códigos QR para Aplicativos Móveis

Para geração de códigos QR no seu aplicativo de scanner de códigos de barras Xamarin, use a classe especializada QRCodeWriter. Os códigos QR são ideais para aplicativos móveis porque as câmeras dos dispositivos podem escaneá-los rapidamente sem hardware especializado:

using IronBarCode;

var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

byte[] barcodeBytes = qrCode.ToPngBinaryData();
using IronBarCode;

var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);

byte[] barcodeBytes = qrCode.ToPngBinaryData();
$vbLabelText   $csharpLabel

O método QRCodeWriter.CreateQrCode() se especializa na criação de códigos QR com suporte para a incorporação de logotipos e personalização de cores. O segundo parâmetro especifica o tamanho do código QR em pixels. O método ToPngBinaryData() converte o código QR gerado em um array de bytes, útil para armazenar em um banco de dados ou transmitir em uma rede. Revise exemplos adicionais de geração de código QR para configurações avançadas, incluindo logotipos embutidos.

Como Você Trabalha com Diferentes Formataros de Código de Barras?

O amplo suporte a formatos do IronBarcode permite que você gere exatamente o tipo de código de barras que seu aplicativo Xamarin.Forms requer. O exemplo abaixo demonstra como criar códigos de barras EAN-13, UPC-A, DataMatrix e PDF417 a partir de uma única sequência de código de produto:

using IronBarCode;

string productCode = "012345678905";

// EAN-13 for European retail
var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
ean13.SaveAsPng("product_ean13.png");

// UPC-A for North American retail
var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
upcA.SaveAsJpeg("product_upca.jpg");

// DataMatrix for small items with high data density
var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
dataMatrix.SaveAsPdf("product_datamatrix.pdf");

// PDF417 for driver licenses and ID cards
var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
pdf417.SaveAsTiff("product_pdf417.tiff");
using IronBarCode;

string productCode = "012345678905";

// EAN-13 for European retail
var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
ean13.SaveAsPng("product_ean13.png");

// UPC-A for North American retail
var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
upcA.SaveAsJpeg("product_upca.jpg");

// DataMatrix for small items with high data density
var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
dataMatrix.SaveAsPdf("product_datamatrix.pdf");

// PDF417 for driver licenses and ID cards
var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
pdf417.SaveAsTiff("product_pdf417.tiff");
$vbLabelText   $csharpLabel

Cada simbologia de código de barras tem características específicas e casos de uso. EAN-13 e UPC-A requerem entrada somente numérica e calculam automaticamente dígitos de verificação para maior precisão de escaneamento no varejo. DataMatrix é excelente para codificar grandes quantidades de dados em espaço mínimo, tornando-o ideal para rastreamento de componentes eletrônicos e produtos farmacêuticos. PDF417 suporta armazenamento extensivo de dados com correção de erros embutida, comumente usado em documentos de transporte e identificação.

A biblioteca valida automaticamente os dados de entrada em relação aos requisitos de formato e lança exceções descritivas para entradas inválidas. Essa validação garante que os códigos de barras gerados estejam em conformidade com padrões internacionais ISO e sejam escaneados de forma confiável por leitores comerciais usados no varejo e logística. Saiba mais sobre como escolher o formato de código de barras certo para seu caso de uso específico.

Saída

Como Gerar Códigos de Barras no Xamarin Usando IronBarcode: Figura 9 - Saída PDF417

Comparação de Formataros de Código de Barras

A tabela a seguir resume os formatos de código de barras mais comumente usados e suas aplicações típicas em projetos móveis:

Comparação de Formataros de Código de Barras para Aplicações Móveis
Formatar Tipo de dados Caso de uso típico Valor da Codificação de Código de Barras
Código QR Alfanumérico, binário, URLs Links de produtos, cartões de contato, fluxos de pagamento `QRCode`
Código 128 Alfanumérico Rótulos de envio, inventário `Code128`
EAN-13 Numérico (13 dígitos) Produtos de varejo europeus `EAN13`
UPC-A Numérico (12 dígitos) Produtos de varejo norte-americanos `UPCA`
DataMatrix Alfanumérico, binário Eletrônicos, produtos farmacêuticos, etiquetas pequenas `DataMatrix`
PDF417 Alfanumérico, binário Documentos de identificação, cartões de embarque, transporte `PDF417`

Como Você Personaliza e Exporta Códigos de Barras para Interfaces Móveis?

IronBarcode oferece amplas opções de personalização para atender aos requisitos visuais do seu aplicativo Xamarin. O exemplo abaixo mostra como aplicar cores, adicionar anotações de texto e salvar em locais específicos da plataforma:

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);

// Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
barcode.SetMargins(10);

// Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID");
barcode.AddBarcodeValueTextBelowBarcode(new IronSoftware.Drawing.Font("Arial", 12));

// Determine platform-specific save path
string documentsPath;
if (Device.RuntimePlatform == Device.iOS)
{
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}
else // Android
{
    documentsPath = Android.OS.Environment
        .GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads)
        .AbsolutePath;
}

// Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);

// Apply styling to match your mobile UI
barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
barcode.SetMargins(10);

// Add human-readable annotations
barcode.AddAnnotationTextAboveBarcode("Product ID");
barcode.AddBarcodeValueTextBelowBarcode(new IronSoftware.Drawing.Font("Arial", 12));

// Determine platform-specific save path
string documentsPath;
if (Device.RuntimePlatform == Device.iOS)
{
    documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
}
else // Android
{
    documentsPath = Android.OS.Environment
        .GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads)
        .AbsolutePath;
}

// Export in multiple formats
barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
$vbLabelText   $csharpLabel

Os métodos de estilização oferecem controle total sobre a aparência do código de barras na interface do seu dispositivo móvel. As cores podem ser especificadas usando valores RGB ou constantes de cores predefinidas para corresponder ao tema do seu aplicativo. O método SetMargins() adiciona preenchimento ao redor do código de barras, evitando problemas de escaneamento que surgem quando códigos de barras são colocados próximos às bordas da imagem.

O manuseio de arquivos no desenvolvimento cross-platform Xamarin requer conscientização sobre a plataforma. Os aplicativos para iOS devem salvar no diretório de documentos ou na biblioteca de fotos. Os aplicativos Android geralmente usam diretórios de armazenamento externo ou o diretório de dados interno do aplicativo. A biblioteca suporta todos os principais formatos de imagem -- PNG, JPEG, GIF, TIFF, BMP -- além de PDF para integração de documentos. Para cenários mais complexos, reveja a documentação de exportação de código de barras para opções adicionais de saída.

Exibindo Códigos de Barras Diretamente em Vistas Xamarin

Além de salvar em arquivos, você pode exibir códigos de barras diretamente em uma página Xamarin, convertendo o código de barras gerado em um StreamImageSource. Isso evita leituras e gravações desnecessárias no disco para cenários apenas de exibição:

using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300);
byte[] pngBytes = barcode.ToPngBinaryData();

barcodeImage.Source = ImageSource.FromStream(() => new MemoryStream(pngBytes));
using IronBarCode;
using System.IO;
using Xamarin.Forms;

var barcode = BarcodeWriter.CreateBarcode("ORDER-99812", BarcodeEncoding.QRCode, 300);
byte[] pngBytes = barcode.ToPngBinaryData();

barcodeImage.Source = ImageSource.FromStream(() => new MemoryStream(pngBytes));
$vbLabelText   $csharpLabel

Atribua o resultado a qualquer controle Image do Xamarin configurando sua propriedade Source. Esse padrão funciona sem permissões do sistema de arquivos e é a abordagem recomendada para casos de uso de exibição transitória, como telas de confirmação de pedido ou fluxos de emissão de bilhetes. Veja o guia de renderização de imagens IronBarcode para mais detalhes.

Como Você Lida com Digitalização de Código de Barras no Xamarin?

Embora este artigo se concentre na geração de códigos de barras, muitos aplicativos Xamarin também precisam ler códigos de barras das câmeras dos dispositivos. O IronBarcode inclui uma API de leitura de código de barras que espelha a API de geração em simplicidade. A documentação do leitor de código de barras IronBarcode cobre todo o fluxo de leitura, incluindo detecção de múltiplos códigos de barras e filtragem de formatos.

Para um aplicativo Xamarin que tanto gera quanto escaneia códigos de barras — por exemplo, um aplicativo de recebimento de armazém — você pode combinar as classes BarcodeWriter e BarcodeReader no mesmo projeto. Ambas as APIs funcionam a partir do mesmo pacote NuGet sem dependências adicionais. A galeria completa de exemplos IronBarcode inclui um fluxo de trabalho de escaneamento e geração que demonstra essa abordagem combinada.

Tratamento de Erros e Validação

A geração de códigos de barras em produção deve sempre incluir o tratamento de erros, particularmente ao codificar dados a partir de entradas do usuário ou sistemas externos. O IronBarcode lança exceções tipadas para violações de formato - por exemplo, passar uma string não numérica para um codificador EAN-13. Envolver chamadas de geração em blocos try-catch e apresentar mensagens de erro claras para os usuários melhora a estabilidade do aplicativo:

using IronBarCode;

try
{
    var barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13);
    barcode.SaveAsPng("output.png");
}
catch (BarcodeException ex)
{
    Console.WriteLine($"Barcode generation failed: {ex.Message}");
}
using IronBarCode;

try
{
    var barcode = BarcodeWriter.CreateBarcode(userInputValue, BarcodeEncoding.EAN13);
    barcode.SaveAsPng("output.png");
}
catch (BarcodeException ex)
{
    Console.WriteLine($"Barcode generation failed: {ex.Message}");
}
$vbLabelText   $csharpLabel

Sempre valide os valores fornecidos pelo usuário antes de passá-los para o codificador de código de barras. Para formatos numéricos como EAN-13, remova espaços em branco e caracteres não numéricos antes da codificação. Revise o guia de validação de entrada na seção de solução de problemas do IronBarcode para problemas comuns de qualidade de dados.

Quais são os seus próximos passos?

O IronBarcode transforma a geração de códigos de barras em aplicativos Xamarin de um desafio complexo e específico de plataforma em algumas linhas de código C#. Se você precisar de códigos QR para fluxos de pedidos móveis, Código 128 para etiquetas de armazém, ou EAN-13 para produtos de varejo, a biblioteca fornece uma única API que funciona de forma idêntica em Android e iOS - e igualmente bem em ASP.NET, desktop e ambientes de servidor.

Para continuar a construir sobre o que você aprendeu aqui, explore estes recursos:

Comece com a instalação do pacote NuGet e execute o primeiro exemplo acima para confirmar se seu ambiente está configurado corretamente. A partir daí, a tabela de comparação de formatos e os exemplos de personalização neste artigo fornecem tudo o que você precisa para adaptar a saída do código de barras aos requisitos exatos do seu aplicativo.

Perguntas frequentes

O que é um gerador de código de barras Xamarin?

Um gerador de código de barras Xamarin é uma ferramenta ou biblioteca que permite aos desenvolvedores C# criar códigos de barras e códigos QR em aplicativos Xamarin para Android e iOS. O IronBarcode oferece essa funcionalidade por meio de uma API .NET unificada.

Como o IronBarcode simplifica a geração de códigos de barras no Xamarin?

A IronBarcode fornece uma API de código de barras .NET única que funciona de forma idêntica no Android e no iOS, eliminando a necessidade de implementações específicas para cada plataforma e o manuseio manual de algoritmos de codificação ou validação de formato.

Posso gerar códigos de barras para Android e iOS usando o IronBarcode?

Sim. O IronBarcode suporta a geração de códigos de barras para plataformas Android e iOS em aplicações Xamarin, produzindo resultados consistentes em todos os dispositivos sem alterações de código específicas da plataforma.

Quais formatos de código de barras o IronBarcode suporta no Xamarin?

O IronBarcode suporta mais de 30 formatos, incluindo QR Code, Code 128, Code 39, EAN-13, UPC-A, DataMatrix, PDF417 e códigos Aztec. Todos os formatos estão disponíveis através da mesma enumeração BarcodeEncoding.

O IronBarcode é adequado para aplicações móveis em produção?

Sim. O IronBarcode inclui validação de entrada, codificação compatível com ISO, suporte ao padrão GS1 e ativação de chave de licença para saída sem marca d'água em versões de produção.

O IronBarcode funciona tanto com .NET MAUI quanto com Xamarin?

Sim. O IronBarcode funciona tanto com Xamarin quanto com .NET MAUI. O mesmo pacote NuGet e a mesma API são usados ​​em ambas as estruturas, tornando a migração simples.

Como faço para exibir um código de barras gerado em uma view do Xamarin?

Chame ToPngBinaryData() no código de barras gerado para obter uma matriz de bytes e, em seguida, atribua ImageSource.FromStream(() => new MemoryStream(bytes)) à propriedade Source do seu controle de imagem Xamarin.

Posso usar o IronBarcode em projetos Xamarin nativos, assim como em projetos Xamarin.Forms?

Sim. O IronBarcode funciona tanto em projetos compartilhados do Xamarin.Forms quanto em projetos nativos específicos da plataforma Xamarin.Android e Xamarin.iOS.

O IronBarcode suporta estilos de código de barras personalizados?

Sim. Você pode alterar as cores da barra e do fundo, definir margens, adicionar texto de anotação acima ou abaixo do código de barras e ajustar as propriedades da fonte usando a API GeneratedBarcode.

Como faço para começar a usar o IronBarcode gratuitamente?

Acesse https://ironsoftware.com/csharp/barcode/ para baixar uma chave de licença de avaliação gratuita de 30 dias. Instale o pacote NuGet , insira a chave de licença no seu código de inicialização e comece a gerar códigos de barras imediatamente.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me