Xcode · Swift · CloudKit · CoreData · Amazon S3 · Firebase · Data API
On- and off-line use
Artist, Volunteer, and Band data (hundreds of record objects) is fetched on first launch and persisted to CoreData. This takes 3-4 seconds.
Record updates are fetched in `viewDidLoad`, on a background thread. On completion, `NSFetchedResultsController` animates the UI for inserts, deletes, and changes.
Record updates may also be configured to fire silent, `content-available` notifications, using Firebase. Silent fetches occur even on devices that are locked.
Visible notifications can be configured with a payload targeting a record object or ViewController (ie. can send a user anywhere in the app).
- Async image loading (Amazon S3) and image caching (Kingfisher).
First-class, native iOS app experience using FileMaker production data. Not a FIAS app. Not a JS/CSS "wrapper". Not LiveCode, Xojo, Electron, Mandix...
UIKit + Apple Frameworks. TableViews and CollectionViews with vertical/horizontal scroll, swipe actions, embedded search controllers, re/sort in place, action sheets...
Scroll hundreds/thousands of record objects with related data, without dropping frames.
My Art Con app has about 1,200 users, and the Data API has proven itself responsive and reliable. Early versions of the Art Con app (pre- Data API) required exporting data from FileMaker (.tab) and importing to CloudKit. I had that process highly automated, so it wasn't a huge deal to export/import. But it's not really ideal moving perfectly good data someplace else just to drive an iOS app, now is it? Having a Data API means I won't have to do that anymore.
As far as building Data API calls in Xcode, I wrote a service class/wrapper to make that lots easier. Feel free to use it in your Swift projects!
Art Con is available at the App Store (iOS 11+). Download it here: https://itunes.apple.com/us/app/art-con/id1174686520