Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Desenvolvimento Cross Mobile Com Xamarin e C#

Desenvolvimento Cross Mobile Com Xamarin e C#

Palestra sobre como criar App Nativos Multiplataforma utilizando Xamarin com C#

Avatar for Angelo Belchior

Angelo Belchior

October 26, 2015
Tweet

More Decks by Angelo Belchior

Other Decks in Programming

Transcript

  1. Xamarin é uma plataforma de desenvolvimento que permite criar Apps

    NATIVOS multiplataforma utilizando Mono, a implementação Open Source do .Net Framework. Isso permite o reuso da mesma base de código para todos os Apps, além de possibilitar o uso das ferramentas já consolidadas que são utilizadas pela plataforma .Net/Mono
  2. Três plataformas. Três times. Três linguagens de programação totalmente diferentes.

    XCode ObjectiveC Swift Eclipse Android Studio Java Visual Studio C#
  3. Anatomia de uma App em Xamarin Criptografia Regras de Negócio

    Json XML Etc. Útil Entidades DTO's Validações Camada de Comunicação
  4. O que é Xamarin Forms? Xamarin.Forms é um FRAMEWORK que

    te permite criar UIs Nativas para iOS, Android e Windows reutilizando a mesma base de código. É possível criar as interfaces com C# ou XAML*** MVVM faz a diferença!
  5. Anatomia de uma App em Xamarin Forms Criptografia Regras de

    Negócio Json XML Etc. Útil Entidades DTO's Validações Camada de Comunicação UI XAML MVVM
  6. Como o Xamarin funciona no Android? • Mono Runtime rodando

    diretamente no Kernel do dispositivo ou fazendo chamadas diretas ao Dalvik • Compilação JIT, Gerenciamento de Memória, Reflection, exatamente como em qualquer ambiente Mono/.Net • API's do .Net são mapeadas uma-para-uma com as API’s do Android Como Xamarin funciona no iOS? • Código Mono é compilado em modo AoT (Ahead ofTime), pois devido a restrições da Apple nenhum App pode gerar código durante execução (o que impede compilação JIT) • Boa parte da API de reflection funciona, salvo algumas limitações como Reflection.Emit • API's do .Net são mapeadas uma-para-uma com as API’s do iOS
  7. Arquitetura do DSKids • Api orgulhosamente feita em Asp.Net Web

    Api • Regras de validações e Regras de Negócio compartilhadas entre o Backend e os Apps • C# é foda! • Mais de 200 Testes de Unidade – boa parte deles cobrem códigos que estão no App e Backend #chupaJojo • Já disse que C# é foda? • MVVM com MVMCross - Um dos frameworks mais fantásticos que eu já vi e usei 
  8. C# é a melhor linguagem para o desenvolvimento mobile. Fato!

    Tudo que você pode fazer usando Objective-C, Swift ou Java, você pode fazer usando C#. Mais rápido e de forma mais simples.
  9. • Auto-properties só com get • Initializers para auto-properties •

    Using estático • Interpolação de strings • Expression-bodied methods para a definição de métodos simples • Operador condicional nulo • Operador nameof
  10. Injeção de Dependência Definições da Web Injeção de dependência é

    um padrão de desenvolvimento de programas de computadores utilizado quando é necessário manter baixo o nível de acoplamento entre diferentes módulos de um sistema. ... http://pt.wikipedia.org/wiki/Injeção_de_dependência Dicas para o código não virar bagunça
  11. TDD –Teste Depois do Deploy - A melhor maneira de

    testar um software. Em tempos de crise, redução de Custos: O Cliente paga pelo Software que e ele mesmoTesta Testes???
  12. xUnit.net – Fodástico \o/ xUnit.net is a free, open source,

    community-focused unit testing tool for the .NET Framework. Written by the original inventor of NUnit Teste é coisa séria https://xunit.github.io/
  13. Comunidade Monkey Nights officially supported by Obrigado! Angelo Belchior Microsoft

    MVP [email protected] / @angelobelchior / fb.com/angelobelchior8/ bit.ly/xamarinbr