Among recent Amazon Web Services’ announcements at re:Invent, AWS Mobile Hub aims at making it easier for mobile app developers to use AWS services to build their apps’ backends.
AWS Mobile Hub does not actually add any new services to what AWS has been already providing. What it does is providing an integrated console to help developers select high-level features with the corresponding services required for their apps. Once developers have selected a set of features, AWS Mobile Hub is able to generate sample apps for iOS or Android that integrate the required services and that can be immediately built, tested, and monitored within AWS Mobile Hub.
The following features are available for developers to choose from:
- User sign-in, that allows users to authenticate themselves either using Facebook or a custom identity system. This feature uses Amazon Cognito Identity to create an Amazon Cognito identity pool and a new AWS identity and Access Management role for the app.
- Push notifications, which can be sent either through Apple Push Notification Service, or Google Cloud Messaging. Notifications can be sent either to individual devices or to tags that devices subscribe to. This feature is based on Amazon Simple Notification Service, and the provided sample app will contain code to get an APNS or GCN token and register it with Amazon SNS.
- App content delivery, which allows developers to store application assets such as audio and video files in AWS cloud. This feature is based on Amazon S3 and Amazon CloudFront and Mobile Hub will allow developers to set properties such as whether the files are only accessible to the app or are made publicly available. The generated sample apps include code to show how to download assets and cache them locally.
- User data storage, which makes it possible to store user data such as photos or other documents and app settings in AWS cloud. AWS Mobile Hub will create an S3 bucket and will store user data in two folders: a public one, and a private one with privileges set to limit access to authorized users only. The generated sample apps contain an implementation of a file explorer to browse through public and private folders.
- App analytics, based on Amazon Mobile Analytics, is used to collect engagement statistics such as daily and monthly active users, new users, session count and average sessions per daily active user, etc.
- Cloud logic, based on AWS Lambda, which makes it possible to create services that can be called from mobile apps through AWS Lambda API. AWS Lambda support the use of JavaScript, Java, and Python. Code can be shared across iOS and Android and can be changed on the fly. Developers can select a Lambda function template, edit an existing function from their AWS accounts, or create a new function from scratch. The sample app show how to invoke each function that has been selected.
AWS Mobile Hub is a free service in itself, and developers are charged for their use of the AWS services that Mobile Hub provisions. More details about AWS Mobile Hub can be found in its developer guide.