Helios y su integración en iOS

684 views

Published on

Presentación sobre el framework Helios, los módulos que lo componen y las librerías con las que puede integrarse en desarrollos iOS.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
684
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Helios y su integración en iOS

  1. 1. Helios y su integración en iOS ¿Es   una persona o una legión?@mattt Created by /Javier Moreno @jmoreno
  2. 2. , an extensible   mobile backend framework helios open-source si, si, pero... ¿qué es? Aplicación Ruby construida sobre . Compuesto por varias aplicaciones Ruby hechas con Sinatra. Con una pequeña interfaz de administración web. Rack
  3. 3. ¿Para qué sirve? Sincronización de datos Notificaciones PUSH Gestión de In-App Purchases Gestión de Passbook Gestión de Newstand Analíticas y logging Configuración remota
  4. 4. Sincronización de datos En el backend : Automatically generate RESTful CRUD servicesRack::Scaffold En iOS : Core Data Persistence with AFNetworking, Done Right... my ass! : A delightful iOS and OS X networking framework. AFIncrementalStore AFNetworking
  5. 5. Rack::Scaffold GET /:resources POST /:resources GET /:resources/:id PUT /:resources/:id DELETE /:resources/:id GET /:resources/:id/:associationsi hay relaciones
  6. 6. AFIncrementalStore Promete mucho pero AFNetworking es más seguro.
  7. 7. Notificaciones PUSH En el backend : A Rack-mountable webservice for managing push notifications : Apple Push Notifications; No Dirigible Required Rack::PushNotification Houston En iOS : Push Notification Registration for iOSOrbiter
  8. 8. Rack::PushNotification PUT /push_notification/devices/:token DELETE /push_notification/devices/:token GET /push_notification/devices/? GET /push_notification/devices/:token/?
  9. 9. Houston POST /push_notification/message Command-Line Interface
  10. 10. Orbiter Integración con Helios -(void)application:(UIApplication*)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData { NSURL*serverURL=[NSURLURLWithString:@"http://demo.helios.javimoreno.me/devices/"]; Orbiter*orbiter=[[Orbiteralloc]initWithBaseURL:serverURLcredential:nil]; [orbiterregisterDeviceToken:deviceTokenwithAlias:nilsuccess:^(idresponseObject){ NSLog(@"RegistrationSuccess:%@",responseObject); }failure:^(NSError*error){ NSLog(@"RegistrationError:%@",error); }]; } También con Parse y Urban Airship
  11. 11. Gestión de In-App Purchases En el backend : Ruby Gem for In-App Purchase Receipt Verification Rack::InAppPurchase Venice En iOS : The Essential StoreKit CompanionCargo Bay
  12. 12. Rack::InAppPurchase POST /in_app_purchase/receipts/verify GET /in_app_purchase/products/identifiers GET /in_app_purchase/receipts/
  13. 13. Venice Command-Line Interface
  14. 14. Cargo Bay Lista de productos disponibles: NSURL*url=[NSURLURLWithString:@"http://demo.helios.javimoreno.me/in_app_purchase/products/identifiers/ NSURLRequest*request=[NSURLRequestrequestWithURL:url]; [[CargoBaysharedManager]productsWithRequest:requestsuccess:^(NSArray*products,NSArray*invalidIdentif NSLog(@"Products:%@",products); NSLog(@"InvalidIdentifiers:%@",invalidIdentifiers); _productsArray=[NSMutableArrayarrayWithArray:products]; [self.tableViewreloadData]; }failure:^(NSError*error){ NSLog(@"Error:%@",[errordescription]); }];
  15. 15. Cargo Bay Seguimiento de los pagos: -(void)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)options{ [[CargoBaysharedManager]setPaymentQueueUpdatedTransactionsBlock:^(SKPaymentQueue*queue,NSArray*tr NSLog(@"UpdatedTransactions:%@",transactions); }]; [[SKPaymentQueuedefaultQueue]addTransactionObserver:[CargoBaysharedManager]]; //... }
  16. 16. Cargo Bay Verificación de la compra: [[CargoBaysharedManager]verifyTransaction:transactionpassword:nilsuccess:^(NSDictionary*receipt){ NSLog(@"Receipt:%@",receipt); }failure:^(NSError*error){ NSLog(@"Error%d(%@)",[errorcode],[errorlocalizedDescription]); }];
  17. 17. Gestión de Passbook En el backend : Generate and Preview Passbook Passes Rack::Passbook Dubai En iOS : A delightful iOS and OS X networking framework.AFNetworking
  18. 18. Rack::Passbook GET /passbook/passes/:passTypeIdentifier/:serialNumber GET /passbook/devices/:deviceLibraryIdentifier/registration passesUpdatedSince=tag] POST /passbook/devices/:deviceLibraryIdentifier/registrations/:p DELETE /passbook/devices/:deviceLibraryIdentifier/registrations/:p GET /passbook/passes/
  19. 19. Dubai Command-Line Interface
  20. 20. Gestión de Newsstand En el backend : Automatically generate webservice endpoints for Newsstand Rack::Newsstand En iOS : A delightful iOS and OS X networking framework.AFNetworking
  21. 21. Rack::Newsstand GET /newsstand/issues GET /newsstand/issues/:name POST /newsstand/issues
  22. 22. Analíticas y logging En el backend : Log metrics from HTTP request parameters according to l2met conventions Rack::HTTPLogger En iOS : Extensible Remote LoggingAntenna
  23. 23. Configuración remota En el backend : Serve property list or JSON configuration files Rack::RemoteConfiguration En iOS : Remote Configuration for iOS : Multivariate & A/B Testing for iOS and Mac Ground Control SkyLab
  24. 24. Anexos : world-class command line utilities for iOS development : a hybrid approach to real-time cloud applications : The easiest way to get started with PostgreSQL on the Mac : A Polyglot Database Client for Mac OS X : a journal of the overlooked bits in Objective-C and Cocoa : Searchable full-text transcripts of WWDC sessions Nomad Rocket PostgresApp Induction NSHipster ASCIIwwdc
  25. 25. THE END BY Javier Moreno / javimoreno.me

×