As consumers access web content through a growing array of mobile devices, developers must ensure those users can interact with legacy applications and content. Building a back end to support that effort can be time-consuming and difficult.
Mobile backend as a service (MBaaS) is a selling point for enterprises that want to engage with customers. And cloud providers, such as AWS, provide the necessary infrastructure to support mobile apps, including APIs and software development kits (SDKs). Common cloud and AWS mobile app development features, such as push notifications, social network integration and geolocation, are also necessary in today's varied mobile market.
Developers also need to build apps that work on different devices, OSes and with different performance specifications. The common process of building a mobile app for a single OS is no longer feasible. Today, IT teams use cross-platform mobile development to ensure all end users have the same app experience -- regardless of the device they use.
As a player in the MBaaS market, AWS provides several mobile-specific tools and development features for building mobile apps. Enterprise IT teams should familiarize themselves with this glossary of AWS mobile app development terms as they tackle projects.
Mobile application development platform (MADP): Enterprise developers use a MADP to quickly build, test and deploy mobile applications. Instead of coding entire apps from scratch, a mobile-focused enterprise can build or purchase a MADP that eases common tasks, like MBaaS, API management and mobile application management tools.
Amazon API Gateway: This utility allows developers to create and manage secure APIs for AWS mobile app development. Developers use APIs to allow applications to connect information -- either on the front end to pass data, or on the back end to code or another service. Amazon API Gateway helps AWS tools interact with one another, which is necessary when building a mobile back end. Developers can securely connect APIs to publicly available web services residing within AWS or externally -- all while AWS manages the back-end infrastructure to control user authorization and access, monitoring, analytics and SDK generation.
Amazon CloudFront: Developers use CloudFront to distribute video content, websites or other assets to end users. CloudFront uses a feature called Mobile Device Detection to deliver customized content based on an end user's device. This enables mobile end users to receive dynamic content at high speeds and with low latency rates.
Amazon Cognito: Amazon Cognito controls end-user access and authentication for mobile devices across multiple devices -- PCs, tablets and smartphones. The service saves and synchronizes end-user data in identity pools, enabling uninterrupted interaction with an application from one device to another. Cognito uses a variety of public identity providers, which pass OAuth or OpenID Connect tokens to the service to create Cognito IDs -- allowing a developer to focus on building the app, instead of working on back-end infrastructure for managing user access.
Amazon DynamoDB: DynamoDB is a scalable, low-latency, nonrelational database service. Amazon DynamoDB supports document and key-value store models. Because of its flexibility and reliability, developers use the service for mobile and gaming applications. The AWS Mobile SDK provides libraries for working with DynamoDB that include mobile-specific features.
Amazon Mobile Analytics: This AWS tool enables enterprise IT to collect and analyze mobile application usage data. Analytical data helps developers tailor applications to end-user needs and enables IT teams to better monetize apps and increase engagement. Amazon Mobile Analytics scales to process billions of events from millions of end users; the AWS Management Console provides graphical reports to visualize the data. Amazon Mobile Analytics works in conjunction with other native data analysis services, such as Amazon Redshift.
Amazon Simple Notification Service: IT teams can manage push messaging with Amazon SNS, which includes texts, alerts and notifications. IT teams that monitor back-end services often rely on push messaging. In addition, developers can use the feature to encourage end-user interaction by pushing notifications of app updates and rewards to mobile endpoints. Amazon SNS supports a variety of push notification services, including Amazon Device Messaging, Apple Push Notification Service, Baidu Cloud Push and Google Cloud Messaging for Android.
Application refactoring: Developers use this method to improve the performance or readability of an application without changing its functionality. This effort can extend the lifecycle and usability of an app. Developers commonly refactor applications to improve support for mobile devices. Refactored applications are easier to port from one mobile OS to another, as developers attempt to make code more modular.
AWS Device Farm: IT teams need to ensure when applications read end-user devices, they run as expected -- without errors or bugs. To ensure this, developers can test mobile applications on a range of devices with the AWS Device Farm. The service enables an IT team to configure tests that simulate real-world conditions and simultaneous usage. It also provides more accurate results than an emulator because it administers a real device test.
AWS Lambda: Amazon's serverless computing service has a variety of uses across cloud architectures, but developers can invoke Lambda code from a mobile application using the AWS Lambda SDK. Lambda code can make calls to retrieve data at intervals or asynchronous calls to other services connecting to the mobile back end. Lambda also integrates with the Alexa Skills Kit, Amazon Cognito and Amazon API Gateway, giving mobile app developers a variety of applicable function calls.
AWS Mobile Hub: The AWS Mobile Hub rolls several AWS mobile app development tools and features into one console. The hub enables developers to quickly build and configure mobile app back ends, automatically provisioning the AWS resources that a developer needs for the application. The service helps IT teams incorporate features into mobile app code, test the app and then monitor how end users interact with the app and its features. AWS Mobile Hub features regularly change, but generally cover areas such as analytics, content delivery, push notifications, user management and database integration.
AWS Mobile SDK: One of several AWS Mobile Hub offerings, the AWS Mobile SDK speeds mobile application development by providing a collection of tools for IT teams. Mobile app developers can access code samples, libraries and documentation within the AWS Mobile SDK. AWS offers SDKs for iOS 8 and above, iOS 7, Android and Fire OS, React Native, Unity and Xamarin.
Words to go: AWS storage terms
Ensure mobile app performance with Device Farm
Cognito a key piece in AWS mobile dev