Autor: magoolation

  • Acessibilidade no Android

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

    Fala galera!

    Tive a oportunidade de gravar com minha amiga Paula Rosa e o pessoal do canal Android Deve BR um cast sobre a implementação de acessibilidade no Android.

    Apenas arranhamos a superfície do assunto que não é complexo mas é bem extenso já que nos deparamos com diversas situações no desenvolvimento de aplicativos que podem ficar bem melhor se a acessibilidade é pensada desde o início.

    O conteúdo ficou bem bacana e espero que vocês curtam.

    O vídeo está disponível aqui.

    Até a próxima!

  • Palestrei no Web Sem Barreiras

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

    Fala galera!

    Aconteceu no dia 4 de agosto o Web Sem Barreiras em sua primeira edição na cidade de Suzano em São Paulo.

    Foi um evento com foco não só na divulgação da acessibilidade mas na fomentação da inclusão da pessoa com deficiencia no mercado de trabalho.

    Além da participação de pessoas com deficiencia visual, coisa comum nos eventos que palestro sobre o tema, havia uma Grand participação do público surdo, oque foi uma experiencia incrível.

    Muito cheio de conteúdo e energia positiva tivemos participações como do Reinaldo da W3C, a Talita Pagani e muitos outros.

    Participei de um painel sobre empregabilidade da pessoa com deficiencia e palestrei sobre as inovações que as novas tecnologias trarão em pouco tempo as nossas vidas.

    Agradeço a toda organização do evento e contem comigo para as próximas edições.

    Até a próxima!

  • Estou no blog da ArcTouch

    Fala galera!

    Finalmente foi publicado no blog da ArcTouch uma matéria sobre mim.

    Foram tantos aprendizados neste um pouco mais de um ano de  empresa, tantas entregas  gratificantes, tantas novas amizades e tanta gente inspiradora que tive o prazer de conhecer e conviver todos os dias que  nem tenho palavras para descrever como me senti  ao ter a matéria publicada.

    Além de  falar um pouco sobre mim dou algumas dicas  sobre Xamarin e desenvolvimento móvel em geral então vale a pena conferir.

    O link direto  para o blog está aqui.

    Até a próxima!

  • Xamarin Summit 2018

    Fala galera!

    Demorei mas finalmente vou falar do Xamarin Summit 2018 que rolou nos dias 7 e 8 de junho na Microsoft.

    A grade estava fantástica contando com muitos especialistas no assunto e cases de sucesso.

    A ArcTouch apresentou duas palestras. O nosso caso de sucesso na implementação de uma aplicação Multitenant em Xamarin.Forms e  sobre  experiencias  com realidade aumentada também utilizando Xamarin.Forms.

    Dentro da grade ainda tivemos conteúdo sobre Prism, MVVMCross, resiliências, programação assíncrona e muito mais.

    Para quem tiver interesse as palestras  estão todas disponíveis na plataforma Balta.io.

    Até a próxima!

  • Office 365: Tornando seu ambiente de trabalho mais acessível

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

    Fala galera! Quando falo de acessibilidade no ambiente Microsoft não falo apenas de como utilizar Windows, Visual Studio e até o pacote Office de forma acessível. Falo também de como podemos promover a acessibilidade através do conteúdo gerado. Como podemos incluir todas as pessoas em nossas comunicações, em nossas atividades. O pessoal da Microsoft Brasil tem trabalhado em divulgar como. tornar o seu ambiente mais diverso e inclusivo e compartilhou diversas dicas em seu blog. Segue o link: https://blogs.business.microsoft.com/pt-br/2018/06/18/acessibilidade-no-trabalho-conheca-os-recursos-inclusivos-do-office-365-e-do-windows-10/ Então que tal a partir de agora garantir que todos os seus e-mails, documentos, planilhas e apresentações estão acessíveis a todos os colaboradores e clientes? Já não tem mais desculpas! Até a próxima!
  • Convergência ao invés de concorrência

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

    Fala galera!

    Não é novidade para ninguém, principalmente por vocês estarem lendo meu blog, que a tecnologia evolui mais rápido que Pokemon em evento especial e com isto novas linguagens, frameworks, metodologias, hardware, software, etc.

    Mas algo que me incomoda muito, principalmente quando vamos procurar por materiais introdutórios as novas tendencias é que eles são criar para “matar um problema que temos com as tecnologias atuais”.

    Não quero tomar partidos aqui mas as brigas “SQL x NoSQL”, “Micro Serviços x Monolitos”, “PWA x Aplicativos”, “Bots x Apps”, etc. etc. inundam events, timelines, artigos e tudo mais como se uma coisa anulasse totalmente a outra.

    Em primeiro lugar é sempre bom ter boas referencias, ou seja, não cair no conto dos “influenciadores de palco”, sim me baseei nos “empreendedores de palco”, que não tem nenhum projeto entregue utilizando o que pregam em palestras, que só se apoiam em cases e dados dos outros, e querem te levar a usar o que. Ele diz em pró de vender uma consultoria, a qual irá fazer com que voce trilhe o caminho sozinho, e na verdade que voce apareça como case de sucesso no seu próximo slide.

    Quando lemos ou falamos com pessoas sérias sobre o tema vemos que eles falam exatamente o contrário. Sobre Micro Serviços será que sua aplicação já está madura a ponto de voce saber que ela deve ser quebrada? Afinal voce não começa hoje um sistema pensando em dividi-lo sem saber como ele ficará.

    Quando falamos de persistencia pessoas sérias falam de “persistência poliglota”, ou seja, nossa aplicação sabe falar com diferentes repositórios d dados, cada um com responsabilidades diferentes baseadas nas capacidades que. Aquela tecnologia oferece, de modo a trazer valor cada vez mais rápido pra estes dados.

    Veremos cada vez mais partes de aplicativos partindo para os bots ou interfaces conversacionais, ou como já vimos em alguns apps de investimentos aplicativos que simulam esta interface apesar de ainda ser um aplicativo com fluxos como qualquer outro, traremos cada vez mais inteligência analisando o comportamento de nossos usuários e sim teremos versões mais leves, provavelmente PWAs para trechos específicos de nossos aplicativos para que nosso usuário tenha uma experiencia “light” de qualquer lugar.

    Gosto de pensar que quando leio um código antigo meu e penso: nossa teria sido melhor ter feito assim ou assado, que. Depois que eu o escrevi vivenciei tantas novas experiencias que fica fácil falar isto, e difícil até mesmo imaginar que er possível se fazer tanta coisa sem os recursos que temos hoje, mas que se tomei aquela decisão era porque naquele momento fiz o melhor que era possível, e continuando aplicando isto até hoje.

    É como dizem: “Se a juventude soubesse ou se a velhice pudess
    E!”.

    Até a próxima!

  • Uma abordagem mais coerente de modelagem de objetos

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

    Fala galera!

    Quando iniciamos nossos estudos de Orientação a Objetos aprendemos que classes e objetos possuem dados e comportamentos.

    Isto é sim verdade, mas da forma que. Isto é listado, os exemplos e tudo mais parece que a parte mais importante são os dados, mas será que isto é verdade?

    Dando um passo atrás devemos lembrar sempre que ao modelar uma classe devemos ter em mente o contexto onde ela será utilizada, o qual normalmente chamamos de domínio, de forma a termos uma visão clara do mesmo.

    Nem todos os nossos sistemas precisam ter acesso a todos os dados do cliente, alias apensar do reuso ser algo que está no DNA da Orientação a Objetos não é crime nenhum termos diferentes versões de uma mesma classe, como o Cliente que é usado na Nota Fiscal, o Cliente que é usado no módulo de Entrega, o Cliente utilizado pelo sistema Financeiro, cada um com um grupo de dados, e comportamentos, diferenciados.

    Outra coisa importante é lembrar que um objeto representa o estado de algo em um determinado momento no tempo. Ao carrega-lo do sistema de persistência ele representa aquele item naquele exato momento, e a partir de que começamos a manipula-lo através da chamada de seus métodos, ele sofrerá alterações e deve ainda permanecer em um estado válido para posterior persistência.

    É por isto que hoje ouvimos tanto falar em Setters privados, encapsulamento dos comportamentos, garantia de que não quebraremos o estado.

    Mas fui além do que queria falar no inicio deste artigo.

    O ponto central aqui é que por começarmos nossa modelagem pelos dados corremos dois riscos: colocarmos em nossas classes dados que achamos que iremos utilizar e transformamos nosso objeto em uma sacola de dados.

    A abordagem que gostaria que vocês experimentassem aqui é a de começar modelando suas classes po seus comportamentos, ou seja, quais mensagens usarei para me comunicar com ela.

    Com isto já consigo visualizar dois itens importantes: quais parâmetros estes métodos receberão? E destes parâmetros qual estado deverá ser alterado e persistido.

    Se te pedisse para modelar uma classe de Conta Corrente com toda certeza voce começaria com os dados do correntista, da agencia, etc., etc.

    Mas e se dentro do contexto que estamos desenvolvendo, talvez um microserviço que cuide apenas de manipular o saldo desta conta, com serviços como Depositar uma quantia e Sacar uma quantia, a coisa já muda de figura, certo?

    Então temos aqui uma classe Conta com dois métodos, Depositar e Sacar.

    Curiosamente os dois métodos recebem um valor monetário, o valor a ser depositado ou retirado da conta.

    Como resultado teremos o Saldo desta conta atualizado e persistido.

    Logo teremos também um atributo, preferencialmente privado, com este Saldo.

    Algo como:

    Classe Conta { void Depositar(decimal valor) => Saldo = Saldo + valor; void Sacar(decimal valor) => Saldo = Saldo – valor; private decimal Saldo = 0; }

    Sim, bem simples, bem rudimentar, mas que me parece ser funcional.

    Agora vamos pro segundo ponto. E se por um erro sistêmico eu passar um valo negativo tanto para Depositar como Sacar? E se eu tentar sacar um valor maior do que meu saldo atual? Colocarei minha conta corrente em um estado inválido.

    É por isto que o encapsulamento de como minha classe funciona é tão importante. Com isto eu garanto que qualquer parte do meu sistema não irá bagunçar meu estado interno e com isto tenho um maior controle do qu está acontecendo, reduzindo a possibilidade de erros.

    O encapsulamento também me traz mais benefícios. Consigo realizar testes de maneira mais isolada e eficaz já que. Reduzo a possibilidade de alterações de estado involuntário tornando os resultados previsíveis.

    Em nossa classe como não conseguimos alterar o saldo sem chamar Depositar ou Sacar, independente de como eu fizer minhas operações, eu sempre obterei o mesmo resultado.

    Não estou falando aqui d concorrência e outros desafios do mundo moderno, mas se não conseguimos visualizar estes problemas já em abstrações mais básicas, a coisa se torna muito mais complicada em versões mais completas e complexas deste modelo.

    Espero ter ajudado!

    Até a próxima!

  • Achou que não ia falar do TDC São Paulo? Achou errado …

    Fala galera!

    Durante a última semana estive em São Paulo para participar da ;décima segunda edição do The Developers Conference São Paulo que aconteceu no campus Vila Olimpa da Universidade Anhembi Morumbi.

    Participei na terça-feira  palestrando sobre Acessibilidade no Visual Studio na trilha .NET que estava incrível.

    Já na quinta-feira auxiliei na coordenação da trilha de mobilidade que poderia muito bem ter sido renomeada para interoperabilidade já que o foi um dos temas mais falados durante todo o dia.

    Já no sábado foi expectador assistindo a maravilhosa trilha de acessibilidade. O conteúdo estava incrível, o público  muito participativo, as discussões  cheias de reflexões  importantes e muita mas muita troca de experiencia e  de empatia entre todos os participantes.

    Só tenho a agradecer a todos da organização, a todos os coordenadores que dedicaram seu tempo a fazer o evento cada vez melhor, aos palestrantes por  dividirem, e automaticamente multiplicarem, todo seu conhecimento, ao público diverso e respeitoso, aos voluntários todos  solícitos e aos patrocinadores que fazem a coisa acontecer.

    Não posso deixar de relatar que tanto os programas +Diversidade quanto  o +Acessibilidade tem sim tornado o TDC um ambiente saudável e seguro para que  todos participem, a acessibilidade do evento  melhorou incrivelmente e já estou contando os dias para a edição de  Porto Alegre.

    Até a próxima!

  • A tecnologia a serviço da humanidade

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

    Fala galera! Se voces acompanhassem meu histórico de filmes assistidos recentemente perceberiam um padrão: filmes relacionados a inteligência artificial e genética. Os dois temas me interessam muito pois por ser um apaixonado por tecnologia não tenho a menor dúvida que estas áreas do conhecimento trarão muitos benefícios a humanidade, como coloquei no título acima. Meu glaucoma é uma doença genética que se tivesse sido tratada já durante a a gestação me teria trazido a visão, e hoje em dia técnicas de c;célula tronco poderiam renovar as células mortas do meu nervo ótico ou até mesmo reconstruir meu olho direito que atrofiou ainda na minha infância. Quantas vidas seriam salvas se tivéssemos robôs monitorando aquilo que humanos acabam desprezando, seja por falta ou at’ mesmo por interesses escusos. Quantas decisões baseadas em dados e fatos e não em viés econômico ou político acabariam com as diferenças entre as pessoas. Gosto muito de exemplificar que pra rodar um programa que escrevi pro computador tanto faz se sou cego, homem, pardo e heterosexual, nenhuma das minhas características físicas ou cognitivas importa pra ele pois para a maquina todos são iguais. Então a próxima vez que assistir um filme em que as máquinas querem nos dominar ou destruir, o que um ser humano irá se transformar em um monstro geneticamente modificado apenas se divirta pois isto esta totalmente longe da realidade que veremos em alguns anos. Até a próxima!
  • E pela terceira vez renovei meu título de Microsoft MVP

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

    Fala galera! No último domingo, dia primeiro de julho, foi iniciado um novo ciclo do programa Microsoft MVP o qual tenho a honra de fazer parte desde 2016. Para quem não conhece o programa trata-se de uma iniciativa da Microsoft, que já tem 25 anos, onde membros da comunidade que tem contribuições relevantes do ponto de vista do compartilhamento de conhecimentos, recebe este premio de reconhecimento e alguns benefícios, apesar de o melhor deles ser realmente a integração com profissionais fantásticos e um contato mais direto com as equipes de produto. Caso queira conhecer mais sobre o programa basta acessar https://mvp.microsoft.com. Mas por que isto é tão importante pra mim? Lembro que em 2008 foi quando tive o primeiro contato e real interesse com comunidades. Havia recém sido fundado o grupo .NET Archtects e em 2009 foi a primeira vez que ouvi falar do programa. Desde então esta galera vem me inspirando. Achava que eles estavam em um outro nível, mas fazia meu melhor para que da mesma forma que eles, eu conseguisse impactar e inspirar pessoas que quisessem entrar ou até mesmo crescer dentro da área de desenvolvimento. E este trabalho trouxe bons frutos, como citei acima. Nem preciso dizer que se cheguei onde cheguei hoje com certeza é resultado do meu trabalho, mas algumas coisas deram uma força e o programa realmente me abriu diversas portas. Fica aqui registrado então o meu compromisso de continuar sendo referencia e ajudando o máximo de pessoas, o meu parabéns aos colegas que também renovaram e aos novos integrantes do time, e a voce que está lendo este post e tem me motivado e confiado em meu trabalho. Até a próxima!