Slide 1

Slide 1 text

Integrantes: •  Luis Canales •  Francisco Pariona •  Gary Figuerola •  Gustavo Leon        UPCedu                UPCedu   Escuela  de  Ingeniería  de  Sistemas  y  Computación   SI292  –  Taller  de  inves?gación  y  desarrollo   Diciembre  2014  

Slide 2

Slide 2 text

Agenda   Introducción a Cross-Platform §  Definición de Cross-Platform §  Clasificación de Cross-Platform §  Definición de Aplicación Nativa Cross-Platform (NativeX)

Slide 3

Slide 3 text

Agenda   Introducción a Xamarin §  Definición de Xamarin §  Estadísticas •  Herramientas cross-platform por tiempo ahorrado •  Herramientas cross-platform por complejidad de desarrollo §  Xamarin Platform §  Xamarin Studio §  Xamarin for Visual Studio §  Xamarin.Forms §  Xamarin Test Cloud §  Desarrolladores afiliados §  Impulsores de Xamarin •  Microsoft y Xamarin •  SAP y Xamarin §  Clientes §  Casos de éxito

Slide 4

Slide 4 text

Agenda   Xamarin §  Xamarin.Android §  Xamarin.iOS §  Alcance §  Xamarin y Windows Phone §  Xamarin.Forms §  Plugins para Xamarin §  Licencias y precios §  Xamarin Student Ambassadors §  Azure con Xamarin §  Roslyn y Xamarin (Mono)

Slide 5

Slide 5 text

Introducción a Cross-Platform

Slide 6

Slide 6 text

Agenda   Introducción a Cross-Platform §  Definición de Cross-Platform §  Clasificación de Cross-Platform §  Definición de Aplicación Nativa Cross-Platform (NativeX)

Slide 7

Slide 7 text

¿Qué es Cross-Platform? Software que puede ser ejecutado en múltiples plataformas

Slide 8

Slide 8 text

Clasificación de Cross-Platform Aplicación nativa Aplicación web Aplicación híbrida Aplicación nativa cross-platform

Slide 9

Slide 9 text

¿Qué es una aplicación nativa cross-platform (NativeX)? Aplicaciones cross-platform que compilan a código nativo Código compartido Lógica de la aplicación Acceso a datos Acceso a servicios Acceso al dispositivo Interfaz de usuario Código específico para iOS Aplicación" iOS Interfaz de usuario Código específico para Android Aplicación Android Interfaz de usuario Código específico para Windows Phone Aplicación Windows Phone

Slide 10

Slide 10 text

Introducción a Xamarin

Slide 11

Slide 11 text

Agenda   Introducción a Xamarin §  Definición de Xamarin §  Estadísticas •  Herramientas cross-platform por tiempo ahorrado •  Herramientas cross-platform por complejidad de desarrollo §  Xamarin Platform §  Xamarin Studio §  Xamarin for Visual Studio §  Xamarin.Forms §  Xamarin Test Cloud §  Desarrolladores afiliados §  Impulsores de Xamarin •  Microsoft y Xamarin •  SAP y Xamarin §  Clientes §  Casos de éxito

Slide 12

Slide 12 text

¿Qué es Xamarin? Aplicaciones nativas multi-plataformas, utilizando C# y .Net Lógica de aplicación (C#) Interfaz de usuario (C#) App iOS nativa App Android nativa App Windows Phone nativa

Slide 13

Slide 13 text

Reutilización de código por plataforma con Xamarin 70% 30% iOS Lógica de la aplicación Interfaz de usuario 86% 14% Android Lógica de la aplicación Interfaz de usuario Fuente: Análisis aplicación iCircuit

Slide 14

Slide 14 text

Herramientas cross-platform por tiempo ahorrado 0% 5% 2% 3% 10% 31% 25% 34% 39% 43% 69% 62% 56% 50% 37% 0% 8% 8% 2% 8% 0% 20% 40% 60% 80% 100% V-‐Play Unity Qt Corona SDK Xamarin No opina 50% más rápido 10 -‐ 50% más rápido No ahorra tiempo 10 -‐ 50% más lento 50% más lento Fuente: research2guidance’s Cross Platform Tool Benchmarking 2014

Slide 15

Slide 15 text

Herramientas cross-platform por complejidad de desarrollo Fuente: research2guidance’s Cross Platform Tool Benchmarking 2014 0% 15% 21% 16% 16% 23% 17% 39% 21% 39% 40% 38% 44% 52% 55% 51% 63% 43% 63% 48% 60% 47% 35% 32% 29% 26% 20% 18% 16% 13% 0% 20% 40% 60% 80% 100% Bajo / Muy bajo Promedio Alto / Muy alto

