Download - Xamarin - Dev Day 2015
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 [email protected]/stxnetstx.blog.brwww.meetup.com/xamarinmg