Mastering Mobile Apps With Azure

For me, today at TechEd North America 2013 has been all about mobile applications, the different toolsets that are used and the different platforms. I attended three sessions which looked at different aspects of coding, push notifications, authentication methods and the publishing of applications into the application store.

The first session I focused on was Windows Azure Mobile Services. Mobile Services has been around for over 12 months and is Microsoft’s Platform as a Service (PaaS) solution for mobile application development. This meaning it can provide the back end infrastructure to support and run organisations’ real-world mobile applications. Mobile Services is also Microsoft’s competitor to current Mobile Application Development Platforms (MADPs) such as Parse, Kinvey, Stackmob and Buddy.com.

Azure Mobile Services is a simple and easy-to-use platform and the demo highlighted just how straightforward it is to commission mobile services. It allows simple out of the box integration with external identity providers Twitter, Facebook and/or Google. For those wishing to utilise their own identity source it also supports auth0 which provides identity management/authentication for cloud services.

Creating a mobile service is really the first step in creating a mobile application on Windows Azure Mobile Service. Once it’s created you need to connect to an app. It currently supports Windows Store, Windows Phone 8, iOS, Android and HTML/JavaScript. The process for Windows Store and Windows Phone 8 is relatively similar. Users can download Windows Visual Studio Express 2012 (for free) and start designing and testing applications. For iOS you will need to install the xCode and for Android you will need to obtain the Android Developer tools which can be downloaded from the developer sites. Windows apps currently support JavaScript with HTML/CSS, C#, Visual Basic or C++ with XAML or C++ with Direct X.

C++ has some new features that look familiar to C# developers including auto keyword, anonymous functions and lambda expressions and strongly-typed enumerations. The advantage of C++ is that if you have any legacy code it can still be used, so you can save money and time, especially for image processing or math calculations.

It was very obvious today that Microsoft is happy to also provide other developer tools to assist in application development. The Windows Phone 8 SDK contains all the tools needed to start creating mobile applications including templates and a virtual phone emulator that can be used for testing applications. It’s important to remember that SDKs are specific to each platform (Google and Android). Other tools that can be used for application development include Xamarin Studio and PhoneGap.

Once you’ve created your application and it has been tested and packaged then then you’re ready to publish your application to the app store. You will need to create a developer account before you can do this. Microsoft offer accounts for individual users and corporations. Submitting the application is straightforward and you have the option of utilising the public app store or setting up a private app store for corporate use. There are however different licensing models for each of these. Ultimately this will come down to the app, its intended usage and your requirements.

Microsoft will test the integrity/health of any application that’s submitted and also provides an option for beta testing where the application won’t be published publically, but you can select which specific users you can have involved in the testing. Handy.

From a statistics perspective the Windows Phone app store has about 120,000 apps available while Windows is sitting at about 70,000. Microsoft does not have any current plans to combine the two stores.

For anyone looking at mobile application development I encourage you to look at Windows Azure Mobile Service. I think it provides a quick and easy way to get services provisioned and as with other Azure offerings you have the ability to scale up or down as needed.