La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

IOS for Dummies Consumiendo una API REST con AFNetworking y Mantle.

Presentaciones similares


Presentación del tema: "IOS for Dummies Consumiendo una API REST con AFNetworking y Mantle."— Transcripción de la presentación:

1 iOS for Dummies Consumiendo una API REST con AFNetworking y Mantle

2 ¿Qué vamos a ver? Presentación Scaffolding Alcatraz CocoaPods Mantle AFNetworking Implementación API de IT-eBooks

3 presentación Quién soy y qué vamos a realizar

4 Eduardo K. Palenzuela Darias Desarrollador @kiliannet | kiliannet.com

5 IT-eBooks http://www.it-ebooks.infohttp://www.it-ebooks.info | http://it-ebooks-api.infohttp://it-ebooks-api.info

6 SCAFFOLDING Crear una estructura de aplicación mantenible y escalable

7 Scaffolding 1 – Presentation – Application AppDelegate Controllers Views (xib / stroryboards) – Support Images Languages LaunchScreen Supporting 2 – Business – Models – Services 3 – DataAccess – RESTEngine Utils

8 Scaffolding | Importante Sólo eliminar referencias Añadir carpetas como grupos Seleccionar la nueva ruta de Info.plist Eliminar Info.plist de “Copy bundle resources”

9 ALCATRAZ Añadir y mantener plugins o paquetes para Xcode

10 Alcatraz URL: http://alcatraz.iohttp://alcatraz.io Añadir y mantener plugins o paquetes para Xcode

11 Alcatraz | Plugins CocoaPods: https://github.com/kattrali/cocoapods-xcode-pluginhttps://github.com/kattrali/cocoapods-xcode-plugin – Ayuda a integrar Cocoapods en nuestra solución. CocoaControls: https://github.com/yeahdongcn/CocoaControlsPluginhttps://github.com/yeahdongcn/CocoaControlsPlugin – Permite explorar en controles para integrar en nuestra solución y además nos facilita el trabajo de integración en CocoaPods. FuzzyAutocomplete: https://github.com/FuzzyAutocomplete/FuzzyAutocompletePluginhttps://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin – Mejora el IntelliSense del Xcode. OMColorSense: https://github.com/omz/ColorSense-for-Xcodehttps://github.com/omz/ColorSense-for-Xcode – Ayuda a trabajar con UIColor. QuickLocalization: https://github.com/nanaimostudio/Xcode-Quick-Localizationhttps://github.com/nanaimostudio/Xcode-Quick-Localization – Ayuda a crear texto localizado para implementar las traducciones. VVDocumenter-Xcode: https://github.com/onevcat/VVDocumenter-Xcodehttps://github.com/onevcat/VVDocumenter-Xcode – Ayuda a documentar el código.

12 COCOAPODS Gestor de librerías de terceros

13 CocoaPods URL: https://cocoapods.orghttps://cocoapods.org Es un gestor de librerías tipo línea de comando como puede ser Nuggets de.NET

14 CocoaPods | Instalación URL: http://code.tutsplus.com/tutorials/streamlinin g-cocoa-development-with-cocoapods-- mobile-15938 http://code.tutsplus.com/tutorials/streamlinin g-cocoa-development-with-cocoapods-- mobile-15938 $ sudo gem update --system $ sudo gem install cocoapods

15 CocoaPods | Integración 1.Crear un archivo llamado Podfile 2.Añadir los Pods que queremos incluir en nuestro proyecto. – AFNetworking: https://github.com/AFNetworking/AFNetworking https://github.com/AFNetworking/AFNetworking – Mantle: https://github.com/Mantle/Mantlehttps://github.com/Mantle/Mantle 1.Ejecutar “pod install” 2.Cerrar el proyecto. 3.Abrir el nuevo WorkSpace del proyecto.

16 MANTLE Tipar respuestas de API a nuestros modelos de datos

17 Mantle URL: https://github.com/Mantle/Mantlehttps://github.com/Mantle/Mantle Creado por el equipo de desarrollo de GitHub, permite tipar de forma fácil y sencilla respuestas de peticiones API a nuestro modelo de datos.

18 Mantle | Importante Núcleo: MTLModel – Te permite implementar –hash, -isEqual (usar tus clases como claves de diccionarios) – Te implementa NSCopying y NSCoding (guardar en NSUserDefaults) Serialización: MTLJSONSerializing Cast de datos: JSONTransformer

19 AFNETWORKING Librería para hacer peticiones a Servicios Web

20 AFNetworking URL: https://github.com/AFNetworking/AFNetworking https://github.com/AFNetworking/AFNetworking Creado por el equipo de Gowalla, nos permite hacer peticiones a Servicios Web. Está contruido sobre URL Loading System de Apple. – Librerías de Apple de acceso a datos usando protocolos estándar de Internet como HTTP.

21 AFNetworking | Clientes AFHTTPRequestOperationManager – Se basa en NSURLConnection – Para iOS 6 e inferiores. AFHTTPSessionManager – Se basa en NSURLSession – Para iOS 7 y superiores. Ambos clientes están basados en bloques.

22 AFNetworking | Porqué Petición GET con NSHTTPURLResponse NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:10.0f]; // 10 seg. NSError *localError = nil; NSHTTPURLResponse *response = nil; NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&localError]; // Chequeamos el error if (localError != nil) {} // Chequeamos el HTTP status if ([response isKindOfClass:[NSHTTPURLResponse class]]) { NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response; if (httpResponse.statusCode != 200) {} } // Pasamos los datos devueltos en JSON a NSDictionary NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&localError]; if (localError == nil) {} else {}

23 AFNetworking | Porqué Petición GET con AFNetworking [client GET:url parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { // JSON serializado como NSDictionary. } failure:^(NSURLSessionDataTask *task, NSError *error) { // Gestión de errores. }];

24 Enlaces IT-eBooks_begin http://kiliannet.es/tlp2015/IT-eBooks_begin.zip IT-eBooks_final http://kiliannet.es/tlp2015/IT-eBooks_final.zip PPT: http://kiliannet.es/tlp2015/TLP2015_iOSForDummies.ppt

25 ¡¡¡GRACIAS!!! @kiliannet | kiliannet.com


Descargar ppt "IOS for Dummies Consumiendo una API REST con AFNetworking y Mantle."

Presentaciones similares


Anuncios Google