In the last year I've reviewed six MBaaS (mobile back end as a service) platforms: FeedHenry, Kinvey, Parse, AnyPresence, Appcelerator, and Appery.io. I also briefly examined the MBaaS platforms associated with Pivotal CF and IBM Bluemix in my reviews of those PaaS (platform as a service) offerings. All of these MBaaS platforms run on some kind of public cloud, and some can be installed on-premise or in hybrid cloud configurations.
Not to be left out, the three major public cloud services have either developed or bought MBaaS platforms of their own. Amazon developed the Mobile SDK with multiple mobile-specific services, along with ways to tie mobile apps into its mainstream services such as DynamoDB and S3. Last October, Google acquired Firebase, which offers a secure, real-time, cloud-hosted, NoSQL database with a REST API as well as a login service. Microsoft Azure Mobile Services also includes non-Microsoft service components such as the Node.js Web API and MongoDB storage, as well as the .Net, Active Directory, and SQL Server cloud services that you'd expect.
Amazon Mobile SDK
The AWS Mobile SDK includes Cognito, Mobile Analytics, and SNS push notifications. Amazon Cognito helps you securely store, manage, and sync identities and data across multiple devices, platforms, and applications. You may also want to use DynamoDB, S3, and other Amazon services with your mobile app; you can use Cognito to manage those credentials as well. Apps built with Cognito work offline by syncing Cognito with local storage.
Cognito user profile data is organized in data sets of up to 1MB of data in the form of key-value pairs. Read and write operations performed on a data set affect only the local store until the synchronize method is invoked. Amazon offers user game state as a use case for Cognito data sets. If you need to store and retrieve non-user-related data, then Amazon DynamoDB, S3, MongoDB (run in an Amazon EC2 instance, for example), or a relational database such as MySQL or PostgreSQL (both available as managed database services in Amazon RDS) might be better choices. Cognito could help by storing the per-user credentials for those data stores.
Amazon currently has production Mobile SDKs for Android and iOS, as well as a developer preview for Unity. A Mobile SDK for Xamarin is available on AWS Labs.
Amazon Mobile Analytics is a service that lets you collect and analyze your application usage data. In addition to viewing its own summary, you can set up automatic export of your usage data to Amazon S3 to work with other data analytics tools from Amazon Redshift or whatever you like. Amazon Mobile Analytics is designed to process and export your application event data within an hour.
Amazon SNS can push notifications to Apple, Google, Fire OS, and Windows devices, as well as Android devices in China (with Baidu Cloud Push).
I downloaded, installed, and tested the AWS Mobile and Cognito SDKs and samples for iOS and Android, as well as configured a Cognito service and Identity Pool on Amazon. All of that took longer than it should have, as I found the documentation and downloads scattered and confusing, although on re-reading I discovered that the docs are correct and (barely) complete enough to use. I made one mistake after another -- fortunately, none of them fatal. The process reminded me of assembling furniture from Ikea.
I was eventually able to build (Figure 1) and run the samples, then fill in my credentials in the right place (for iOS, that’s Constants.h) and run them without errors (Figure 2). I started working on this on a Thursday afternoon, spent half of Friday on it, took the weekend off, and finally got everything going Monday morning. It would take me less than two hours now that I’ve grokked how it works and purged all the mistakes from my system.
I was surprised to have to update my iOS and Android tools during this process, but realized that I had been using cloud-based mobile builders for the previous month or so. Make sure your tools are up to date before starting to work with the mobile SDKs if you’d like to avoid the interruption in your flow that updating them could cause.
Nvidia's new 3GB version of the GeForce GTX 1060 goes toe-to-toe with the $200 Radeon RX 480—in theory.
The Apple Pencil is an amazing tool for taking notes, and in this roundup you'll find nine of the best...
Garmin's vivoactive HR and Fitbit's Surge fitness watches both cost $250, and they have many similar...
Sponsored by PLEX
Sponsored by KPMG
Sponsored by Connection
The price Google charges for its Pixel XL smartphone is closer to what it costs to make the phone than...
Dish Network customers recently sued the company after it dropped a popular channel without providing...
When it comes to managing indirect reports, there's no substitute for experience. Here’s how two...
Here’s how to step out of the server closet and into a more robust (and possibly more rewarding) tech...