Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarin

Gustavo Leon
December 07, 2014

 Xamarin

Presentación hecha para el curso de TID de la UPC, Lima, Perú

Gustavo Leon

December 07, 2014
Tweet

More Decks by Gustavo Leon

Other Decks in Programming

Transcript

  1. 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  

    View Slide

  2. 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)

    View Slide

  3. 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

    View Slide

  4. 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)

    View Slide

  5. Introducción a Cross-Platform

    View Slide

  6. 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)

    View Slide

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

    View Slide

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

    View Slide

  9. ¿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

    View Slide

  10. Introducción a Xamarin

    View Slide

  11. 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

    View Slide

  12. ¿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

    View Slide

  13. 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

    View Slide

  14. 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

    View Slide

  15. 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

    View Slide

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

    View Slide

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

    View Slide

  18. Xamarin Studio
    IDE (Mac + PC)

    View Slide

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

    View Slide

  20. Xamarin for Visual Studio
    Plugin para Visual Studio (PC)

    View Slide

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

    View Slide

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

    View Slide

  23. 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

    View Slide

  24. 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

    View Slide

  25. 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í

    View Slide

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

    View Slide

  27. Impulsores de Xamarin

    View Slide

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

    View Slide

  29. 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

    View Slide

  30. 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)

    View Slide

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

    View Slide

  32. 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

    View Slide

  33. 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

    View Slide

  34. 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

    View Slide

  35. Xamarin

    View Slide

  36. 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)

    View Slide

  37. Xamarin.Android
    Aplicaciones Android con C#!

    View Slide

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

    View Slide

  39. Xamarin.iOS
    Aplicaciones iOS con C#!

    View Slide

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

    View Slide

  41. Xamarin - Alcance
    Binding a clases nativas

    View Slide

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

    View Slide

  43. 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#)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  47. 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

    View Slide

  48. 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

    View Slide

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

    View Slide

  50. 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

    View Slide

  51. 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

    View Slide

  52. 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

    View Slide

  53. 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

    View Slide

  54. 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  

    View Slide