SlideShare una empresa de Scribd logo
Cloud en IOS: Alternativas de Desarrollo
Juan Antonio Martin
juan.antonio.martin@gmail.com – NSCoder Night Madrid
@byjuanamn
Agenda
•Introducción
•iCloud
•Azure
•Amazon Web Services



                                                        Juan Antonio Martín
                       juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                              2
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       3
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
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       5
Construir Apps con
                                            Juan Antonio Martín
           juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                  6
Construir Apps con
                                            Juan Antonio Martín
           juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                  6
¿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
¿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
¿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
¿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
¿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
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
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
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
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
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       16
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
Primera app en iCloud

dispatch_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
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
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
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       21
-(void)openWithCompletionHandler:(void (^)(BOOL
success))completionHandler




                                                                   Juan Antonio Martín
                                  juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                         21
-(void)openWithCompletionHandler:(void (^)(BOOL
success))completionHandler

                               +




                                                                    Juan Antonio Martín
                                   juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          21
-(void)openWithCompletionHandler:(void (^)(BOOL
success))completionHandler

                               +




                                                                    Juan Antonio Martín
                                   juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          21
-(void)openWithCompletionHandler:(void (^)(BOOL
success))completionHandler

                               +

- (BOOL)loadFromContents:(id)contents
	

  	

   	

     ofType:(NSString *)typeName
	

  	

       	

  error:(NSError**) error;




                                                                    Juan Antonio Martín
                                   juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          21
Lectura

-(void)openWithCompletionHandler:(void (^)(BOOL
success))completionHandler

                               +

- (BOOL)loadFromContents:(id)contents
	

  	

   	

     ofType:(NSString *)typeName
	

  	

       	

  error:(NSError**) error;




                                                                    Juan Antonio Martín
                                   juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          21
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       22
Lectura




                                           Juan Antonio Martín
          juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                 22
Lectura
                                                  Cola Principal




                                           Juan Antonio Martín
          juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                   22
Lectura
                                                  Cola Principal




                                           Juan Antonio Martín
          juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                   22
Lectura
                                                    Cola Principal


Open




                                             Juan Antonio Martín
            juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                     22
Lectura
                                                    Cola Principal


Open




                                                   Cola background

                                             Juan Antonio Martín
            juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                     22
Lectura
                                                    Cola Principal


Open




                                                   Cola background

                                             Juan Antonio Martín
            juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                     22
Lectura
                                                    Cola Principal


Open




                                                   Cola background

                                             Juan Antonio Martín
            juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                     22
Lectura
                                                       Cola Principal


Open




        read

                                                      Cola background

                                                Juan Antonio Martín
               juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                        22
Lectura
                                                       Cola Principal


Open




        read

                                                      Cola background

                                                Juan Antonio Martín
               juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                        22
Lectura
                                                              Cola Principal


Open           load




        read

                                                             Cola background

                                                       Juan Antonio Martín
                      juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                               22
Lectura
                                                              Cola Principal


Open           load           completion^




        read

                                                             Cola background

                                                       Juan Antonio Martín
                      juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                               22
Escritura

- (void)saveToURL:(NSURL *)url
 forSaveOperation:(UIDocumentSaveOperation)saveOperation
completionHandler:(void (^)(BOOL success))completionHandler




- (id)contentsForType:(NSString *)typeName error:(NSError **)outError




                                                                        Juan Antonio Martín
                                       juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                              23
Cola Principal




                                               Cola background

                                 Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                  24
Escritura                                                    Cola Principal




                                                           Cola background

                                             Juan Antonio Martín
            juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                              24
Escritura                                                    Cola Principal




Save




                                                              Cola background

                                                Juan Antonio Martín
               juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                 24
Escritura                                                    Cola Principal




Save




                                                              Cola background

                                                Juan Antonio Martín
               juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                 24
Escritura                                                          Cola Principal




Save      Snapshot




                                                                    Cola background

                                                      Juan Antonio Martín
                     juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                       24
Escritura                                                          Cola Principal




Save      Snapshot




                                                                    Cola background

                                                      Juan Antonio Martín
                     juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                       24
Escritura                                                             Cola Principal




Save      Snapshot




                     write

                                                                       Cola background

                                                         Juan Antonio Martín
                        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          24
Escritura                                                             Cola Principal




Save      Snapshot




                     write

                                                                       Cola background

                                                         Juan Antonio Martín
                        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          24
Escritura                                                             Cola Principal




Save      Snapshot                  completion^




                     write

                                                                       Cola background

                                                         Juan Antonio Martín
                        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                                          24