Slide 16

Slide 16 text

Xamarin Platform Interfaces de usuario! nativas! Acceso a APIs! nativas! Rendimiento! nativo!

Slide 17

Slide 17 text

Xamarin Platform - ¿Cómo funciona? Xamarin.iOS: Compilado a binario ARM Xamarin.Android: Compilado en tiempo de ejecución

Slide 18

Slide 18 text

Xamarin Studio IDE (Mac + PC)

Slide 19

Slide 19 text

Xamarin Studio - Características Navegador de código Refactorización inteligente Información contextual +22,000 paquetes con NuGet

Slide 20

Slide 20 text

Xamarin for Visual Studio Plugin para Visual Studio (PC)

Slide 21

Slide 21 text

Xamarin for Visual Studio - Características Integrado con IntelliSense Desarrollo en iOS Uso del debugger de Visual Studio Diseñador de interfaces

Slide 22

Slide 22 text

Xamarin.Forms Interfaz nativa para iOS, Android y Windows Phone!

Slide 23

Slide 23 text

Xamarin Test Cloud   Pruebas utilizando Behavior Driven Development   Soporte para integración continua con Team Foundation Server, Jenkins y TeamCity   Monitoreo de rendimiento en tiempo real   Más de 1,000 dispositivos disponibles para pruebas en la nube

Slide 24

Slide 24 text

Xamarin Test Cloud - Características Pruebas para interfaz de usuario Pruebas para fragmentación en Android Soporte para cientos de dispositivos Soporte para integración continua

Slide 25

Slide 25 text

Xamarin Test Cloud – Precios Básico Profesional Negocios Empresarial Precio US$ 1,000 / mes US$ 5,000 / mes US$ 8,000 / mes US$ 12,000 / mes Límite de aplicaciones 2 4 10 20 Horas de prueba 200 horas mensuales 1,000 horas mensuales 1,600 horas mensuales 2,400 horas mensuales Soporte E-mail Personal dedicado Personal dedicado Personal dedicado Prioridad de ejecución No Sí Sí Sí

Slide 26

Slide 26 text

Desarrolladores afiliados   700,000 desarrolladores en todo el mundo   560 aplicaciones en App Store / Google Play

Slide 27

Slide 27 text

Impulsores de Xamarin

Slide 28

Slide 28 text

Microsoft y Xamarin Curso gratuito en Xamarin University! Partner oficial de Visual Studio! Cursos exclusivos para MSDN!

Slide 29

Slide 29 text

SAP y Xamarin Curso de Xamarin SAP SDK Certificación para consultores Xamarin + SAP SAP Mobile Platform en Xamarin SAP Mobile Platform en Test Cloud

Slide 30

Slide 30 text

SAP Mobile Platform – Características   Arquitecturas: Nativas, híbridas, mobile web y SMS app   Soporte para HTML5   Soporte para Apache Cordova   Soporta Bring Your Own Tools (BYOT)

Slide 31

Slide 31 text

Clientes Aplicación: TeamConnect Aplicación: Direct Energy Aplicación: MarketWatch Aplicación: Windows Intune

Slide 32

Slide 32 text

Casos de éxito: Rdio   Reproductor de música en la nube   Primera versión: Diciembre 2012   Más de 50,000 líneas de código compartidas   Lanzamientos simultáneos para Android y iOS

Slide 33

Slide 33 text

Casos de éxito: Bosch-Siemens   Aplicación con manuales interactivos de electrodomésticos   Integrado con Amazon Web Services   Desarrollado por uno de los consultores Premier de Xamarin

Slide 34

Slide 34 text

Casos de éxito: Kimberly-Clark   Aplicación para ventas de material médico y de seguridad   App para iPad escrita en C#   Código existente reusado   Desarrollado por uno de los consultores Premier de Xamarin

Slide 35

Slide 35 text

Xamarin

Slide 36

Slide 36 text

Agenda   Xamarin §  Xamarin.Android §  Xamarin.iOS §  Alcance §  Xamarin y Windows Phone §  Xamarin.Forms §  Plugins para Xamarin §  Licencias y precios §  Xamarin Student Ambassadors §  Azure con Xamarin §  Roslyn y Xamarin (Mono)

Slide 37

Slide 37 text

Xamarin.Android Aplicaciones Android con C#!

Slide 38

Slide 38 text

Xamarin.Android: APIs soportadas   Soporte para APIs experimentales: Google Wear, Google Glass   Acceso a bibliotecas en Java desde C#

Slide 39

Slide 39 text

