cloudkit as a backend
TRANSCRIPT
CloudKitBack-Office clé-en-main
Dimitri Dupuis-Latour @dupuislatour
Les Apps My Little Paris
My Little App My Little Beauty Hook
50 Gifts 50 Rendez-Vous My Little Mood
Alimentées par un BO• Applis Média
• Contenus mis à jour fréquemment
• Equipes Edito veulent un BO ‘user-friendly’
Nouvelle Appli
Le Meilleur des Adresses Merci Alfred x My Little Paris
Beta Publique aujourd’hui
CloudKitBack-Office clé-en-main
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 »
Solution Traditionelle
Objet ‘Natif’ Swift/ObjC
Parsing JSON
API JSON
PHPNode.js
Java Ruby
…
SQL MongoDB
…
Admin Web
CloudKit (théorie)
Objet ‘Natif’ Swift/ObjC
Admin Web
CloudKit Dashboard
CloudKit DashboardStringDate/TimeInt(64)DoubleBytesLocationReferenceAsset——————[String][Date/Time][Int(64)][Double][Bytes][Location][Reference][Asset]
CloudKit Dashboard
API Features
• Fields: (NS)Date, CLLocation, CKAssets…
• Query: NSPredicates
• Sort: NSSortDescriptors
• Pagination (batches of ≅100 records at a time)
Availability
• CloudKit Framework (Swift / ObjC)
• CloudKit JS (Javascript)
• API HTTP / REST (Server-to-server et Android !)
Other Features
• Push Notification (onInsert, onCreate, onPredicate)
• Private Database :
• Transparent Authentification : no SignIn/Up
• Store user data (ex: favorites…)
Future Avoiding Parse fate…
CloudKitOne year later
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
Objet ‘Natif’ Swift/ObjC
Parsing JSON
API JSON
Admin Web
Python
CloudKit (pratique)
Prices
Prices
Prices