xamarin - dev day 2015

Post on 15-Apr-2017

274 Views

Category:

Mobile

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

XamarinDesenvolvendo aplicativos Android, iOS e Windows Phone com C#

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

Histórico

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

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”

Motivação

• As pessoas buscam aplicativos com ótima experiência

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#

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

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

Visual Studio & Xamarin Studio

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

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

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

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

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

• Propriedades x Get/Set Methods• Eventos x Listeners

NuGet

xamarin.com/student

✓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+

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

FerramentasAzure, IBM, Oracle, AWS, Salesforce ….

Aprender

Testar

Monitorar (real-time)

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

Xamarin.Forms

Interface Nativa Acesso as Api’s Perfomace Nativa

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

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

Suporte a 100% da API nativa

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>

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.

O que posso usar?

Layouts

Pages

Stack Absolute Relative Grid ContentView ScrollView Frame

Content MasterDetail Navigation Tabbed Carousel

Controles (Views e Cells)ActivityIndicator BoxView Button DatePicker

Entry Image Label ListView

OpenGLView Picker ProgressBar SearchBar

Stepper TableView TimePicker WebView

ImageCell SwitchCell TextCell ViewCell

Mercado

Códigos específicos

UI+APIs UI + APIsUI + APIs

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

BatteryGPSLightsNotificationsSettingsText To Speech

TextToSpeech

Speak(“Olá”);

AVSpeechSynthesizer SpeechSynthesizer

Vamos falar de qualidade?

52020356

S.O.DispositivosLínguasRegiõesTamanhos de tela

924K+

395727

1,2946

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

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

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

?

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

OBRIGADO!Rafael Mouracontato@rm.eti.brwww.facebook.com/stxnetstx.blog.brwww.meetup.com/xamarinmg

top related