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.
On the surface, it may seem like a difficult choice between Alexa and Google Home, but once you look at...
Apple has to out-execute itself (and its rivals) every year to coerce millions of users to upgrade and...
Fitbit's aging Charge HR just received a major upgrade with Charge 2, and the new device pushes the...
Sponsored by Connection
Sponsored by KPMG
Sponsored by PLEX
Where’s mobile marketing heading? And what do CMOs and marketers need to know to stay ahead or avoid...
Sanjay Mirchandani, CEO of software vendor Puppet, says DevOps helped him as CIO of EMC, where he led a...
Robotic process automation has improved productivity and quality at Deutsche Bank. Robots are intended...
President Donald Trump said this week that the federal budget is a "mess" and is promising to make it...