SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
IOS + AZURE = 😀
COMO HACER APPS PARA IOS EN AZURE
COMO CHURROS Y NO MORIR EN EL INTENTO
TEXT
ABOUT ME
▸ Juan Antonio Martin
▸ Trabajo en Cloud On Mobile como consultor de desarrollo
iOS
▸ juan@cloudonmobile.com
▸ twitter @byjuanamn
IOS + AZURE
AGENDA
▸ Intro de desarrollo iOS
▸ Mobile Apps
▸ Azure Storage
▸ Mobile Engagement
IOS + AZURE
DESARROLLO IOS
▸ Nuestro entorno es Xcode
▸ El lenguaje más utilizado es Objective C
▸ Pero nos estamos migrando hacia Swift
▸ No existe un gestor de dependencias oficial (aunque
tenemos cocoapods)
▸ Usamos los mismos patrones (el oficial es MVC)
XCODE
IOS + AZURE
MOBILE APPS
▸ Infraestructura para sencilla:
▸ Persistencia
▸ Autenticación de usuarios
▸ Notificaciones PUSH
▸ Independiente de la plataforma
cliente
▸ Extensible desde backend
IOS + AZURE
SDK NATIVO
▸ Mobile Apps proporciona sdks nativos para:
▸ iOS
▸ Android
▸ Xamarin (iOS, Android, Forms)
▸ Windows (C#)
▸ Cordova
IOS + AZURE
SDK NATIVO PARA IOS
▸ iOS
▸ Escrito en Objective C, aunque es compatible con Swit
▸ No tiene Pod (Gestor de dependencias)
▸ SDK super ligero, solo cubre:
▸ Persistencia
▸ Soporte minimalista para recibir/enviar Push
IOS + AZURE
SDK NATIVO PARA IOS
▸ y para todo lo demás
▸invokeAPI
DEMO MOBILE
APPS
IOS + AZURE
SDK DE AZURE STORAGE PARA IOS
▸ Hasta hace poco más de un año no existía.
▸ SDK básico para consumir blobs
▸ Por el momento no tenemos soporte para tables o queues,
esto hay que hacerlo a mano o p.e. montar apis en App
Services
▸ OJO no genera SAS, para subir o bajar un blob tenemos
que basar la conexión en connectionString
IOS + AZURE
SDK DE AZURE STORAGE PARA IOS
▸ OJO no genera SAS, para subir o bajar un blob tenemos
que basar la conexión en connectionString
▸ No es el mejor modo, esto solo en desarrollo
▸ Para producción montar api que genere SAS
let account = AZSCloudStorageAccount(fromConnectionString:
"DefaultEndpointsProtocol=https;AccountName=videoblogapp;AccountKey=MaRn1e2rvWYZh
+zzlbMZVoHiikmNNCrzT6Gjvixh4Thtj4Wv2DfTxbR1Ab+PAvixt5r5nCt0SBCX8LdbYrLhYA==")
IOS + AZURE
SDK DE AZURE STORAGE PARA IOS
▸ Trabajando con blobs podemos
▸ subir/bajar blobs
▸ operar con contendores
▸ OJO, podemos hacer subidas o bajadas multiples pero
aquí nos chocamos con iOS
▸ El SDK está preparado para hacer este tipo de
operaciones en primer plano……
IOS + AZURE
SDK DE AZURE STORAGE PARA IOS
▸ …..pero no es un problema, tenemos el código fuente del
SDK y solo es cambiar el tipo de colas para manejar en
background
DEMO AZURE-
STORAGE-IOS
IOS + AZURE
MOBILE ENGAGEMENT
▸ En mobile muchos proyecto están liderados por
departamentos de Marketing
▸ Muchos proyectos nacen como excusa con la necesidad
de conocer al usuario
▸ Es la parte que menos nos suele importar
MOBILE ENGAGEMENT ES LA
HERRAMIENTA DE LOS MARKETING NERDS
QUE BUSCAN LA EXCELENCIA A TRAVÉS
DE UNA EXPERIENCIA DE USUARIO
PRÍSTINA Y POLIÉDRICA
Johnny Appleseed (CEO - 4L Research)
IOS + AZURE
IOS + AZURE
MOBILE ENGAGEMENT
▸ Mobile Engagement es la herramienta que nos permitirá
conocer a los usuarios y realizar acciones para reforzar el
“engagement” con los mismos
▸ Podremos analizar en tiempo real el comportamiento de
nuestros usuarios
▸ Podremos “comunicarnos” con nuestros usuarios a través
de campañas, encuestas, anuncios…… Apoyándonos en la
infraestructura de notificaciones de cada plataforma
IOS + AZURE
MOBILE ENGAGEMENT
▸ Desde el punto de vista del desarrollador podríamos
afirmar que es la versión “super” del notification hub a la
hora de enviar push:
▸ Podemos crear segmentos
▸ Analizar en tiempo real los envíos
▸ Obtener métricas del tipo “retención de usuarios”
▸ etc..
IOS + AZURE
MOBILE ENGAGEMENT
▸ Para incluirlo en nuestro proyecto tenemos que importar el
framework EngagementSDK y EngagementREACH
▸ No hay pod (hay que incluir algunas dependencias a
mano)
▸ Ver proyecto
DEMO MOBILE
ENGAGEMENT
Ios y azure apps como churros

Más contenido relacionado

Similar a Ios y azure apps como churros

Apple tv development Meetup - Montevideo Uruguay
Apple tv development Meetup - Montevideo  UruguayApple tv development Meetup - Montevideo  Uruguay
Apple tv development Meetup - Montevideo UruguayGlobant
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedioenriqueaguilar
 
Aws Cloud9 exposición.
Aws Cloud9   exposición.Aws Cloud9   exposición.
Aws Cloud9 exposición.Karim Camino
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistencoenriqueaguilar
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasAmazon Web Services LATAM
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Keopx
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfLuis775803
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSJavier Suárez Ruiz
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossJavier Suárez Ruiz
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...Sorey García
 
cloud computing.pdf
cloud computing.pdfcloud computing.pdf
cloud computing.pdfhefloca
 
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storage
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure StorageMicrosoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storage
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storageenriqueaguilar
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicRubén Aguilera
 
Configuración y uso Google Drive en Android
Configuración y uso Google Drive en AndroidConfiguración y uso Google Drive en Android
Configuración y uso Google Drive en AndroidJosé López Pérez
 
Integración Continua con Apps Xamarin
Integración Continua con Apps XamarinIntegración Continua con Apps Xamarin
Integración Continua con Apps XamarinJavier Suárez Ruiz
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Santi Macias Rodriguez
 

Similar a Ios y azure apps como churros (20)

Ios programming
Ios programmingIos programming
Ios programming
 
Apple tv development Meetup - Montevideo Uruguay
Apple tv development Meetup - Montevideo  UruguayApple tv development Meetup - Montevideo  Uruguay
Apple tv development Meetup - Montevideo Uruguay
 
Xamarin Diplomado Intermedio
Xamarin Diplomado IntermedioXamarin Diplomado Intermedio
Xamarin Diplomado Intermedio
 
Aws Cloud9 exposición.
Aws Cloud9   exposición.Aws Cloud9   exposición.
Aws Cloud9 exposición.
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistenco
 
Mejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernasMejores prácticas de CI / CD para construir aplicaciones modernas
Mejores prácticas de CI / CD para construir aplicaciones modernas
 
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
Docker - Entorno de trabajo configurado en 1 minuto [WCBilbao]
 
Introduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdfIntroduction to .NET MAUI.pdf
Introduction to .NET MAUI.pdf
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOS
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCross
 
Aws Elastic Beanstalk + Docker
Aws Elastic Beanstalk + DockerAws Elastic Beanstalk + Docker
Aws Elastic Beanstalk + Docker
 
FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017FULLSTACK JS DEV in 2017
FULLSTACK JS DEV in 2017
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
cloud computing.pdf
cloud computing.pdfcloud computing.pdf
cloud computing.pdf
 
Workshop Calabash Appium
Workshop Calabash AppiumWorkshop Calabash Appium
Workshop Calabash Appium
 
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storage
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure StorageMicrosoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storage
Microsoft Virtual Academy - Xamarin iOS y Xamarin Android con Azure Storage
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
 
Configuración y uso Google Drive en Android
Configuración y uso Google Drive en AndroidConfiguración y uso Google Drive en Android
Configuración y uso Google Drive en Android
 
Integración Continua con Apps Xamarin
Integración Continua con Apps XamarinIntegración Continua con Apps Xamarin
Integración Continua con Apps Xamarin
 
Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019Un viaje por Azure DevOps - Meetup Barcelona 2019
Un viaje por Azure DevOps - Meetup Barcelona 2019
 

Más de Juan Antonio Martin

Más de Juan Antonio Martin (9)

Piezas para construir un ecommerce para mobile
Piezas para construir un ecommerce para mobilePiezas para construir un ecommerce para mobile
Piezas para construir un ecommerce para mobile
 
Introducción a CloudKit
Introducción a CloudKitIntroducción a CloudKit
Introducción a CloudKit
 
Backend i os
Backend i osBackend i os
Backend i os
 
Instruments 3 en 1
Instruments 3 en 1Instruments 3 en 1
Instruments 3 en 1
 
Bye bye jenkins welcome bots
Bye bye jenkins welcome botsBye bye jenkins welcome bots
Bye bye jenkins welcome bots
 
Parse intro
Parse introParse intro
Parse intro
 
Desmontando a Jenkins :-)
Desmontando a Jenkins :-)Desmontando a Jenkins :-)
Desmontando a Jenkins :-)
 
