Cloud ios alternativas

1,397 views

Published on

Se trata de dar una visión general del uso de iCloud, Amazon Web Services y Microsoft Azure, desde el punto de vista del desarrollador de apps para IOS independiente o pequeñas startups. La presentación hace tiene una introducción de cloud, y después una descripción de cada plataforma con un ejemplo sencillo de uso.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,397
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
29
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Cloud ios alternativas

    1. 1. Cloud en IOS: Alternativas de DesarrolloJuan Antonio Martinjuan.antonio.martin@gmail.com – NSCoder Night Madrid@byjuanamn
    2. 2. Agenda•Introducción•iCloud•Azure•Amazon Web Services Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 2
    3. 3. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 3
    4. 4. Introducción• ¿qué es el cloud computing? –es un paradigma que permite ofrecer servicios a través de internet.• ¿cuando empezó todo? –fabricas de información (Wired Octubre 2006), explica la visión de Google, Microsoft, Amazon...• Distintas capas, distintas posibilidad –PaaS: (Platform as a Service) –SaaS: (Software as a Service) –IaaS: (Infrastructure as a Service) Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 4
    5. 5. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 5
    6. 6. Construir Apps con Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 6
    7. 7. Construir Apps con Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 6
    8. 8. ¿Qué es iCloud?• ¿Qué es? –Nuevo servicio, Nueva API –Proporcionan una replica de una“sandbox” en la nube....pero podemos compartir documentos entre nuestras apps jugando con los entitlements –Siempre en ejecución y en tiempo real –Mueve datos entre nuestros dispositivos Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 7
    9. 9. ¿Que es iCloud?•Se encarga de notificar a nuestra App sobre los cambios de los ficheros manejados•Resuelve conflictos automáticamente...aunque está en nuestra mano definir posibles estrategias de resolución :-) Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 8
    10. 10. ¿como funciona?• cuando creamos un documento, este es dividido en pequeños trozos (chunks).• la primera vez serán subidos todos los trozos a iCloud, teniendo la primera versión del documento.• cuando modificamos parte del documento, solo serán actualizados en iCloud estos “trozos”, teniendo un nueva versión del documento... en iCloud. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 9
    11. 11. ¿como funciona?•es atómico•trabaja con paquetes•Puede establecer una conexión peer to peer cuando varios dispositivos estén en el mismo rango de IPs dentro de una red WIFI Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 10
    12. 12. ¿como funciona?• Metadata: –nombre, tamaño, fecha de modificación, etc.. –siempre son subidos a iCloud• iCloud tiene siempre los ficheros nuevos• los dispositivos tienen los ficheros cuando son necesarios...pero siempre tiene los Metadatos, esto permite a la aplicación “saber los ficheros que tiene aunque no estén en el dispositivo” Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 11
    13. 13. iCloud•Incluido como parte IOS 5•Es necesario tener un Apple ID•Nos proporciona 5 GB de almacenamiento gratuito, es posible comprar más espacio•Los 5 GB están ligados al Apple ID, los compartimos con todos los dispositivos asociados al mismo. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 12
    14. 14. iCloud Quota Desde Ajustes/iCloud/Almacenamiento/Gestionar Almacenamiento Comprar Backup Documentos y datos Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 13
    15. 15. iCloud Storage API•Antes de empezar debemos considerar los dos modos o estrategias de almacenamiento: –Orientada a Documento –Orientada a key-value data: •Pensado para manejar pequeñas porciones de datos, tipo plist de configuración o preferencias para compartir entre distintas instacias de la App, no critico Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 14
    16. 16. Primera App con iCloud•Es necesario realizar unos pequeños pasos previos al desarrollo: –Crear un AppID y provisionarlo desde el IOS Provisioning Portal –Configurar en xCode los entitlements. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 15
    17. 17. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    18. 18. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    19. 19. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    20. 20. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    21. 21. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    22. 22. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    23. 23. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    24. 24. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    25. 25. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    26. 26. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 16
    27. 27. Primera app en iCloud•comprobar si tenemos conexión entre nuestra App e iCloud: NSURL *theURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil]; if (theURL) { NSLog(@"Accediendo a-> %@", theURL); } else { NSLog(@"No hay acceso al container especificado en iCloud"); } Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 17
    28. 28. Primera app en iClouddispatch_queue_t globalQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(globalQueue, ^{ NSFileManager *fileManager = [[NSFileManager alloc] init]; NSURL *theUbiquityC = [fileManager URLForUbiquityContainerIdentifier:nil]; if (theUbiquityC) { NSLog(@"Accediendo a-> %@", theUbiquityC); } else { NSLog(@"No hay acceso al container especificado en iCloud"); } dispatch_queue_t mainQueue = dispatch_get_main_queue(); dispatch_async(mainQueue, ^{ [self ActualizarUbiquityContainer:theUbiquityC]; }); }); Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 18
    29. 29. iCloud API• iCloud API, tenemos métodos y clases nuevas que nos proporcionan el soporte necesario para usar el storage de iCloud. –NSFileManager, NSFileCoordinator, NSFilePresenter –NSMetadataQuery –UIDocument / NSDocument –API nativa para MS Windows –Key Value Store (no soportada en Windows) Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 19
    30. 30. iCloud API• Podemos hacer de forma manual la mayoría de las operaciones, esto añade complejidad. La solución UIDocument. –UIDocument funciona como un middleware entre el fichero y los datos reales. –Implementa el protocolo NSFilePresenter, nos permite trabajar en background cuando abrimos o guardamos ficheros. Evitando bloqueos en nuestra App.... –UIDocument tiene una arquitectura basada en una doble cola: • El hilo de ejecución principal, donde realizamos operaciones de apertura, cierre y edición. • UIKit: Un segundo hilo en background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 20
    31. 31. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    32. 32. -(void)openWithCompletionHandler:(void (^)(BOOLsuccess))completionHandler Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    33. 33. -(void)openWithCompletionHandler:(void (^)(BOOLsuccess))completionHandler + Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    34. 34. -(void)openWithCompletionHandler:(void (^)(BOOLsuccess))completionHandler + Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    35. 35. -(void)openWithCompletionHandler:(void (^)(BOOLsuccess))completionHandler +- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError**) error; Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    36. 36. Lectura-(void)openWithCompletionHandler:(void (^)(BOOLsuccess))completionHandler +- (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError**) error; Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
    37. 37. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    38. 38. Lectura Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    39. 39. Lectura Cola Principal Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    40. 40. Lectura Cola Principal Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    41. 41. Lectura Cola PrincipalOpen Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    42. 42. Lectura Cola PrincipalOpen Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    43. 43. Lectura Cola PrincipalOpen Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    44. 44. Lectura Cola PrincipalOpen Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    45. 45. Lectura Cola PrincipalOpen read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    46. 46. Lectura Cola PrincipalOpen read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    47. 47. Lectura Cola PrincipalOpen load read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    48. 48. Lectura Cola PrincipalOpen load completion^ read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
    49. 49. Escritura- (void)saveToURL:(NSURL *)url forSaveOperation:(UIDocumentSaveOperation)saveOperationcompletionHandler:(void (^)(BOOL success))completionHandler- (id)contentsForType:(NSString *)typeName error:(NSError **)outError Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 23
    50. 50. Cola Principal Cola background Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    51. 51. Escritura Cola Principal Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    52. 52. Escritura Cola PrincipalSave Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    53. 53. Escritura Cola PrincipalSave Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    54. 54. Escritura Cola PrincipalSave Snapshot Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    55. 55. Escritura Cola PrincipalSave Snapshot Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    56. 56. Escritura Cola PrincipalSave Snapshot write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    57. 57. Escritura Cola PrincipalSave Snapshot write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    58. 58. Escritura Cola PrincipalSave Snapshot completion^ write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
    59. 59. primera App•DEMO Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 25
    60. 60. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 26
    61. 61. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 26
    62. 62. Amazon Web Services•Amazon ofrece: Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 27
    63. 63. Amazon Web Services• Desde 2006 ofrece sus servicios como Plataforma.• Más de 40k servidores• Data Centers en: Virginia,Dallas/Fort Worth, Los Angeles, Miami, Newark/New Jersey, California, Seattle, St. Louis, Amsterdam, Dublin, Frankfurt, London, Hong Kong, Singapore, Tokyo... Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 28
    64. 64. Amazon Web Services•Multiplataforma –AMI, imagenes de maquinas de casi todos los SO y combinaciones de productos, p.e. W2008 con SQL Server 2008 R2 optimizado...... Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 29
    65. 65. Amazon Web Services•SDKs para: –PHP –Java –Python –Ruby –.NET –Mobile: Android y IOS Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 30
    66. 66. Amazon Web Services•Desarrollo de apps con AWs es posible gracias a un SDK.....pero necesitamos suscribirnos (tarjeta de credito €)•podemos usar AWS sin coste, durante un tiempo limitado y usando los recursos limitados......para investigar, aprender, desarrollar son suficientes.... Hay que controlar el consumo. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 31
    67. 67. Amazon Web Services•Desarrollo de apps con AWs es posible gracias a un SDK.....pero necesitamos suscribirnos (tarjeta de credito €)•podemos usar AWS sin coste, durante un tiempo limitado y usando los recursos limitados......para investigar, aprender, desarrollar son suficientes.... Hay que Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 32
    68. 68. Amazon Web Services•Amazon IOS SDK DEMO: S3–AmazonS3Client •- (NSArray *)listBuckets–AmazonClientException :-) Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 33
    69. 69. AWS•El desarrollo es más rudimentario que iCloud. –No hay un demonio controlando el estado de nuestros objetos –La resolución de conflictos cae en el desarrollo•Es muy flexible, podemos usar la mayoria de los servicios: EC2, S3, autoscaling•No hay limites tipo Apple ID.. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 34
    70. 70. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 35
    71. 71. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 35
    72. 72. Juan Antonio Martínjuan.antonio.martin@gmail.com – NSCoder Night Madrid 36
    73. 73. Windows Azure•Desde 2009•Más de 100k servidores•24 data centers, localizados como Amazon, con diferencia en Europa donde ofrece más posibilidades. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 37
    74. 74. Con Presencia Global… Moscow,$RU$ Seoul,$KR$Bay$Area,$CA$ Ashburn,$VA$ Doha,$QT$ San$ Antonio,$TX$ São$Paulo,$ BR$ Sydney,$AU$ Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 38
    75. 75. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    76. 76. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    77. 77. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    78. 78. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    79. 79. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    80. 80. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    81. 81. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
    82. 82. Windows Azure•DEMO Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 40
    83. 83. Windows Azure• IOS Toolkit –disponible desde mayo 2011 –Repositorio en GitHub –Documentación aceptable• Por ahora este SDK solo nos permite jugar con el Storage: Tables, Queue y Blobs• ha diferencia de iCloud o Amazon, se trata de un SDK muy nuevo, (en mi opinión) esta sujeto a cambios a corto plazo. Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 41
    84. 84. Windows Azure• Como Amazon, tampoco es gratis. Existe una suscripción de prueba de 90 dias, pide tarjeta de credito....pero es más que suficiente para investigar, aprender, desarrollar• No está limitado a un Apple ID Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 42
    85. 85. Q&A Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 43
    86. 86. referencias• The Information Factories - Wired• http://www.wadewegner.com/category/ios/• http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5- tutorial-part-1• http://aws.amazon.com/es/mobile/• http://es.wikipedia.org/wiki/Computación_en_nube• http://developer.apple.com/library/ios/#documentation/ DataManagement/Conceptual/DocumentBasedAppPGiOS/ Introduction/Introduction.html#//apple_ref/doc/uid/TP40011149 Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 44
    87. 87. Q&A Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 45
    88. 88. muchas graciasJuan Antonio Martinjuan.antonio.martin@gmail.com – NSCoder Madrid@byjuanamn

    ×