xamarin - dev day 2015

36
Xamarin Desenvolvendo aplicativos Android, iOS e Windows Phone com C#

Upload: studyxnet

Post on 15-Apr-2017

273 views

Category:

Mobile


0 download

TRANSCRIPT

Page 1: Xamarin - Dev Day 2015

XamarinDesenvolvendo aplicativos Android, iOS e Windows Phone com C#

Page 2: Xamarin - Dev Day 2015

Rafael Moura @studyxnetDesenvolvedor Mobile e XSP LATAM Lead

Experiências

• Desenvolvedor Windows Phone na PRODEMGE

• Desenvolvedor .NET na BHS – Pleno• Desenvolvedor .NET na CAST - Estágio• Monitor na Cotemig

Certificações

• Xamarin Certified Mobile Developer

Reconhecimentos

• Xamarin Student Partner LATAM Lead• Xamarin Comunity Speaker• Xamarin Developer Community Lead

Formação Acadêmica

• Bacharel Em Sistemas de Informação – Cotemig• Xamarin University• Técnico em informática - Cotemig

Page 3: Xamarin - Dev Day 2015

Histórico

• 2000 / Mono • 2011 – Fundação da empresa Xamarin• Miguel De Icaza – CTO• Nat Friedman – CEO

Page 4: Xamarin - Dev Day 2015

Motivação

• O desenvolvimento Cross-plataforma possui alguns desafios:

• Variedade de dispositivos e plataformas• Diferentes paradigmas de interação com o usuário• Diferentes ambientes de desenvolvimento• Diferentes linguagens de programação• Mão de obra “multi-especializada”

Page 5: Xamarin - Dev Day 2015

Motivação

• As pessoas buscam aplicativos com ótima experiência

Page 6: Xamarin - Dev Day 2015

O que é o XamarinXamarin, Xamarin.Studio e Visual Studio

• Desenvolvimento Cross-plataform• Utiliza o .Net Framework e todos os seus benefícios• Desenvolvimento utilizando linguagens como C# ou F#

Page 7: Xamarin - Dev Day 2015

Abordagens de desenvolvimentoXamarin, Xamarin.Studio e Visual Studio

Traditional Xamarin Approach Xamarin.Forms

iOS C# UI

Windows C# UIAndroid C# UI

Shared C# Backend

Shared UI Code

Shared C# Backend

Page 8: Xamarin - Dev Day 2015

Por onde começar?Xamarin, Xamarin.Studio e Visual Studio

• O Xamarin possui ferramentas de desenvolvimento robustas para permitir o desenvolvimento de aplicações cross-plataform com qualidade.

• Criando uma conta de desenvolvedor• Grátis por 30 dias ou• Obtenção de uma licença de estudante

Page 9: Xamarin - Dev Day 2015

Visual Studio & Xamarin Studio

Page 10: Xamarin - Dev Day 2015

FerramentasXamarin, Xamarin.Studio e Visual Studio

• Visual Studio• Somente Windows• 2012+• Possibilidade de criação das 3 soluções• Integração com TFS e Azure• Não há intellissense para XAML do Xamarin• Modo Design um pouco diferente das IDE’s padrões

Page 11: Xamarin - Dev Day 2015

FerramentasXamarin, Xamarin Studio e Visual Studio

• Xamarin Studio• MAC e Windows• Não cria Projeto Windows Phone• No Windows não suporta iOS• Intellissense para XAML da plataforma• Integração com serviços da Xamarin• Modo Design parecido com o Android.Studio e XCode

Page 12: Xamarin - Dev Day 2015

Ambiente .NetSuporte a todos os recursos mais recentes do framework:

• C# 6.0• Linq• Lambda Expression• Generic• Async/Await

Page 13: Xamarin - Dev Day 2015

Ambiente .NetSintaxe completamente adaptada com a experiência de desenvolvimento .Net

• Propriedades x Get/Set Methods• Eventos x Listeners

Page 14: Xamarin - Dev Day 2015

NuGet

Page 15: Xamarin - Dev Day 2015

xamarin.com/student

Page 16: Xamarin - Dev Day 2015

✓Sempre AtualizadoTotal Suporte:• Google Glass• Android Wear• Amazon Fire TV• Apple Watch

Já Suporta:• iOS 5• iOS 6• iOS 7• iOS 7.1• iOS 8• iOS 9• Android 2.3+

Page 17: Xamarin - Dev Day 2015

EmuladorXamarin, Xamarin Studio e Visual Studio