Xamarin.iOS Aplicaciones iOS con C#!

Slide 40

Slide 40 text

Xamarin.iOS: APIs soportadas   Soporte para APIs de bajo nivel: CoreAudio   Acceso a bibliotecas en Objective-C desde C#

Slide 41

Slide 41 text

Xamarin - Alcance Binding a clases nativas

Slide 42

Slide 42 text

Xamarin y Windows Phone   Gracias a Xamarin, se puede reutilizar el código de la lógica del negocio, escrita en C#

Slide 43

Slide 43 text

Xamarin.Forms Enfoque Xamarin tradicional: Controles por plataforma Interfaz de usuario compartida (C#) Xamarin + Xamarin.Forms: Controles compartidos Código de la aplicación (C#) Código de la aplicación (C#) Interfaz de usuario iOS (C#) Interfaz de usuario Android (C#) Interfaz de usuario Windows Phone (C#)

Slide 44

Slide 44 text

Xamarin.Forms – Componentes de layout (I) Frame Content" Page Master Detail Page Navigation Page Tabbed Page Carousel Page

Slide 45

Slide 45 text

Xamarin.Forms – Componentes de layout (II) Stack" Layout Absolute Layout Relative Layout Grid" Layout Content" View Scroll" View

Slide 46

Slide 46 text

Plugins para Xamarin   Acceso a NuGet (+22,000 paquetes)   Tienda de componentes propios (gratuitos y de pago)   Algunos componentes: SQLite, Parse, SAP, Microsoft Azure

Slide 47

Slide 47 text

Licencias y precios (I) Inicial Independiente Negocios Empresarial Académico Precio Gratuito US$ 25 / mes US$ 83 /mes US$ 999 / año US$ 158 /mes US$ 1899 / año US$ 99 / año Uso permitido Individual Individual Organizacional Organizacional Individual Tipo de suscripción Ninguna Mensual Anual Anual Anual Aplicaciones de tamaño ilimitado No incluido Incluido Incluido Incluido Incluido Xamarin.Forms No incluido Incluido Incluido Incluido Incluido Soporte para Visual Studio No incluido Incluido Incluido Incluido Incluido

Slide 48

Slide 48 text

Licencias y precios (II) Inicial Independiente Negocios Empresarial Académico Precio Gratuito US$ 25 / mes US$ 83 /mes US$ 999 / año US$ 158 /mes US$ 1899 / año US$ 99 / año Soporte a través de email No incluido No incluido Incluido Incluido Incluido Soporte técnico dedicado No incluido No incluido No incluido Incluido No incluido Tiempo de respuesta de un día No incluido No incluido No incluido Incluido No incluido

Slide 49

Slide 49 text

Xamarin Student Ambassadors Participación en Xamarin Evolve! Acceso gratuito a Xamarin University! Suscripciones gratuitas para Xamarin.Android y Xamarin.iOS!

Slide 50

Slide 50 text

Azure con Xamarin   Azure Mobile Services: Permite guardar datos en la nube, autenticación y envío de notificaciones   Azure Messaging: Permite utilizar los Azure Notification Hubs para enviar notificaciones push Azure" Mobile Services Azure" Messaging

Slide 51

Slide 51 text

Azure Mobile Services – Características   Disponible para Xamarin.Android y Xamarin.iOS   Servicios: §  Users: Autenticación de usuarios vía Azure §  Data: Guardar registros y configuraciones entre dispositivos con Azure §  Push: Envío de notificaciones desde utilizando Azure Notification Hubs

Slide 52

Slide 52 text

Azure Mobile Services – Precios Gratuito Básico Estándar Precio Gratis (10 servicios / mes) US$ 25 / mes (por servicio) US$ 199 / mes (por servicio) Llamadas a APIs 500,000 1,5 millones por servicio 15 millones por servicio Dispositivos activos 500 Ilimitados Ilimitados Notificaciones push 1 millón 10 millones 10 millones Base de datos SQL 20 MB 20 MB 20 MB

Slide 53

Slide 53 text

Roslyn y Xamarin (Mono) Roslyn: plataforma open source de compilación de .Net para Visual Basic y C#   Permite realizar análisis estático, navegación y refactorización de código   El Proyecto Mono está trabajando para lograr que Roslyn funcione en entornos Unix

Slide 54

Slide 54 text

Integrantes: •  Luis Canales •  Francisco Pariona •  Gary Figuerola •  Gustavo Leon        UPCedu                UPCedu   Escuela  de  Ingeniería  de  Sistemas  y  Computación   SI292  –  Taller  de  inves?gación  y  desarrollo   Diciembre  2014