Top Banner
Trilha .NET
67

Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Jul 23, 2015

Download

Mobile

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Trilha .NET

Page 2: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Monkey Nights Devs

Co founder

fb.com/MonkeyNightsDevs

@MonkeyNightsDevs

William S. Rodriguez

Arquiteto de Soluções Moveis

[email protected]

williamsrz.com.br

@WilliamSRodz

Page 3: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

No Code

Page 4: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

2012

Page 5: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

2014

Page 6: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

dos brasileiros possuem dois

ou mais Smartphones.

Fontes: Insights Globais Sobre Smartphones da Nielsen, primeiro semestre de 2012; Insights Sobre Telefonia Móvel da Nielsen, 2012

48% dos colaboradores de uma

organização dependem de

tecnologia e dispositivos

móveis para realizar o seu

trabalho.

25%

Page 7: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

DesafiosConstruir um módulo mobile de um sistema em produção.

Page 8: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Novas IdeiasVamos construir um aplicativo que ...

Page 9: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 10: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Java

Eclipse

Android App

C#

Visual Studio

Windows App

Objective-C

XCoce

iOS App

Page 11: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Maior tempo para

lançamento de novas

funcionalidades e

dificuldades para

execução de teste

Sobrecarga na gestão Investimento em

hardware diferentes

Perfis diferentes de

profissionais e

linguagens

incompatíveis entre si

