Autor: magoolation

  • try.dot.net: Um ambiente .NET a um clique de distancia

    Fala galera!

    Depois de muito tempo tento voltar aqui. Em breve publico mais novidades sobre minha trajetória profissional mas hoje venho com algo que me surpreendeu positivamente.

    As vezes precisamos fazer algumas provas de conceito, provar que algo funciona de determinada forma dentro da linguagem, experimentar alguma nova feature do compilador mas nÃo temos nem tempo, e as vezes nem abiente para fazer estes testes.

    O correto agora é dizer que não tinhamos. A algum tempo temos o site https://try.dot.net onde podemos escrever e testar nossos códigios em um ambiente totalmente online.

    A impressão que me passa é que este site é praticamente o editor C# do Visual Studio Code embarcado em um site, e o resultado é realmente muito rápido.

    Espero que ajudem nos estudos de C#!

    Até a próxima!

  • Vou palestrar no Xamarin Dev Summit 2019

    Fala galera!

    O título parece familiar mas não estou falando do Xamarin Summit Brasil, o maior evento de Xamarin da América Latina, o qual em breve trarei novidades.

    Estou falando do Xamarin Developers Summit organizado pelo Dan Siegel e que acontecerá dias 11 e 12 de julho no Texas, USA.

    Na útima sexta-feira recebi a confirmaçao e irei apresentar pela primeira vez uma palestra totalmente no idioma da rainha e de quebra falar sobre acessibilidade.

    Estou muito feliz com mais este reconhecimento e espero de verdade que eu possa compartilhar uma mensagem de que acessibilidad é sim algo fundamental em nossos aplicativos e que em Xamarin.Forms é muito fácil de se implementar.

    Até a próxima!

  • Visual Studio 2019 Release Candidate

    Fala galera!

    Foi disponibilizado hoje o download od Visual Studio 2019 Release Candidate, com data de lançamento oficial anunciada para dia 2 de abril.

    Esta versão já possui todos os recursos que serão disponibilizados na versão final e sua utilização é recomendada para que o time do Visual Studio possa corrigi qualquer problema antes do l;ançamento oficial.

    Temos muitas melhorias de produtividade, performance, usabilidade e esta versão está preparada para suportar todo o novo tooling como o .NET Core 3, suporte a WPF e Windows Forms no .NET Core, recursos avançados de debug para a verão Enterprise, entre outros.

    Já na versão para Mac temos uma nova interface, melhorias consideráveis em todo o produto e vale muito a pena termos ele instalado.

    Vale lembrar que podemos ter tanto a versão 2017, 2019 e 2019 Preview lado-a-lado na mesma máquina, permitindo utilizar a versão 2017 para aqueles projetos que não serão mais suportados na versão mais nova.

    O download pode ser feito em: https://visualstudio.microsoft.com/downloads/

    Até a próxima!

  • Microsoft na MWC 2019

    !Fala galera!

    Ontem fui pego de surpresa com o anuncio da Microsoft na Mobile World Congress que está acontecendo durante esta semana em Barcelona.

    Com a abertura sempre inspiradora do Satya Nadella, CEO da Microsoft, mais uma vez ele falou da importancia de empoderar cada individuo, empresa e governo pelo mundo através do uso da tecnologia.

    Como não poderia deixar de ser os anuncios para a MWC uniram nuvem, IOT e realidade mista.

    Começamos com o Azure Knetic uma evolução do hardware inicialmente criado para games mas que se provou ser muito mais do que isto. Agora com a integração com todo poder da nuvem praticamente não há mais limites para o que nós desenvolvedores podemos criar com ele.

    Em seguida foi falado sobre Internet das Coisas, novas parcerias, segurança e como isto irá mudar a industria.

    E por último foi falado do HoloLens 2, sua aplicação e a nova iniciativa de uso em ambiente empresarial.

    Tudo pode ser conferido no vídeo:


    Até a próxima!

  • NVDA Driver para Selenium

    Este artigo foi publicado em 2019. Ferramentas e versões citadas podem ter mudado desde então; a reflexão permanece.

    Fala galera! Sabe aquelas coisas que você pensa: “como nunca pensaram nisto antes?”. A genialidade do meu amigo e também MVP @kastwey realmente me deixou muito empolgado. Trata-se de um driver para Seleium que permite usar o NVDA (leitor de telas open source) para realização de testes automatizados com base na acessibilidade. Como assim? Ao invés de realizar as ações no navegador vocêconsegue aferir se o que o leitor de telas leu é o comportamento esperado. Com isto podemos fazer uma automação muito mais precisa e os testes de acessibilidade com base em uma navegação “real” do usuário e não a verificação de atributos do HTML. O código pode ser encontrado em https://github.com/kastwey/nvda-testing-driver e você também pode instalar o pacote nuget. Neste fim de semana devo por as mãos nesta obra de arte e provavelmente colocar um vídeo aqui dos resultados. Até a próxima!
  • Windows 10, WSL, docker e máquinas virtuais

    Fala galera!

    Tivemos no grupo do WhatsApp da lista de cegos programadores uma discussão bem interessante sobre o uso do WSL (Windows Subsystem for Linux), docker e máquinas virtuais.

    É sábido de muitas pessoas com deficiencia visual que necessitam utilizar virtualização que nem sempre o desempenho dos leitores de tela nas máquinas emuladas é satisfatório, principalmente quando temos o Windows como sistema hospedeiro.

    Outro grande problema é a forma como nos comunicamos com softwares que rodam nestas máquinas, tais como servidores, infraestrutura e etc.

    Apesar de passar boa parte do meu dia utilizando Parallels e Windows 10 dentro de um OSX, meu mundo dos sonhos seria ter uma máquina Windows full time, utilizando todo poder de fogo mas mesmo assim podendo desenvolver e depurar aplicativos iOS.

    O serne da questão é que quando utilizamos docker reduzimos praticamente a zero a necessidade de ambientes Linux para quem está acostumado a ambiente Windows.

    Desde que se saiba o que que se está fazendo podemos empacotar e utilizar diversos aplicações Linux dentro de containers de forma totalmente transparente.

    Dando um exemplo, tenho o pandoc, um convertedor universal de formatos de textos, gerador de PDF, ePub e outros, rodando no docker sem a necessidade de   investir um minuto em infraestrutura para ter um ambiente rodando.

    Logicamente o WSL nos trouxe outras possibilidades como o desenvolvimento inclusive de aplicações C++ totalmente em uma máquina Windows mas com target em distribuições Linux.

    Para projetos iniciados em ambiente Linux, com diversos scripts shell a migração também se torna transparente.

    Mas como eu disse, cada variável a mais que adicionamos em nossa infra, mais um ponto de atenção adicionamos a nossa lista de verificações quando estamos fazendo um troubleshooting.

    De forma bem reduzida diria que um ambiente saudável hoje tem Windows 10, docker e no máximo WSL. Qualquer ingrediente am ais é arriscado para a sua receita dar certo.

    O que você tem usado?

    Até a próxima!

  • Quais as atribuições de um desenvolvedor em 2019?

    Fala galera!
    Recentemente palestrei sobre empregabilidade de pessoas com deficiencia, mas um dos tópicos que comentei me remeteu a algo muito interessante que vem acontecendo com nosso mercado de trabalho.
    Logicamente que existem os processos de recrutamento sem noção e que pedem um profissional impossível de se encontrar ao preço que eles querem bancar, mas na verdade quais são as atribuições, justas, de um desenvolvedor nos nossos dias?
    A muito tempo deixamos de ser apenas os atendedores de pedidos. Não apenas recebemos uma demanda e a codificamos da melhor forma com a melhor qualidade, mas também automatizamos testes, enviamos os códigs para um ou mais ambientes, os quais muitas vezes os momntamos também de forma automatizada e logicamente nos empenhamos em sermos os mais ágeis possível na solução dos problemas que infelizmente só foram detectados em produção.
    Ou seja estamos em todo o ciclo do desenvolvimento participando desde as reuniões de definições técnicas do início do projeto até a monitoração da nossa entrega em produção.
    Em empresas maiores você acaba dividindo estas atribuições com outros papéis, arquitetos, profissionais de infra, etc. mas em empresas menores e principalmente nas Startups ter esta dedicação é mais que desejável, é o que acaba tornando a operação via’vel nos primeiros dias sem clientes.
    E o que podemos fazer para ir além?
    Venho estudado muito sobre métricas, tanto do ponto de vista de analisar como minha solução está performando tecnocamente, quanto o quanto ela está atingindo os clientes.
    Tenho brincando com o ‘dados analíticos de nossos usuários e verificando de forma mais objetivas porque determinada funcionalidade é mais ou menos utilizada, ou quais conjuntos de chamadas a API trazem menor tempo de resposta, ou quais dados nm são tão utilizados assim.
    Isto tem me trazido insights bem interessantes de possível próximos passos e como otimizar o tempo do time naquilo que realmente traz valor.
    Acredito que cada vez mais isto será papel do time como um todo, em que muito tempo não teremos mais “donos” de atividades, e precisaremos cada vez mais de times com atitude.
    E você? O que tem feito de diferente e que virou sua atribuição?
    Até a próxima!

  • O dia em que conheci Satya Nadella

    O dia em que conheci Satya Nadella

    Fala galera!
    Foi uma semana muito intensa com viagens, palestra e uma foto que marca um momento tão importante para minha vida pessoal e profissional.
    Na última terça-feira dia 12 ocorreu em São Paulo o evento Microsoft AI+ Tour que teve como keynote o CEO Satya Nadella que trouxe em seu discurso muita inspiração e insights sobre as oportunidades que se abrem quando se une vontade e tecnologia.
    Ele reforçou muito um conceito o qual ele aplica diariamente na Microsoft a Tech Intensity, ou seja, não basta termos a tecnologia a disposição, temos de ter intensidade em aplicaça-la.
    Mas o dia só estava começando eu nem imaginava o quanto ele poderia melhorar.
    Participei deste evento pois tive a honra de ser convidado, juntamente com mais nove MVPs, a partificar de uma foto com o Satya.
    Seria algo muito rápido, afinal a agenda de um CEO é realmente controlada minuto a minuto.
    Na hora de nos posicionarmos para recebe-lo fui colocado estratégicamente como primeiro da fila, e ao ouvir que ele havia entrado na sala só tive uma reação a de extender minha mão para cumprimentá-lo e ao perceber que ele estava próximo dizer “Thank you for changing my life!” (Obrigado por mudar minha vida).
    Após cumprimentar todos na sala, e nos posicionarmos como haviamos ensaiado duas vezes, afinal o tempo era nosso inimigo, foram tiradas algumas fotos e logo após ele novamente se direcionou a mim perguntando quais tecnologias eu trabalhava.
    Falei que usava o Visual Studio, Visual Studio Code e Azure e ele me perguntou sobre a acessibilidade.
    Relatei que els haviam melhorado muito nos últimos anos, que me sentia satisfeito e que eles estavam no caminho certo. Logicamente que o pouco tempo que eu teria não iria chorar as pitangas do portal do Azure.
    Ele disse que sabe o quão importante é ter ferramentas acessíveis e que o desafio dlees atualmente é manter a consistencia, ou seja, o que estiver bom continuar bom e introduzir novas melhorias.
    Ele me cumprimentou novamente e aos demais participantes apenas perguntou quais as tecnologias.
    Coisas que gostaria de ressaltar: é impressonante a simplicidade e simpatia do Satya. Ele estava a todo momento sorrindo, e posteriormente ouvindo como como foi a passagem dele no Brasil só aumentou minha adimiração pelo mesmo. A energia naquela sala realmente mudou desde a hora que ele entrou, e meu dia foi baseado na ansiedade de receber aquela foto e poder postar.
    A segunda coisa é o quanto ele onhece o seu público, seja ele em qual seja o ambiente. Ele deu uma visão muito boa de negócios para a Inteligencia Artificial, foco claro do evento, mas conseguiu flar de tecnologia com os MVPs perguntando das das ferramentas que usavamos e fazendo comentários rápidos sobre as mesmas.
    Depois da foto ele ainda teve uma reunião com todos os funcionários da Microsoft Brasil, falou com alunos de escola pública, deu uma palestra para participantes de uma ONG e a noite ainda viajaria para Colombia.
    E mesmo assim, em todos os momentos ele estava sempre sorrindo, sempre cumprimentando a todos e mesmo assim ele conseguiu nos atender, e dedicar 1/5 do tempo que ele tinha conosco falando comigo.
    Sem sombra de duvidas é um dos dias mais importantes da minha vida e me mostra que não importa quantos degrais subamos, quando olharmos ao redor temos de ver a todos com o mesmo tamanho pois subir não quer dizer ser melhor.
    Áté a próxima!

  • O que esperar para Xamarin em 2019

    Fala galera!

    Na semana passada tivemos uma conversa bem interessante aqui na bancada sobre o futuro do Xamarin neste e nos próximos anos.

    Quero em primeiro lugar destacar que todas as informações que colocarei aqui são minhas opiniões pessoais e não refletem nem opiniões ou informações do time do Xamarin ou da Microsoft.

    Durante muitos anos acredito que o Xamarin se destacou como solução de aplicaçoès cross platform nativas tendo como concorrentes apenas as aplicações hibridas, que apesar de populares se diferenciavam principalmente pela qualidade das interações.

    Outro fator que popularizou as demais tecnologias hibridas foi a falta de profissionais com conhecimento de mobile e muitos profissionais com comhecimento de Web, o que tornava o porte de uma tecnologia para a outra mais tranquilo.

    Sabemos bem que isto não é verdade. Que são mundo totalmente diferentes e o bom conhecimento das plataformas iOS e Android é fundamental para não só oferecer a melhor experiencia do ponto d vista da experiencia do usuário quanto do ponto de vista dos acessos a recursos que cada plataforma oferece.

    Nunca escondi que sempre gostei muito de C#, acho uma linguagem incrível, e até mesmo por falta de acessibilidade nas IDEs para as outras plataformas, e a qualidade indiscutível do Visual Studio, tornou Xamarin minha opção principal.

    Mas sempre vi a plataforma evoluir de forma bem lenta, e costumo bricar que uso Xamaindesde o tempo qu ainda n~~não funcionava.

    Só quem usou Xamarin.Forms 1.x sabe o que era ter um pojeto compilando hoj e parando dois dias depois e voltando com o próximo release.

    O surgimento do Xamarin 4 e do Xamarin.Forms 2.xfoi realmente muito esperado. Muitos novos recursos chegaram e com eles a estabilidade um pouco mairo.

    E agora com o Xamarin.Forms 3.x temos realmente novidades sendo adicionadas mais rapidamente com o auxilio da comunidade. Temos mais recursos embutidos no Visual Studio. Mas ainda acho que estamos longe do ideal.

    Tivemos novas implementações polemicas como o uso de CSS para estilos. Novas plataformas adicionadas como MacOS, WPF e GTK. Mas coisas importantes como um novo ListView, um CarousselView e outros recursos tão aguardados.

    Mas recentemente algo mudou neste pequeno mercado de poucos competidores.

    Desde 2015 a Google vinha apresentando o FLuther, uma soluçãop também cross platform, com código nativo e uma nova forma de renderização, baseada em Skia, que tem como principal diferencial as interfaces imutáveis.

    Sem sombra de duvidas a qualidad das apss é muito boa, o desempenho é excelente, e a única coisa que  me deixava com o pé atrás era a faltade acessibuilidade, resolvida com a saída da versão 1.0 que é a primeira versão oficial do produto.

    O ooling é incrível com hot deploy e reload mantendo-se o estado da app. Isto, pra quem trabalha com projetos com quase 6 minutos de build sabe como é interessante.

    E qual será a resposta da Xamarin?

    Acredito que com u um novo concorrente de peso no mercaod as coisas começarão a ndar mais rapidamente. Em breve teremos o MVP Global Summit onde poderei pessoalmente tirar minhas duvidas, e sabemos que em maio teremos a Google IO e provavelmente o Microsoft Build e neste ano veremos o primeiro embate real entre as duas tecnologias.

    Xamarin coninua e continuará sendo minha opção para qualquer projeto, mas saber que há um competidor que irá ajudar a puxar este mercado me mostra que sempre que temos uma concorrencia nós desenvolvedores saimos ganhando.

    Onde vvocêpostará as suas fichar?

    Até amanhã!

  • O que aprendi nos últimos 18 meses com Code Review

    Fala galera!
    Já durante o processo para entrar para ArcTouch já tive meu primeiro contato com a cultura de Code Review e esta é uma prática muito importante de nosso processo.
    Nenhum código deveria ser integrado sem antes passar por pelo menos um outro desenvolvedor, e em tarefas de desenho ou atualização de User Interfaces de um designer (com anexos dos screenshots).
    Em um primeiro momento achei isto um pouco invasivo, e de certa forma, até um pouco preocupante já que alguém estaria criticando diretamente o meu trabalho, o código que fiz.
    Mas o efeito é totalmente o contrário.
    Quando comecei a eceber os primeiro feedback sobre meu código percebi algumas lacunas na forma de pensar para resovler um problema.
    Muitas vezes estamos tão preocupados em primeiro entregar a solução, que não nos atentamos prática de refatorar o nosso código para que ele seja de melhor qualidade.
    Percebi também que eu tinha gaps de testes, que existem áreas que eu preciso melhorar meu feramental, ou seja estou crescendo muito como profissional com as dicas que vim recebendo no caminho.
    E isto é uma rua de mão dupla. Toda vez que vejo um código penso em como consigo tornar o trabalho dos meus pares ainda melhor,dando uma dica do que sei, indicando um problema que não havia sido percebido.
    O github torna este processo muito agradável. E tenho aprendido cada vez mais a fazer melhores reviews.
    Inclusive se quiserem fazer qualquer tipo de comentários lá nos meus repositórios, por avor fiquem a vontate.
    Até amanhã!