Ferramentas para Testes de API's e Webhooks

Recentemente descobri algumas ferramentas bem úteis para o desenvolvimento de API’s, em especial quando é necessário responder a chamados externos ou de webhooks.

Usando o SQL Server no macOS

O SQL Server foi durante muito tempo um produto exclusivo do Windows. Isso felizmente mudou com o lançamento da versão 2014 do produto, que passou a disponibilizar o serviço Database Engine para instalação no Linux. Isso abriou novas possibilidades como disponibiliza-lo via Docker, e com isso podemos começar a ter o recurso dentro do macOS.

Xcode 11 - Enviando um IPA para a App Store

Com o Xcode 11 perdemos o utilitário “Application Loader” que vinha embutido em sua instalação e servia para fazer upload dos pacotes de apps para a App Store, e que fazia parte do fluxo de desenvolvimento de Xamarin.iOS já que ao gerarmos um pacote exportavamos o arquivo .ipa para upload por esse utilitário. Felizmente foram oferecidas soluções simples para contornar esse problema.

Novas ferramentas de JSON para .NET Standard

O .NET Core 3.0 trouxe novos recursos para manipulação de JSON. Mais precisamente uma nova biblioteca para leitura, criação e serialização de dados nesse formato que tem o objetivo de substituir o onipresente JSON.NET. A princípio eu achei isso um esforço desnecessário, por que mexer em um padrão já estabelecido, eficiente e com uma grande base instalada? Porém, sempre há espaço para melhorias, e a issue The future of JSON in .NET Core 3.0 no repositório do .NET Core me trouxe uma explicação convicente das motivações para criação dessa nova biblioteca:

Dica de Xamarin.Forms - Quebra de Linha no XAML

Um cenário comum no Xamarin.Forms é precisar inserir uma quebra de linha em um Label dentro do XAML. Isso pode ser conseguido facilmente usando o código de escape: 
 como no exemplo abaixo:

Extendendo o Menu de Contexto do editor XAML do Visual Studio

Em um dos projetos que estou atendendo, o MFractor, estamos portando as funcionalidades da extensão criada originalmente para o Visual Studio de Mac para seu irmão mais velho no Windows. Uma dessas funções são os atalhos do MVVM que, em um projeto do Xamarin.Forms, permitem alternar rapidamente entre o XAML de uma View seu code-behind e seu View Model. Para isso extendemos o menu de contexto do editor. Há uma série de artigos sobre como extender esse menu, mas no caso específico do editor de arquivos XAML, a forma padrão não estava funcionando.

Livro do mês: Creative Selection

Ken Kocienda é um ex-engenheiro da Apple onde trabalhou por 18 anos no “período de ouro” da companhia, tendo participado de projetos importantes como a criação do Safari, do iPhone e do iPad, tendo trabalhado direta com Scott Forstall e tido várias interações com o aclamado Steve Jobs. Esse resumo em sí já chama muita atenção sendo que existe uma certa aura no entorno da empresa e em seus figurões, e então quando uma figura dessas resolve escrever um livro para contar suas experiências, eu como grande fã da marca e de seus feitos não poderia deixar passar essa oportunidade de conhecer um pouco mais sobre essas histórias.

Criando uma Imagem de Disco Criptografada no macOS

Recentemente comecei a fazer uso de imagens de disco criptografadas para guardar arquivos sensíveis dos projetos de meus clientes. Esse é um recurso bem simples de usar, e em conjunto com o 1Password vira uma combinação perfeita para guardar e armazenar esse tipo de arquivo.

Obtendo o Fingerprint de um Keystore do Android

Aplicativos Android usam uma chave para assinar seus APK’s afim de identificar os desenvolvedores na hora da publicação. Quem já trabalhou com Android sabe como o gerenciamento dessas chaves pode ser trabalhoso e as vezes é dificil identificar as informações de uma chave em questão bem como quais as chaves usadas em um aplicativo já publicado.

Dica de Xamarin.Forms — Personalização rápida por plataforma

O Xamarin.Forms permite personalizar os componentes de acordo com a plataforma em que a interface esta sendo renderizada. Isso é feito usando a tag <OnPlatform x:TypeArguments="[Tipo]">, onde o atributo x:TypeArguments determina o tipo de dado que estamos personalizando.

Parem de dizer que aprender a programar é fácil

Eu vi esse tweet após o Keynote do WWDC (2016) da Apple e pensei a mesma coisa. Peraí, programar é difícil. Recompensador, com certeza. Totalmente interessante. Mas dizer fácil cria uma expectativa de fracasso e uma vida de auto-dúvidas nas pessoas...