primera App
•DEMO




                                                Juan Antonio Martín
               juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                      25
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       26
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       26
Amazon Web Services
•Amazon ofrece:




                                                   Juan Antonio Martín
                  juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                         27
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
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
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
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
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
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
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
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       35
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       35
Juan Antonio Martín
juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                       36
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
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
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure




                                         Juan Antonio Martín
        juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                               39
Windows Azure
•DEMO




                                                 Juan Antonio Martín
                juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                                       40
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
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
Q&A




                                   Juan Antonio Martín
  juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                         43
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
Q&A


                                  Juan Antonio Martín
 juan.antonio.martin@gmail.com – NSCoder Night Madrid
                                                        45
muchas gracias
Juan Antonio Martin
juan.antonio.martin@gmail.com – NSCoder Madrid
@byjuanamn

Más contenido relacionado

Destacado

Paisajesargentinos2
Paisajesargentinos2Paisajesargentinos2
Paisajesargentinos2graasuncion
 
Lasmanualidades.docx[1]
Lasmanualidades.docx[1]Lasmanualidades.docx[1]
Lasmanualidades.docx[1]ginapaola20
 
Caso ilustrativo nº 01
Caso ilustrativo nº 01Caso ilustrativo nº 01
Caso ilustrativo nº 01RAFAEL PAREDES
 
El universo
El universoEl universo
Tema 4 programas europeos
Tema 4 programas europeosTema 4 programas europeos
Tema 4 programas europeos
Antonio Jesús Rodríguez Martínez
 
Guía de referencia
Guía de referenciaGuía de referencia
Guía de referencia990429
 
Química2 bach 3.4. enlace iónico
Química2 bach 3.4. enlace iónicoQuímica2 bach 3.4. enlace iónico
Química2 bach 3.4. enlace iónico
Tarpafar
 
Maquina virtual
Maquina virtualMaquina virtual
Yerba mate 13
Yerba  mate 13Yerba  mate 13
Yerba mate 13
graasuncion
 
Tutorial de photoshop 1
Tutorial de photoshop 1Tutorial de photoshop 1
Tutorial de photoshop 1
Jesus Elber Valencia Perea
 
Formación del estado colombiano
Formación del estado colombianoFormación del estado colombiano
Formación del estado colombiano990429
 
EMILIANA LUCAS
EMILIANA LUCASEMILIANA LUCAS
EMILIANA LUCASEmiliana21
 
Presentación lucila zorrilla
Presentación lucila zorrillaPresentación lucila zorrilla
Presentación lucila zorrillalucila zorrilla
 
Estándar, competencia e indicadores de desempeño 3er periodo
Estándar, competencia e indicadores de desempeño 3er periodoEstándar, competencia e indicadores de desempeño 3er periodo
Estándar, competencia e indicadores de desempeño 3er periodoDayannaYCamila
 

Destacado (20)

Paisajesargentinos2
Paisajesargentinos2Paisajesargentinos2
Paisajesargentinos2
 
Lasmanualidades.docx[1]
Lasmanualidades.docx[1]Lasmanualidades.docx[1]
Lasmanualidades.docx[1]
 
Caso ilustrativo nº 01
Caso ilustrativo nº 01Caso ilustrativo nº 01
Caso ilustrativo nº 01
 
El universo
El universoEl universo
El universo
 
Tema 4 programas europeos
Tema 4 programas europeosTema 4 programas europeos
Tema 4 programas europeos
 
Guía de referencia
Guía de referenciaGuía de referencia
Guía de referencia
 
Química2 bach 3.4. enlace iónico
Química2 bach 3.4. enlace iónicoQuímica2 bach 3.4. enlace iónico
Química2 bach 3.4. enlace iónico
 
Maquina virtual
Maquina virtualMaquina virtual
Maquina virtual
 
Yerba mate 13
Yerba  mate 13Yerba  mate 13
Yerba mate 13
 
Conductismo
ConductismoConductismo
Conductismo
 
Tutorial de photoshop 1
Tutorial de photoshop 1Tutorial de photoshop 1
Tutorial de photoshop 1
 
Etica
EticaEtica
Etica
 
Formación del estado colombiano
Formación del estado colombianoFormación del estado colombiano
Formación del estado colombiano
 
EMILIANA LUCAS
EMILIANA LUCASEMILIANA LUCAS
EMILIANA LUCAS
 
Presentación lucila zorrilla
Presentación lucila zorrillaPresentación lucila zorrilla
Presentación lucila zorrilla
 
Estándar, competencia e indicadores de desempeño 3er periodo
Estándar, competencia e indicadores de desempeño 3er periodoEstándar, competencia e indicadores de desempeño 3er periodo
Estándar, competencia e indicadores de desempeño 3er periodo
 
