SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução ao Xamarin
Introdução ao XamarinIntrodução ao Xamarin
Introdução ao XamarinStudyxnet
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...William S. Rodriguez
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
Plataformas de desenvolvimento mobile
Plataformas de desenvolvimento mobilePlataformas de desenvolvimento mobile
Plataformas de desenvolvimento mobileHumberto Bioca
 
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Jhonathan de Souza Soares
 
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXpand IT
 
Java EE: soluções para o mundo corporativo
Java EE: soluções para o mundo corporativoJava EE: soluções para o mundo corporativo
Java EE: soluções para o mundo corporativoThiago Faria de Andrade
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitFelipe Pedroso
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOSStudyxnet
 
Criação de sites
Criação de sitesCriação de sites
Criação de sitesicajai
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoLeonardo Braga
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.FormsLetticia Nicoli
 
Linguagem de programação da internet
Linguagem de programação da internetLinguagem de programação da internet
Linguagem de programação da internetVictor Barreto
 

Was ist angesagt? (17)

Conheça a Plataforma Xamarin
Conheça a Plataforma XamarinConheça a Plataforma Xamarin
Conheça a Plataforma Xamarin
 
Introdução ao Xamarin
Introdução ao XamarinIntrodução ao Xamarin
Introdução ao Xamarin
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 
Ass 6
Ass 6Ass 6
Ass 6
 
Básico de desenvolvimento com Android
Básico de desenvolvimento com AndroidBásico de desenvolvimento com Android
Básico de desenvolvimento com Android
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Plataformas de desenvolvimento mobile
Plataformas de desenvolvimento mobilePlataformas de desenvolvimento mobile
Plataformas de desenvolvimento mobile
 
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
 
Mercado Java: como se dar bem?
Mercado Java: como se dar bem?Mercado Java: como se dar bem?
Mercado Java: como se dar bem?
 
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
 
Java EE: soluções para o mundo corporativo
Java EE: soluções para o mundo corporativoJava EE: soluções para o mundo corporativo
Java EE: soluções para o mundo corporativo
 
Machine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML KitMachine Learning em Apps Android com ML Kit
Machine Learning em Apps Android com ML Kit
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOS
 
Criação de sites
Criação de sitesCriação de sites
Criação de sites
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à Inovação
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.Forms
 
Linguagem de programação da internet
Linguagem de programação da internetLinguagem de programação da internet
Linguagem de programação da internet
 

Ähnlich wie Xamarin fest latam Salvador 2017

Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Letticia Nicoli
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaJose Augusto Cintra
 
Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018akamud
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Studyxnet
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediAlessandro Binhara
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#William S. Rodriguez
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou AppHeider Lopes
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software LivreRuan Carvalho
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Leonardo Melo Santos
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3Loiane Groner
 
Desenvolvimento de Sites V.2
Desenvolvimento de Sites V.2Desenvolvimento de Sites V.2
Desenvolvimento de Sites V.2Patricia Mallmann
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuitoAlexandre Tarifa
 
Add Technologies - Apresentação da área de Interatividade Digital
Add Technologies - Apresentação da área de Interatividade DigitalAdd Technologies - Apresentação da área de Interatividade Digital
Add Technologies - Apresentação da área de Interatividade Digital.add
 

Ähnlich wie Xamarin fest latam Salvador 2017 (20)

Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
 
Desenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis MultiplataformaDesenvolvimento de Aplicativos Móveis Multiplataforma
Desenvolvimento de Aplicativos Móveis Multiplataforma
 
Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App8ºConnecting Knowledge Web ou App
8ºConnecting Knowledge Web ou App
 
Web ou App?
Web ou App?Web ou App?
Web ou App?
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
iBeer #2 - Xamarin
iBeer #2 - XamariniBeer #2 - Xamarin
iBeer #2 - Xamarin
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
JustJava 2013: Aplicações Desktop HTML5, CSS3, Javascript com Servlets 3
 
Desenvolvimento de Sites V.2
Desenvolvimento de Sites V.2Desenvolvimento de Sites V.2
Desenvolvimento de Sites V.2
 
Campus Party - Desenvolvendo aplicações .Net com software gratuito
Campus Party  - Desenvolvendo aplicações .Net com software gratuitoCampus Party  - Desenvolvendo aplicações .Net com software gratuito
Campus Party - Desenvolvendo aplicações .Net com software gratuito
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
 
Microsoft Bot Framework
Microsoft Bot FrameworkMicrosoft Bot Framework
Microsoft Bot Framework
 
Add Technologies - Apresentação da área de Interatividade Digital
Add Technologies - Apresentação da área de Interatividade DigitalAdd Technologies - Apresentação da área de Interatividade Digital
Add Technologies - Apresentação da área de Interatividade Digital
 

Xamarin fest latam Salvador 2017