SlideShare a Scribd company logo
1 of 25
Download to read offline
Helios
y su integración en iOS
¿Es   una persona o una legión?@mattt
Created by /Javier Moreno @jmoreno
, 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
¿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
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
Rack::Scaffold
GET /:resources
POST /:resources
GET /:resources/:id
PUT /:resources/:id
DELETE /:resources/:id
GET /:resources/:id/:associationsi hay relaciones
AFIncrementalStore
Promete mucho pero AFNetworking es más seguro.
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
Rack::PushNotification
PUT /push_notification/devices/:token
DELETE /push_notification/devices/:token
GET /push_notification/devices/?
GET /push_notification/devices/:token/?
Houston
POST /push_notification/message
Command-Line Interface
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
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
Rack::InAppPurchase
POST /in_app_purchase/receipts/verify
GET /in_app_purchase/products/identifiers
GET /in_app_purchase/receipts/
Venice
Command-Line Interface
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]);
}];
Cargo Bay
Seguimiento de los pagos:
-(void)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)options{
[[CargoBaysharedManager]setPaymentQueueUpdatedTransactionsBlock:^(SKPaymentQueue*queue,NSArray*tr
NSLog(@"UpdatedTransactions:%@",transactions);
}];
[[SKPaymentQueuedefaultQueue]addTransactionObserver:[CargoBaysharedManager]];
//...
}
Cargo Bay
Verificación de la compra:
[[CargoBaysharedManager]verifyTransaction:transactionpassword:nilsuccess:^(NSDictionary*receipt){
NSLog(@"Receipt:%@",receipt);
}failure:^(NSError*error){
NSLog(@"Error%d(%@)",[errorcode],[errorlocalizedDescription]);
}];
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
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/
Dubai
Command-Line Interface
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
Rack::Newsstand
GET /newsstand/issues
GET /newsstand/issues/:name
POST /newsstand/issues
Analíticas y logging
En el backend
: Log metrics from HTTP request parameters
according to l2met conventions
Rack::HTTPLogger
En iOS
: Extensible Remote LoggingAntenna
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
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
THE END
BY Javier Moreno / javimoreno.me

More Related Content

Similar to Helios y su integración en iOS

Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and Jersey
Chris Winters
 
DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and design
Zia Consulting
 

Similar to Helios y su integración en iOS (20)

Guillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource APIGuillotina: The Asyncio REST Resource API
Guillotina: The Asyncio REST Resource API
 
Introduction to REST and Jersey
Introduction to REST and JerseyIntroduction to REST and Jersey
Introduction to REST and Jersey
 
Report From JavaOne 2009 - part 3
Report From JavaOne 2009 - part 3Report From JavaOne 2009 - part 3
Report From JavaOne 2009 - part 3
 
Pentesting iOS Applications
Pentesting iOS ApplicationsPentesting iOS Applications
Pentesting iOS Applications
 
Tastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work EasierTastypie: Easy APIs to Make Your Work Easier
Tastypie: Easy APIs to Make Your Work Easier
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Hadoop Israel - HBase Browser in Hue
Hadoop Israel - HBase Browser in HueHadoop Israel - HBase Browser in Hue
Hadoop Israel - HBase Browser in Hue
 
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
Hue: Big Data Web applications for Interactive Hadoop at Big Data Spain 2014
 
Creating Rajanikant Powered Site
Creating Rajanikant Powered SiteCreating Rajanikant Powered Site
Creating Rajanikant Powered Site
 
API Platform: Full Stack Framework Resurrection
API Platform: Full Stack Framework ResurrectionAPI Platform: Full Stack Framework Resurrection
API Platform: Full Stack Framework Resurrection
 
DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and design
 
RSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP TrainingRSA Europe 2013 OWASP Training
RSA Europe 2013 OWASP Training
 
Node summit workshop
Node summit workshopNode summit workshop
Node summit workshop
 
Building Fast SQL Analytics on Anything with Presto, Alluxio
Building Fast SQL Analytics on Anything with Presto, AlluxioBuilding Fast SQL Analytics on Anything with Presto, Alluxio
Building Fast SQL Analytics on Anything with Presto, Alluxio
 
OpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-outOpenSlava 2014 - CloudFoundry inside-out
OpenSlava 2014 - CloudFoundry inside-out
 
OpenStack Swift Object Storage on EMC Isilon Scale-Out NAS
OpenStack Swift Object Storage on EMC Isilon Scale-Out NASOpenStack Swift Object Storage on EMC Isilon Scale-Out NAS
OpenStack Swift Object Storage on EMC Isilon Scale-Out NAS
 
Partly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hypePartly Cloudy... with a chance of hype
Partly Cloudy... with a chance of hype
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Yii Framework - Do we really need another php framework?
Yii Framework - Do we really need another php framework?Yii Framework - Do we really need another php framework?
Yii Framework - Do we really need another php framework?
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

Helios y su integración en iOS