Mobile Development

There are many approaches to mobile app development. The most basic and actually most flexible is to just use a website but make sure it is "responsive" and that it works on a variety of mobile devices including phones and tablets.

The next option is "native" app development, where you pick your target platform and download the tools for working on that platform. This opens up greater opportunities, allowing easy access to the device's hardware and functionality.

Another option is to look at writing apps in a cross-platform way. So for example with Apache Cordova or Mobile App Development & App Creation Software - Xamarin (which is now owned by Microsoft).

Xamarin

There is a very good, free eBook Creating Mobile Apps with Xamarin.Forms Book First Edition - Xamarin as well as Create a simple Android app with Xamarin.Android | Microsoft Docs.

Firebase

This is a Google owned platform for mobile development, supporting iOS, Android and mobile web, it provides a lot of commonly needed services, see Firebase for details.

Android

Whilst there is lots of information on Android development and many ways to do it there is less help on debugging and fixing issues. Mozilla are using LeakCanary in their Firefox development and it looks like a great tool for detecting memory leaks.

Windows Phone 8

The best place to start reading up on developing for Windows Phone 8 is Getting started with developing for Windows Phone 8. There is a good article on getting setup on a VM at Windows Phone: Windows Phone 8 SDK on a Virtual Machine with Working Emulator - TechNet Articles - United States (English) - TechNet Wiki.

Some basic steps for development are as follows:

  • Build a VM in VMWare
  • Install Windows 10
  • Enable Developer Mode in Windows 10
  • Install Visual Studio: I used VS Community 2015