This course covers the Design Azure Web and Mobile Apps part of the 70-534 exam, which is worth 5–10% of the exam. The intent of the course is to help fill in an knowledge gaps that you might have, and help to prepare you for the exam.
Welcome back. In this lesson, we're going to be talking about Mobile Apps.
First, it's worth pointing out that Azure is in the process of deprecating Azure Mobile Services, and it's already been superseded by Azure App Service Mobile Apps. However, to be thorough, I'm going to cover both.
Azure Mobile Services is a hosted Azure service built on Azure websites, and it's for creating a backend for data-driven mobile applications with authentication integration via Azure AD and social media accounts.
The backend of the mobile services is a web API implemented with a standard template that uses SQL-based CRUD scaffolding by default. From the management portal, you can access a simplified table editor that enables defining table entities and adding columns based on a few simple data types.
The table will automatically add columns such as primary key, create date, update date, and a soft delete flag as well. There are two options to implement Mobile Services. You can use Node js or .Net. When using Node, the mobile service will generate scripts for the CRUD functions and you can edit these scripts as needed.
You can also override the functions to enable things like authentication or notifications. You edit the scripts in the classic portal directly when using Node. Whereas with .NET, you would use Visual Studio.
For .NET, you can create a Mobile Service project inside Visual Studio, and it's basically a standard web API project. Mobile Services allows for offline sync as well. It uses a SQLite database locally. When the device isn't able to connect to the internet, it's going to hold that data in the SQLite database, and then it's gonna sync up when it's back online.
The backend is able to manage conflicts using globally unique identifiers in place of numeric IDs, as well as timestamps and version info. Mobile Services has a few different ways to handle locking down who can access what as well.
The first being unauthenticated, which is great for read-only data. It allows anyone to access the data. You can also use an app key, which means that the http requests are authorized because the app key is included in the request header.
This is useful for development environment and really shouldn't be used in production. Admins can use a master key, which should only be used for admin reasons, and the most common scenario is authenticating with social authentication, or with Azure Active Directory.
Okay, like I mentioned at the beginning, Azure Mobile Services has been superseded by Azure App Service Mobile Apps. Mobile Apps has all the functionality of Mobile Services, though it's kind of a central location to deploy web, logic and mobile apps.
This is kind of cool because now we can have the added value of using our development tools that we'd use with web apps, which we'll cover in a later course.
So we're not going to deep dive into Mobile Apps, though let's check it out in the portal. Alright once we have our mobile app created, we can click on quick start and it allows us to get some code so we can start in using a particular device.
And you can see that we have most major devices covered here. Just like we would with Mobile Services, we can use Node or C sharp. And while this is just an intro to what it offers, it helps to show that we can use this to wire up our clients to our backend system very easily.
Okay, it won't be long before Azure removes Mobile Services from the exam objectives and adds Azure App Service Mobile Apps. So keep an eye on the objectives and start getting familiar with Mobile Apps instead.
Alright, in our next lesson, we're going be looking at notifications. So let's get started with the next lesson.
About the Author
Ben Lambert is the Director of Engineering and was previously the lead author for DevOps and Microsoft Azure training content at Cloud Academy. His courses and learning paths covered Cloud Ecosystem technologies such as DC/OS, configuration management tools, and containers. As a software engineer, Ben’s experience includes building highly available web and mobile apps.
When he’s not building the first platform to run and measure enterprise transformation initiatives at Cloud Academy, he’s hiking, camping, or creating video games.