Google analytics sdk ios
Google analytics sdk iosGoogle analytics sdk ios
Google analytics sdk ios
 
Cloud en iOS: alternativas para desarrollar nuevas Apps
Cloud en iOS: alternativas para desarrollar nuevas AppsCloud en iOS: alternativas para desarrollar nuevas Apps
Cloud en iOS: alternativas para desarrollar nuevas Apps
 

Ios y azure apps como churros

  • 1. IOS + AZURE = 😀 COMO HACER APPS PARA IOS EN AZURE COMO CHURROS Y NO MORIR EN EL INTENTO
  • 2. TEXT ABOUT ME ▸ Juan Antonio Martin ▸ Trabajo en Cloud On Mobile como consultor de desarrollo iOS ▸ juan@cloudonmobile.com ▸ twitter @byjuanamn
  • 3. IOS + AZURE AGENDA ▸ Intro de desarrollo iOS ▸ Mobile Apps ▸ Azure Storage ▸ Mobile Engagement
  • 4. IOS + AZURE DESARROLLO IOS ▸ Nuestro entorno es Xcode ▸ El lenguaje más utilizado es Objective C ▸ Pero nos estamos migrando hacia Swift ▸ No existe un gestor de dependencias oficial (aunque tenemos cocoapods) ▸ Usamos los mismos patrones (el oficial es MVC)
  • 6.
  • 7. IOS + AZURE MOBILE APPS ▸ Infraestructura para sencilla: ▸ Persistencia ▸ Autenticación de usuarios ▸ Notificaciones PUSH ▸ Independiente de la plataforma cliente ▸ Extensible desde backend
  • 8. IOS + AZURE SDK NATIVO ▸ Mobile Apps proporciona sdks nativos para: ▸ iOS ▸ Android ▸ Xamarin (iOS, Android, Forms) ▸ Windows (C#) ▸ Cordova
  • 9. IOS + AZURE SDK NATIVO PARA IOS ▸ iOS ▸ Escrito en Objective C, aunque es compatible con Swit ▸ No tiene Pod (Gestor de dependencias) ▸ SDK super ligero, solo cubre: ▸ Persistencia ▸ Soporte minimalista para recibir/enviar Push
  • 10. IOS + AZURE SDK NATIVO PARA IOS ▸ y para todo lo demás ▸invokeAPI
  • 11.
  • 13. IOS + AZURE SDK DE AZURE STORAGE PARA IOS ▸ Hasta hace poco más de un año no existía. ▸ SDK básico para consumir blobs ▸ Por el momento no tenemos soporte para tables o queues, esto hay que hacerlo a mano o p.e. montar apis en App Services ▸ OJO no genera SAS, para subir o bajar un blob tenemos que basar la conexión en connectionString
  • 14. IOS + AZURE SDK DE AZURE STORAGE PARA IOS ▸ OJO no genera SAS, para subir o bajar un blob tenemos que basar la conexión en connectionString ▸ No es el mejor modo, esto solo en desarrollo ▸ Para producción montar api que genere SAS let account = AZSCloudStorageAccount(fromConnectionString: "DefaultEndpointsProtocol=https;AccountName=videoblogapp;AccountKey=MaRn1e2rvWYZh +zzlbMZVoHiikmNNCrzT6Gjvixh4Thtj4Wv2DfTxbR1Ab+PAvixt5r5nCt0SBCX8LdbYrLhYA==")
  • 15. IOS + AZURE SDK DE AZURE STORAGE PARA IOS ▸ Trabajando con blobs podemos ▸ subir/bajar blobs ▸ operar con contendores ▸ OJO, podemos hacer subidas o bajadas multiples pero aquí nos chocamos con iOS ▸ El SDK está preparado para hacer este tipo de operaciones en primer plano……
  • 16. IOS + AZURE SDK DE AZURE STORAGE PARA IOS ▸ …..pero no es un problema, tenemos el código fuente del SDK y solo es cambiar el tipo de colas para manejar en background
  • 18.
  • 19. IOS + AZURE MOBILE ENGAGEMENT ▸ En mobile muchos proyecto están liderados por departamentos de Marketing ▸ Muchos proyectos nacen como excusa con la necesidad de conocer al usuario ▸ Es la parte que menos nos suele importar
  • 20. MOBILE ENGAGEMENT ES LA HERRAMIENTA DE LOS MARKETING NERDS QUE BUSCAN LA EXCELENCIA A TRAVÉS DE UNA EXPERIENCIA DE USUARIO PRÍSTINA Y POLIÉDRICA Johnny Appleseed (CEO - 4L Research) IOS + AZURE
  • 21. IOS + AZURE MOBILE ENGAGEMENT ▸ Mobile Engagement es la herramienta que nos permitirá conocer a los usuarios y realizar acciones para reforzar el “engagement” con los mismos ▸ Podremos analizar en tiempo real el comportamiento de nuestros usuarios ▸ Podremos “comunicarnos” con nuestros usuarios a través de campañas, encuestas, anuncios…… Apoyándonos en la infraestructura de notificaciones de cada plataforma
  • 22. IOS + AZURE MOBILE ENGAGEMENT ▸ Desde el punto de vista del desarrollador podríamos afirmar que es la versión “super” del notification hub a la hora de enviar push: ▸ Podemos crear segmentos ▸ Analizar en tiempo real los envíos ▸ Obtener métricas del tipo “retención de usuarios” ▸ etc..
  • 23. IOS + AZURE MOBILE ENGAGEMENT ▸ Para incluirlo en nuestro proyecto tenemos que importar el framework EngagementSDK y EngagementREACH ▸ No hay pod (hay que incluir algunas dependencias a mano) ▸ Ver proyecto