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)
7. IOS + AZURE
MOBILE APPS
▸ Infraestructura para sencilla:
▸ Persistencia
▸ Autenticación de usuarios
▸ Notificaciones PUSH
▸ Independiente de la plataforma
cliente
▸ Extensible desde backend
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
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
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