Last autumn, Amazon announced a new service dashboard in their ever-expanding universe of Amazon Web Services that specifically targets mobile app development called the AWS Mobile Hub. This will significantly streamline the processes of building, testing and monitoring mobile apps built for both iOS and Android using a wide variety of development and testing tools.
Everything a mobile app developer needs from back-end cloud services is presented within a single console, which enables access to and configuration of AWS options, client SDKs, integration code, mobile analytics and notifications via Amazon SNS alerts. Taken together, AWS Mobile Hub reduces the overhead to developers of configuring their app’s back-end services, which allows them to concentrate on delivering new functionality to their clients.
AWS Mobile Hub Project
Every AWS Mobile Hub-based app starts by defining a project for that app, which is essentially a collection of features and services commonly used in mobile applications. When creating a Mobile Hub project, developers can leverage built-in authentication services, cloud storage, advanced app content delivery, mobile analytics and shared cloud logic. The necessary SDKs, libraries and initialization code are downloaded after configuring the app’s build in Mobile Hub.
Mobile Hub also enables developers to provision and configure the AWS services each app requires such as Amazon DynamoDB or Amazon EC2 via service consoles. All the resources acquired via AWS Mobile Hub are also accessible for advanced management via those separate service consoles directly from the Mobile Hub dashboard. Access to project resources and consoles can be fine-tuned for individual project team members as the project organization requires.
App user authentication is derived from social or custom logins using Amazon Cognito Identity service, which populates the app screen with the identity providers developers have chosen to display. Users are granted limited credentials on a temporary basis to AWS resources used by the app.
Cloud Data Storage
Each AWS Mobile Hub project has access to an S3 bucket that stores user data in both public and private folders. Access to folders is limited according to the authentication level of app users. A sample browser apps is provided from which a customized file explorer can be created.
Application Content Delivery
Application audio, images and videos are stored using Amazon’s S3 with the ability to cache them locally. Additionally, Amazon’s CloudFront service can be utilized to speed up access to .html, .css, .php, and media files using edge server technology.
Mobile Hub accesses Amazon Mobile Analytics to collect usage and revenue statistics from built-in or customized events as defined by the developer through the Mobile Hub console. It tracks essential trends such as the ratio of new to recurring visitors, user retention, app revenue and in-app events that are vital to making data-driven marketing and monetization decisions.
Shared Cloud Logic
App Testing with Mobile Hub
From the Mobile Hub Project console, developers and testers have direct access to AWS Device Farm, which provides Android, iOS, Fire OS and other web apps access to physical devices such as smartphones and tablets hosted on AWS.
Developers can utilize both built-in, script-less compatibility tests or design their own custom scripts using Xamarin, Titanium, Unity, PhoneGap or just about any other test framework. AWS Device Farm works with test tools such as Appium Java JUnit, Appium Java TestNG, Appium Python, Calabash, UI Automator and UI Automation among others.
AWS Mobile Hub is a new integration console that provides access to the entire AWS service suite, which puts mobile app developers on a fast track to app delivery. AWS Mobile Hub reduces cloud-based back-end configuration overhead while granting access to leading edge, competitive cloud technologies. Mobile Hub supports the leading mobile OSs, development and testing frameworks and tools. Furthermore, it enables agile feature updates even after app release via shared cloud functionality.