Aplicações Cross-Platform com Xamarin
Como podemos desenvolver um mesmo
aplicativo para 3 plataformas?
iOS
Objective C
Android
Java
Windows
C#
3x mais problemas
 Gestão de Fontes
 Maior tempo para lançamento de novas versões
 Dificuldades para execução de testes nas plataformas
 Profissionais com perfis diferentes
 Linguagens diferentes (Objective C, JAVA, C#)
Aplicativos Híbridos com Cordova
 HTML, CSS, JS
 Acesso aos recursos nativos
 Roda em uma WebView
 Agilidade no desenvolvimento
Qual a diferença entre um app
híbrido e um nativo?
Aplicativos Híbridos
 Pouca Experiência do usuário
 Não utiliza toda a capacidade de recursos das plataformas;
 Apresenta problemas de compatibilidade;
 Difícil manutenção e debug;
 Interfaces fora do padrão;
 Performance não nativa;
 Acesso a API’s limitados.
Interface de Usuário Nativa
Acesso API
Performance Nativa
Desenvolvimento utilizando interface e
controles padrão permitindo interações
fáceis e familiares
App’s têm acesso a toda a gama de
funcionalidade exposta pela plataforma
independente de dispositivo
App’s tiram vantagem de aceleração de
hardware e recursos específicos da
plataforma, e são compilados como
binários nativos, não interpretadas em
tempo de execução.
Aplicativos Nativos
A PLATAFORMA XAMARIN
Código NATIVO compartilhado
Xamarin utiliza uma Abordagem Única
C#
Código C#
Compartilhado no Backend
Interfaces
nativas C#
Xamarin é 100% Código Nativo
Debug de objetos
Java e Objective C
Interoperabilidade
com qualquer
linguagem
Utilizar bibliotecas
Android e iOS de
forma nativa
Empacotar e
disponibilizar uma
aplicação nativa
única
Compartilhamento de Código
C# App Logic
C# User Interface 30%
70%
• Licenciamento da Apple requer um Mac para Build e teste de
aplicativos iOS.
Integração com Mac (build host)
70% de compartilhamento de código não é
suficiente!?
Podemos escrever uma vez só a
interface que é reutilizada nas 3
plataformas.
Xamarin.Forms
Agora temos em torno de 90% de
código compartilhado :D
Xamarin Forms
• Maximiza o compartilhamento de código entre plataformas;
• Mais de 40 controles, páginas e layouts;
• Construa interfaces usando C# ou XAML;
• Navegação, animação, mensageria.
Xamarin Forms
Pages
Layouts
Xamarin Forms
Controles
Microsoft Azure Cognitive Services
Machine Learning
Uma Odisseia no Espaço - HAL 9000
2
8
Machine Learning é um método de análise
de dados que automatiza o
desenvolvimento de modelos analíticos,
usando algoritmos que aprendem
interativamente a partir de dados.
2
9
O aprendizado de máquinas permite que os
computadores encontrem insights ocultos
sem serem explicitamente programados
para procurar algo específico.
Qual o impacto dessa evolução
tecnológica no mercado?
Interação com o Cliente
Visão do Cliente
Dinâmica do Negócio
Computação Cognitiva
A computação cognitiva é a capacidade de
simular o processo de pensamento humano
em um modelo computadorizado.
Observar
Entender
Avaliar
Decidir
A cognição é a forma como todos nós
aprendemos, sendo o ato ou processo de
aquisição do conhecimento.
Soluções cognitivas visam automatizar um
novo contexto operacional que está associado
ao processo cognitivo e decisório humano.
Como desenvolver aplicações mobile seguindo
a dinâmica do processo cognitivo?
Xamarin.Forms &
Cognitive Services - Vision
Algoritmos avançados de processamento de
imagem, que podem ajudar a moderar o
conteúdo automaticamente e extrair dados
importantes a partir do mapeamento das
imagens, faces, expressões.
Cognitive Services - Speech
Processamento da língua falada em seus
aplicativos e conversão de áudio para texto com
identificação de múltiplos locutores.
Cognitive Services - Language
Possibilita o processamento de linguagem natural e
avaliação do sentido de expressões e tem a
possibilidade de aprendizado para reconhecimento do
que os usuários de fato querem.
Cognitive Services - Knowledge
Mapeamento de dados e informações complexas
para resolver tarefas como recomendações
inteligentes, pesquisa semântica, prever o que os
usuários querem encontrar e utilizar o rico
conteúdo do Microsoft Academic Graph para
melhores resultados.
Cognitive Services - Search
APIs de Pesquisa do Bing que oferece uma
experiência de busca mais inteligentes.
Como funciona o acesso ao
Microsoft Azure Cognitive Services?
Demo Computer Vision
Acesso ao site oficial Cognitive Services
Geração da Chave de Acesso
Inclusão do pacote Microsoft ProjectOxford.Vision
Inclusão do pacote Media Plugin for Xamarin
Interface Xamarin
Detalhe das referências
Código atribuído ao evento do botão
Código de chamada ao Api Computer Vision
Tela Inicial
Resultado retornado do API
JSON:
{
"language": "en",
"orientation": "Up",
"regions": [
{
"boundingBox": "41,77,918,440",
"lines": [
{
"boundingBox": "41,77,723,89",
"words": [
{
"boundingBox": "41,102,225,64",
"text": "LIFE"
},
{
"boundingBox": "356,89,94,62",
"text": "IS"
},
{
"boundingBox": "539,77,225,64",
"text": "LIKE"
}
...
Computer Vision APIs
Alisson Sena
Arquiteto de Soluções Mobile
alissonosena@gmail.com
Site Oficial Xamarin
https://www.xamarin.com/
Site Oficial Cognitive Services
https://azure.microsoft.com/pt-br/services/cognitive-services/

Xamarin fest latam Salvador 2017