Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

24
www.xpand-it.com Proprietary & Confidential Como otimizar o desenvolvimento multiplataforma? Xamarin Dinis Vieira | Xamarin Evangelist & Microsoft Consultant [email protected]

Transcript of Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

Page 1: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

www.xpand-it.com

Proprietary & Confidential

Como otimizar o desenvolvimento multiplataforma?

Xamarin

Dinis Vieira | Xamarin Evangelist & Microsoft Consultant [email protected]

Page 2: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

AGENDA

• Xamarin

– Vantagens

– Arquitectura

– Xamarin.Forms

• Ferramentas / Integrações

• Xamarin Insights

Page 3: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

www.xpand-it.com

Proprietary & Confidential

Vantagens, Arquitetura e Xamarin.Forms

Xamarin

Page 4: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Anatomia de uma Aplicação Nativa

User Interface Nativa

Acesso à API Nativa

Performance Nativa

Aplicações construídas com os

controlos de user interface

nativos para uma interação

mais simples e familiar.

As aplicações tem acesso a toda

a funcionalidade exposta pela

plataforma.

Podem utilizar a aceleração de

hardware nativa e são

compiladas como binários

nativos aos invés de ser

interpretadas durante a

execução.

Page 5: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

API Nativa (e User Interface)

O Xamarin expõe 100% das APIs nativas para iOS,

Android e Windows

Page 6: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Suporte APIs Nativas

Suporte no mesmo dia: iOS 5, iOS 6, iOS 7, iOS 7.1, iOS 8

Suporte completo de: • Google Glass

• Android Wear

• Amazon Fire TV

• Outros…

Page 7: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Performance Nativa

O Xamarin.iOS utiliza a compilação Ahead Of

Time (AOT) para produzir um binário ARM

para a Apple App Store.

O Xamarin.Android utiliza a compilação

Just In Time (JIT) no próprio dispositivo

Android.

Page 8: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Abordagem Nativa (abordagem “silo”)

Design/UI

Business

Logic

Data &

Services

Testing & QA 15%

35%

35%

15%

iOS

100%

Dev. re

sourc

es

15%

35%

35%

15%

Android

100%

Dev. re

sourc

es

15%

35%

35%

15%

Windows

100%

Dev. re

sourc

es

Page 9: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Abordagem XPlat Xamarin

Design/UI

Business

Logic

Data &

Services

Testing & QA 15%

35%

35%

15%

iOS

100%

Dev. re

sourc

es

15%

0% (Shared)

0% (Shared)

15%

Android

30%

Dev. re

sourc

es

15%

0% Shared

0% Shared

15%

Windows

30%

Dev. re

sourc

es

Page 10: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Vantagem C# (com Xamarin)

C# with Xamarin

Page 11: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Arquitectura Xamarin

iOS C# UI Android C# UI Windows C# UI

Shared App Logic Shared App Logic

Xamarin.Forms

Tradicional Xamarin.Forms

Page 12: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin.Forms

Com apenas uma API é possível gerar

interfaces específicas para cada

plataforma.

As várias páginas “Xamarin.Forms” são mapeadas

para elementos de user interface nativos

específicos de cada plataforma.

Page 13: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin.Forms

O Xamarin.Forms é extensível:

Podem-se estender controlos já existentes para customizar o seu comportamento.

É possível definir novos controlos, layouts, páginas, células, …

Page 14: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin.Forms

Decisão de utilização Ecrã-a-ecrã Xamarin.Forms é uma opção ótima

para formulários. É possível misturar

Xamarin.Forms com Xamarin.iOS e

Xamarin.Android na mesma aplicação

de forma a ter um controlo total

sobre o look and feel.

Embed Custom Views em qualquer lado

Não só é possível misturar páginas

Xamarin.Forms com ecrãs costumizados,

como é também possível ter páginas

“normais” com controlos de

Xamarin.Forms e controlos “normais”

em páginas de Xamarin.Forms.

Invocação da API da plataforma via serviços partilhados Caso seja necessário funcionalidades

especificas da plataforma numa página

Xamarin.Forms (como por exemplo invocar o

acelerómetro) é possível utilizar serviços que

abstraem a API especifica de cada

plataforma.

Page 15: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

www.xpand-it.com

Proprietary & Confidential

Ferramentas / Integrações

Page 16: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

async

PCL &

Shared

Projects

Page 17: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Integração Visual Studio

Integração Visual Studio 2013

Uma única solution para

desenvolvimento iOS,

Android e Windows.

Permite utilizar todo o

ecossistema Microsoft:

ReSharper

Team Foundation Server (TFS)

NuGet

Outras ferramentas

Visual Designers para iOS e

Android

Page 18: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin Component Store

Aumento Produtividade e

Time-to-Market mais curto Mais de 200 componentes, desde

Salesforce, Azure e SAP a

componentes de digitalização de

códigos de barra.

Bastam algumas linhas de código

para adicionar os vários

componentes em projectos

Xamarin no Visual Studio ou

Xamarin Studio.

E não esquecer que também se pode

utilizar o NuGet.

Page 19: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

www.xpand-it.com

Proprietary & Confidential

Monitorização em tempo real

Xamarin Insights

Page 20: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin Insights

Permite mais facilmente priorizar a lista de

bugs a corrigir dependendo do impacto que

tem no utilizador.

Saber exatamente quantos utilizadores

estão a ser afetados por um determinado

bug/crash

Saber qual a sequencia de ações que

levaram ao bug/crash

Monitorização em tempo real

Page 21: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Xamarin Insights

Saber:

• Quem está online

• Quais as passos que levaram ao problema

• Quais os problemas que estão a ocorrer

• De onde é o utilizador

• Que dispositivo estava a ser usado

Permite comunicar mais eficazmente sobre

problemas, atualizações e correções.

Monitorização em tempo real

Page 22: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Conclusão

• Xamarin

• Vantagens

• Arquitectura

• Xamarin.Forms

• Ferramentas / Integrações

• Xamarin Insights

Page 23: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma

2015 © Copyright Xpand IT www.xpand-it.com

Office Address

Parque das Nações,

Edifício Mar do Oriente

Alameda dos Oceanos, Lote 1.07.1Y - Fração 2.3

1990-203 Lisbon, Portugal

Contactos

XPAGILE SDC

Rua Camilo Castelo Branco,

Nº 643, R/C Esq.

4900-437 Viana do Castelo, Portugal

[email protected]

T: (+351) 21 896 71 50

F: (+351) 21 896 71 51

facebook.com/Xpand-IT

@xpandit

linkedin.com/company/Xpand-it

Page 24: Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma