22
CloudKit Back-Office clé-en-main Dimitri Dupuis-Latour @dupuislatour

CloudKit as a backend

Embed Size (px)

Citation preview

Page 1: CloudKit as a backend

CloudKitBack-Office clé-en-main

Dimitri Dupuis-Latour @dupuislatour

Page 2: CloudKit as a backend

Les Apps My Little Paris

My Little App My Little Beauty Hook

50 Gifts 50 Rendez-Vous My Little Mood

Page 3: CloudKit as a backend

Alimentées par un BO• Applis Média

• Contenus mis à jour fréquemment

• Equipes Edito veulent un BO ‘user-friendly’

Page 4: CloudKit as a backend

Nouvelle Appli

Le Meilleur des Adresses Merci Alfred x My Little Paris

Page 5: CloudKit as a backend

Beta Publique aujourd’hui

Page 6: CloudKit as a backend

CloudKitBack-Office clé-en-main

Page 7: CloudKit as a backend

CloudKit• Le « Parse » d’Apple (iOS 8)

• BaaS : Backend-as-Service

• ‘Off-the-shelf’ solution

• Skill NOT required: JS, PHP, SQL, Node, REST…

• Devenez un vrai « Full-Stack Developer »

Page 8: CloudKit as a backend

Solution Traditionelle

Objet ‘Natif’ Swift/ObjC

Parsing JSON

API JSON

PHPNode.js

Java Ruby

SQL MongoDB

Admin Web

Page 9: CloudKit as a backend

CloudKit (théorie)

Objet ‘Natif’ Swift/ObjC

Admin Web

Page 10: CloudKit as a backend

CloudKit Dashboard

Page 11: CloudKit as a backend

CloudKit DashboardStringDate/TimeInt(64)DoubleBytesLocationReferenceAsset——————[String][Date/Time][Int(64)][Double][Bytes][Location][Reference][Asset]

Page 12: CloudKit as a backend

CloudKit Dashboard

Page 13: CloudKit as a backend

API Features

• Fields: (NS)Date, CLLocation, CKAssets…

• Query: NSPredicates

• Sort: NSSortDescriptors

• Pagination (batches of ≅100 records at a time)

Page 14: CloudKit as a backend

Availability

• CloudKit Framework (Swift / ObjC)

• CloudKit JS (Javascript)

• API HTTP / REST (Server-to-server et Android !)

Page 15: CloudKit as a backend

Other Features

• Push Notification (onInsert, onCreate, onPredicate)

• Private Database :

• Transparent Authentification : no SignIn/Up

• Store user data (ex: favorites…)

Page 16: CloudKit as a backend

Future Avoiding Parse fate…

CloudKitOne year later

Page 17: CloudKit as a backend

Limitations !• CloudKit handles Transport, not Persistence

• Dashboard User-Friendlyness: good, but can be improved (better than manual editing JSON)

• Image bandwidth limit rapidly approaching=> images hosted on Amazon S3

• Bug in iOS 10.0/10.1 (fixed 10.2): iCloud account required to read public database

Page 18: CloudKit as a backend

Objet ‘Natif’ Swift/ObjC

Parsing JSON

API JSON

Admin Web

Python

CloudKit (pratique)

Page 19: CloudKit as a backend

Questions ?

Dimitri Dupuis-Latour @dupuislatour

[email protected]

Page 20: CloudKit as a backend

Prices

Page 21: CloudKit as a backend

Prices

Page 22: CloudKit as a backend

Prices