(JAVA, Objective C, C#)

Page 12: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

“Mesmo se você tiver o mesmo esforço de desenvolvimento para todas as trêsplataformas ainda terá três meses de projeto”

+ =

Page 13: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

“Comece pelo Android é mais fácil”

Page 14: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 15: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 16: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

API’s mais complexas

(difíceis de utilizar)

Aplicativos Android

custam de 2 a 3 vezes

mais para desenvolver

do que Aplicativos iOS

Fragmentação de

ambiente (8 versões do

OS e mais de 7mil

dispositivos diferentes)

Baixa produtividade

(emulador e ambientes)

Mais fácil... Mesmo?

Page 17: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Aprender com os erros dos outros

Page 18: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 19: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

"The biggest mistake we

made as a company was

betting too much on

HTML5 rather than native"

Image source huffingtonpost.in

Page 20: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Mas HTML5 é o futuro!?

APP NATIVAHTML5

Image Source huffingtonpost.in

Page 21: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Abordagens

mágicas!?“Escreva uma vez e rode em qualquer lugar”

Page 22: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Abordagem da “caixa mágica preta”

Black Box

Page 23: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Altas taxas de abandono e desperdício de investimento

Apresenta problemas de

compatibilidade e

performance (não

nativa)

Experiência do usuário

pobre e Interfaces fora

do padrão;

Difícil manutenção e

debug

Não utiliza toda a

capacidade de recursos

das plataformas de

forma homogenia e tem

acesso limitados a API’s

Page 24: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Aplicações

Nativas

Page 25: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

“People expect great experiences from their mobile devices…”- Miguel de Icaza

Page 26: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Aplicações Nativas

Interface de Usuário Nativa

High-fidelity API Access

Native Performance

App’s são construídas 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.

Page 27: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Por que?

Page 28: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Slides para

os “chefes”

Page 29: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Construa App's Nativas Teste Monitore

Page 30: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Experiências nativas

acesso a GPU, Stylus,

GPS, Acelerômetro e

ficar aberto a

tendências e novas

tecnologias.

Produtividade e

reaproveitar o código

Suporte ALM e TFS,

evolução continua e

interação com

componentes e

bibliotecas de terceiros

Aproveitar intelecto

(programadores C#)

Page 31: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Developers,Developers,Developers,Developers!

Page 32: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Como funciona?

Page 33: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Xamarin utiliza uma Abordagem Única

C#

Page 34: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Xamarin Abordagem Tradicional

Shared C# codebase • 100% native API access • High performance

iOS C# UI Windows C# UIAndroid C# UI

Shared C# Mobile C# Server

Linux/Mono

CoreCLRAzure

Shared C# Client/Server

Page 35: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Xamarin.Forms

Shared C# codebase • 100% native API access • High performance

Shared C# Mobile

Shared C# Client/Server

C# Server

Page 36: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

C#

Page 37: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

MapKit UIKit iBeacon CoreGraphics CoreMotion

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

C#

Page 38: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Text-to-speech ActionBar Printing Framework Renderscript NFC

System.Data System.Windows System.Numerics System.Core System.ServiceModel

System.Net System System.IO System.Linq System.Xml

C#

Page 39: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Por que Xamarin?

Compartilhe o código que faz sentido, tire

vantagem da UX nativa de cada plataforma.

Page 40: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

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

Page 41: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Nearables

Xamarin.Robotics

Wearables

http://bit.ly/xamarin-nearables

http://bit.ly/xamarin-robotics

http://bit.ly/xamarin-wearables

Page 42: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Xamarin.iOS executa compilação Ahead Of

Time (AOT) produzindo o binário (.app) ARM

para Apple App Store.

Xamarin.Android tira vantage da compilação

Just In Time (JIT) nos dispositivos Android.

Page 43: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Por que?

C#

Page 44: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 45: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

var doc = Xdocument.Load(utl);

foreach(var item in doc.Root.Elements()) {var text = item.value;

}

from p in Table<Pessoa>()where p.ID == idselect p;

button.TouchUpInside += (s,o) => {message.Text = “Olá!”;

}

from item in itens.AsParallel()let result = VaiDemorarUmPouco(item)select result;

var client = new HttpClient();

Task<string> getStringTask = client.GetStringAsync(“http://williamsrz.com.br”);

E por ai vai...

Page 46: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Menos código mais resultado

C#

Page 47: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Objective-C C# com Xamarin

Page 48: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Java C# com Xamarin

Page 49: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Visual Studio

Page 50: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Qualquer coisa que você conseguir fazer utilizando

Objective-C, Swift, ou Java! Pode ser feita com

C# e Xamarin no Visual Studio

Page 51: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Visual Studio como IDE

Desenho de telas

integrado (iOS, Android

e Windows Phone)

Suporte a PCL

DLL portáveis

Uso de uma única

linguagem de

desenvolvimento

Team Foundation Server

(TFS), NuGet e

ReSharper

Page 52: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Portable Class Libray

Page 53: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

› Código reutilizável;

› 1 Assembly = Multiplas Plataformas;

› Core, LINQ, HTTPClient

› NuGet

› Refactoring

File > New > Portable Class Library

Portable Class Libray

want most of our code here

Page 54: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Portable Class Libray

PCL é “amarrado” a um profile específico que define APIs específicas que podem ser

usadas em cada plataforma.

Page 55: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

* Media de Compartilhamento

Page 56: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

http://icircuitapp.com/

Page 57: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Page 58: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

“Rdio’s mobile app is also the best looking and best

implemented of the three [music streaming apps reviewed]”

– Wired

Page 59: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Única solução Cross-

plataforma a suportar

Amazon Fire

Única solução Cross-

plataforma a suportar

Wearables e Nearables

100% de suporte

Android L

100% de suporte ao iOS

8 (no mesmo dia)

Page 60: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Como conectar os dados e dispositivos?

Azure

Page 61: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Azure Mobile Apps

Sincronização de dados

offline para criar

aplicativos dinâmicos

Conexões Híbridas e

VPN para conectar

aplicativos aos dados

locais

Notificações

personalizadas por push

Dimensionamento

automático interno de

acordo com as

necessidades dos

aplicativos

Page 62: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Backend para aplicações móveis

Conectar-se a recursos

locais como SAP, Oracle

e SQL Server e

SharePoint

Autenticação e

Autorização com

integrado ao Active

Directory

SSO utilizando conta

Microsoft ou de redes

sociais(Twitter, Facebook, Google)

Conectar-se a

aplicações SaaS

(Sales Force, Office 365)

Page 63: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Data & Synchronizing Data

Sincronização baseada

em nuvem para criar

aplicativos que

funcionam off-line

Sincronização entre

múltiplos dispositivos

Armazenamento de

dados em SQL,

Armazenamento de

Tabela e MongoDB

Capacidade Cross

platforma

Page 64: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

A melhor experiência para usuários aliada a qualidade e produtividade para desenvolvedores

Page 65: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Qualquer plataforma e qualquer tipo de aplicativo.

Page 66: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

Monkey Nights Devs

Co founder

fb.com/MonkeyNightsDevs

@MonkeyNightsDevs

William S. Rodriguez

Arquiteto de Soluções Moveis

[email protected]

williamsrz.com.br

@WilliamSRodz

Page 67: Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services

ExtrasCamiseta Xamarin (de graça) https://xamarin.com/c-sharp-shirt

Azure Free Trial http://azure.microsoft.com/pt-br/pricing/free-trial/

Visual Studio Communityhttps://www.visualstudio.com/en-us/products/visual-studio-

community-vs.aspx

HBO Silicon Valley http://imdb.com/title/tt2575988/

The Sopranoshttp://imdb.com/title/tt0141842/

Cartons by fb.com/cartoonistforhire