XAML Styler para Visual Studio for Mac

Na semana passada o Xamarin Show publicou um episódio falando sobre o XAML Styler, um plugin para formatação de arquivos XAML que foi ressucitado recentemente. O que ele não cita nesse vídeo, e que por coicidencia eu descobri momentos antes de assist-lo, é que existe uma versão desse plugin para o Visual Studio for Mac. Ele pode ser encontrado na galeria de plugins:

Xamarin.Forms - Barra de Navegação Personalizada

O Xamarin.Forms a partir da versão 3.2.0 introduziu um recurso muito útil, a capacidade de personalizar a barra da navegação com qualquer View. Em vários projetos que atendi era bem comum o cliente querer colocar o logo do seu aplicativo na barra de navegação. Em alguns casos até escondia a barra de navegação e criava uma própria a fim de conseguir personalizar ela do jeito que o cliente desejava.

Criando Arquivos .gitignore

A configuração de um repositório de código para seu projeto para boa convivência com seu time, passa pela criação de um bom arquivo .gitignore. Nesse arquivo configuramos uma lista de exclusões, arquivos que não serão incluidos nem rastreados pelo git dentro do repositório. Mas qual a finalidade, o repositório não é justamente o espaço onde temos uma cópia completa do código fonte para que o projeto possa ser acessado e recompilado em qualquer ambiente?

Livro do mês: C# in Depth

Todo programador tem sua linguagem do coração, aquela que ele mais gosta, mais se identifica ou que mais trabalhou em sua carreira. C# é a minha! Meu primeiro contato com ela foi em idos de 2001, quando a Microsoft lançou o segundo Beta do então Visual Studio.NET. Na época eu programava em Visual Basic e ASP clássico e linguagens e plataformas como o Java passavam longe do meu radar, já que eu sempre tive mais interesse pela stack da Microsoft.

Conectando a um emulador Android a partir de uma VM

Um cenário típico para desenvolvedores Xamarin que usam Mac (meu caso), mas gostam do Visual Studio para Windows, é usar um Mac como máquina de desenvolvimento carregando o Windows com Parallels Desktop. Ao testar um aplicativo Android é preferível usar o emulador nativo no macOS ao invés de tentar rodar ele dentro da VM do Windows, o que costuma ser bem problemático.

NSubstitute - Verificando chamada em método async

Uma das funcionalidades existentes nos frameworks de substituição como o NSubstitute e o Moq é a capacidade de verificar as ações realizadas em um fake gerado por eles, assim conseguimos verificar se um método ou uma propriedade foi chamado, com quais argumentos, entre outras coisas. Isso acontece pois o objeto gerado mantém o registro das operações executadas nele, o que nos possibilita testar se uma parte do nosso código esta chamando um método em uma dependencia.

NSubstitute - Simulando retorno de um método async

Em testes unitários um stub é um tipo de fake usado para simular o código de uma dependência do objeto ou tema que esta sendo testado (subject under test ou sut). Em meus projetos adotei o NSubstitute como ferramenta para criação de fakes. Ele possibilita configurar de maneira bem simples um objeto para que ele tenha retorno específicos as chamadas de seus métodos.

Publicar ASP.NET Core no CentOS

Recentemente precisei publicar um projeto ASP.NET Core em ambiente Linux, especificamente em um CentOS hospedado na Amazon. Foi a primeira vez que coloquei em prova as capacidades multi-plataforma do .NET Core, e tomei algum tempo aprendendo as particularidades para publicação nesse sistema operacional.

Livro do mês: The Art of Unit Test

Unit Testing é um tema antigo, a primeira vez que me recordo ter tido contato com ele foi pelos idos de 2005, quando era programador .NET e buscava me certificar naquela tecnologia. Nessa época ainda era um programador medíocre, mas sempre em busca de aprimorar minhas técnicas e ferramentas acabei chegando ao NUnit, em algum artigo da MSDN que falava sobre os testes unitários.

Nova Série: Livro do mês

Do final do ano passado para cá resgatei uma forma ancestal de estudos: os livros! Brincadeiras a parte, quando comecei a aprender sobre tecnologia ainda criança, no alto dos meus 11 anos, a Internet ainda engatinhava e não havia uma explosão de conteúdos e ferramentas de aprendizado. Eu pedia ao meu pai que comprasse os livros que encontrava nas livrarias, ainda populares na época, e que eram caríssimos.

Bem-vindos!

Olá! Bem-vindos ao meu novo site.

subscribe via RSS