• Xamarin Palyer• Boot mais rápido• Windows e Mac• Drag and drop para instalar apps• Aceleração gráfica• ADB sync• Multi touch• Otimizado

Page 18: Xamarin - Dev Day 2015

FerramentasAzure, IBM, Oracle, AWS, Salesforce ….

Aprender

Testar

Monitorar (real-time)

Page 19: Xamarin - Dev Day 2015

Interfaces nativas para iOS, Android e Windows Phone apenas com C#!

Xamarin.Forms

Page 20: Xamarin - Dev Day 2015

Interface Nativa Acesso as Api’s Perfomace Nativa

Page 21: Xamarin - Dev Day 2015

MapKit UIKit iBeacon CoreGraphics CoreMotion

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

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

Suporte a 100% da API nativa

Page 22: Xamarin - Dev Day 2015

Como? ✓ 40+ Pages, layouts, e controls

(C# e/ou XAML) ✓ Two-way data binding ✓ Navigation ✓ Animation API ✓ Dependency Service ✓ Messaging Center

Shared C# Backend

Shared UI Code

Page 23: Xamarin - Dev Day 2015

Suporte a 100% da API nativa

Page 24: Xamarin - Dev Day 2015

Código!<?xml version="1.0" encoding="UTF-8"?><TabbedPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MyApp.MainPage"><TabbedPage.Children><ContentPage Title="Profile" Icon="Profile.png"> <StackLayout Spacing="20" Padding="20" VerticalOptions="Center"> <Entry Placeholder="Username" Text="{Binding Username}"/> <Entry Placeholder="Password" Text="{Binding Password}" IsPassword="true"/> <Button Text="Login" TextColor="White" BackgroundColor="#77D065" Command="{Binding LoginCommand}"/> </StackLayout></ContentPage><ContentPage Title="Settings" Icon="Settings.png"> <!-- Settings --></ContentPage></TabbedPage.Children>

Page 25: Xamarin - Dev Day 2015

Qual o melhor?

Xamarin.Forms : Xamarin.iOS / Xamarin.Android:

• Apps voltados para entrada de dados

• Protótipos e POC

• Apps que não tem muitos códigos de plataforma específica

• Apps onde reutilização é mais importante que UI customizadas

xamarin.com/forms xamarin.com/platform

• Interação especializada por plataforma

• Designs mais refinados

• Apps que utilizam muitas APIs específicas por plataforma

• Apps onde UI customizada é mais importante que reutilização.

Page 26: Xamarin - Dev Day 2015

O que posso usar?

Layouts

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

Page 27: Xamarin - Dev Day 2015

Controles (Views e Cells)ActivityIndicator BoxView Button DatePicker

Entry Image Label ListView

OpenGLView Picker ProgressBar SearchBar

Stepper TableView TimePicker WebView

ImageCell SwitchCell TextCell ViewCell

Page 28: Xamarin - Dev Day 2015

Mercado

Page 29: Xamarin - Dev Day 2015

Códigos específicos

UI+APIs UI + APIsUI + APIs

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

Page 30: Xamarin - Dev Day 2015

TextToSpeech

Speak(“Olá”);

AVSpeechSynthesizer SpeechSynthesizer

Page 31: Xamarin - Dev Day 2015

Vamos falar de qualidade?

Page 32: Xamarin - Dev Day 2015

52020356

S.O.DispositivosLínguasRegiõesTamanhos de tela

924K+

395727

1,2946

S.O.DispositivosLínguasRegiõesTamanhos de TelaMarcasConfigurações de Tela

Page 33: Xamarin - Dev Day 2015
Page 34: Xamarin - Dev Day 2015

Tudo com Xamarin.Forms!Centenas de APIs para iOS e Android

APIs na WEB

Integrações no Backend

Bibliotecas de terceiros - Third-Party

Memória, CPU e rede

Page 35: Xamarin - Dev Day 2015

RecursosXamarin, Xamarin.Studio e Visual Studio

• http://www.xamarin.com• http://stx.blog.br• http://developer.xamarin.com• http://forumns.xamarin.com• http://developer.xamarin.com/guides• MVA- Cross-Plataform Development with Xamarin & Visual Studio

http://bit.ly/1KC3OLO• MVA - Introdução ao Xamarin

http://bit.ly/1VbCPBW

Page 36: Xamarin - Dev Day 2015

?

XAMARIN.FormsDesenvolvendo aplicativos Android, iOS e Windows Phone com C# e Xamarin

OBRIGADO!Rafael [email protected]/stxnetstx.blog.brwww.meetup.com/xamarinmg