Tp nº10
Tp nº10Tp nº10
Tp nº10
 
Manual
ManualManual
Manual
 
Tic (4)
Tic (4)Tic (4)
Tic (4)
 
Diabetes y trh santa cruz
Diabetes y trh santa cruzDiabetes y trh santa cruz
Diabetes y trh santa cruz
 

Más de Juan Antonio Martin

Ios y azure apps como churros
Ios y azure apps como churrosIos y azure apps como churros
Ios y azure apps como churros
Juan Antonio Martin
 
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
Juan Antonio Martin
 
Introducción a CloudKit
Introducción a CloudKitIntroducción a CloudKit
Introducción a CloudKit
Juan Antonio Martin
 
Backend i os
Backend i osBackend i os
Backend i os
Juan Antonio Martin
 
Instruments 3 en 1
Instruments 3 en 1Instruments 3 en 1
Instruments 3 en 1
Juan Antonio Martin
 
Bye bye jenkins welcome bots
Bye bye jenkins welcome botsBye bye jenkins welcome bots
Bye bye jenkins welcome bots
Juan Antonio Martin
 
Parse intro
Parse introParse intro
Parse intro
Juan Antonio Martin
 
Desmontando a Jenkins :-)
Desmontando a Jenkins :-)Desmontando a Jenkins :-)
Desmontando a Jenkins :-)
Juan Antonio Martin
 
Google analytics sdk ios
Google analytics sdk iosGoogle analytics sdk ios
Google analytics sdk ios
Juan Antonio Martin
 

Más de Juan Antonio Martin (9)

Ios y azure apps como churros
Ios y azure apps como churrosIos y azure apps como churros
Ios y azure apps como churros
 
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
 

Último

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 

Último (20)

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 

Cloud en iOS: alternativas para desarrollar nuevas Apps

  • 1. Cloud en IOS: Alternativas de Desarrollo Juan Antonio Martin juan.antonio.martin@gmail.com – NSCoder Night Madrid @byjuanamn
  • 2. Agenda •Introducción •iCloud •Azure •Amazon Web Services Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 2
  • 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
  • 6. Construir Apps con Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 6
  • 7. Construir Apps con Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 6
  • 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. ¿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. ¿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. ¿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. ¿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. 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. 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. 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. 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
  • 36. 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
  • 37. Primera app en iCloud dispatch_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
  • 38. 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
  • 39. 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
  • 41. -(void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
  • 42. -(void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler + Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
  • 43. -(void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler + Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
  • 44. -(void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler + - (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError**) error; Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
  • 45. Lectura -(void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler + - (BOOL)loadFromContents:(id)contents ofType:(NSString *)typeName error:(NSError**) error; Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 21
  • 47. Lectura Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 48. Lectura Cola Principal Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 49. Lectura Cola Principal Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 50. Lectura Cola Principal Open Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 51. Lectura Cola Principal Open Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 52. Lectura Cola Principal Open Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 53. Lectura Cola Principal Open Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 54. Lectura Cola Principal Open read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 55. Lectura Cola Principal Open read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 56. Lectura Cola Principal Open load read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 57. Lectura Cola Principal Open load completion^ read Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 22
  • 58. Escritura - (void)saveToURL:(NSURL *)url forSaveOperation:(UIDocumentSaveOperation)saveOperation completionHandler:(void (^)(BOOL success))completionHandler - (id)contentsForType:(NSString *)typeName error:(NSError **)outError Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 23
  • 59. Cola Principal Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 60. Escritura Cola Principal Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 61. Escritura Cola Principal Save Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 62. Escritura Cola Principal Save Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 63. Escritura Cola Principal Save Snapshot Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 64. Escritura Cola Principal Save Snapshot Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 65. Escritura Cola Principal Save Snapshot write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 66. Escritura Cola Principal Save Snapshot write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 67. Escritura Cola Principal Save Snapshot completion^ write Cola background Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 24
  • 68. primera App •DEMO Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 25
  • 71. Amazon Web Services •Amazon ofrece: Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 27
  • 72. 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
  • 73. 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
  • 74. 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
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. 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
  • 82. 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
  • 83. 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
  • 84. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 85. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 86. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 87. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 88. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 89. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 90. Windows Azure Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 39
  • 91. Windows Azure •DEMO Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 40
  • 92. 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
  • 93. 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
  • 94. Q&A Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 43
  • 95. 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
  • 96. Q&A Juan Antonio Martín juan.antonio.martin@gmail.com – NSCoder Night Madrid 45
  • 97. muchas gracias Juan Antonio Martin juan.antonio.martin@gmail.com – NSCoder Madrid @byjuanamn

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n