Windows 10 Mobile App Development

Windows 10 Mobile is a mobile edition of Microsoft Windows 10, and is primarily focused and developed for touchscreen mobile phones and phablets. Microsoft has released this operating system, a while after their release of Desktop editions of Windows 10. Windows 10 Mobile has some greater amount of features and services than the previous edition of Windows Phone shipped with Lumia devices. Windows 10 Mobile has a cleaner and much more neater UI and supports a large amount of APIs developed for the platform.

Windows 10 Mobile offers the same functionality as the Windows 10 Desktop versions do, just for the smaller screens. Unlike Android, Windows 10 Mobile might not be available in every shape and size, but Windows 10 Mobile helps powering up the ecosystem of Windows 10 Continuum that enables your applications to work on all the devices and screens that you can have, ranging from small Raspberry Pis all the way up to the VR headsets. Windows Phone 8.x had a problem of the API, and the permissions and flexibility that it had to offer to the developers, however Windows 10 offers more versatile way to program applications and in each major update, Microsoft ships a new set of API updates, features, bug fixes and security patches — no joke.

Windows 10 Mobile Software

Windows 10 Mobile Software package is the mobile edition, of Windows 10, which means it is designed for the mobile devices with smaller screen sizes, but still featuring all of the services and features of a Windows 10 operating system. It does not differentiate between a desktop or a mobile edition, but does so in the case of UI controls only, and designing the interface to provide a different layout for desktop and mobile editions.

Windows 10 Mobile is most notably featured on Lumia devices, by Nokia and Microsoft. Lumia devices are developed and manufactured with complete suite of Windows 10 services in mind, and based on the budget of the mobile phone, it comes shipped with maximum of the services that Windows 10 has to offer. Which is why Windows 10 also features a complete suite of services for the hardware components, such as,

  1. Bluetooth
  2. Network connectivity
  3. Communication channels
  4. Camera
  5. Special hardware components for Windows 10 services (Windows Hello, for instance)

Windows 10 Mobile Software still features the best (and bad) of Windows operating system. There are similar features, the Start we love, and the file locks that we hate (at least I hate these locks, when there is nothing that I can do to remove them) and the same encryption and Office suite that we enjoy. Windows 10 Mobile also provides the same set of services that we can develop on mobile platforms, especially Lumia devices.

However, unlike other mobile operating systems, Windows 10 Mobile operating system is not that much open and welcoming the unauthorized or unallowed access to certain set of resources. For instance, on Android platform you can use the SmsManager to send the SMS messages from the device, however on a Windows platform you need to be a registered network operator or OEM, in order to send an SMS through the device, otherwise the user must initiate the SMS sending request and the best you can do is write the message information for them. Which, in most cases is bad and might be a good approach to prevent malicious access to resources that might cost users money.

Not just this, Windows also has some certain rules and limitations on the way an application can communicate, and present the content to the users. The Start screen, is always the Start screen unlike on Android where user can change everything. Same goes to the amount of CPU and resource share a background service gets.

Windows 10 Mobile uses the Windows Runtime framework for development purposes. Windows Runtime is a specialized case of Win32 platform, that was available with Windows since a while, Microsoft updates the API in a cleaner-neater and .NET friendly way, and also made the API asynchronous, so that the coding practices are good, to the core. There are several other good approaches that we will discuss in the chapters down the road once we start reaching down.

Windows 10 Mobile App Development

Windows 10 Mobile App development is a very simple process, because it is a process which also takes place in the case of a Desktop app development for Windows 10 platform. If you are building or if you have learnt how to develop applications for Desktop environments, then this process is just like giving an extra style to that application of yours. Windows 10 development framework; Universal Windows Platform, provides the developers with the ability to perform the magic of write-once and target-all.

Windows 10 Mobile Apps are built with Windows Runtime framework, targeting highly asynchronous framework (sometimes complex, and confusing too!) and supporting the UI generation through simple XAML-layouts. If you have ever built/learnt WPF programming, Android programming or Qt framework programming, chances are Windows 10 (or Windows Runtime) programming will not be a problem to you. It provides a very easy way of managing your UI controls, and interacting with them through back end C# code. The framework for development supports the most important UI programming concepts, such as,

  1. UI controls drag-and-drop design
  2. Graphical editing of the controls
  3. Event-driven programming

UWP supports a various set of platforms, to target and render the application on, it also lets you visualize how your application would look like on all of those platforms too. Officially, the SDKs for C# language, F# and C++ and you can use other tools and frameworks to build up some components and use the wrappers around those native or low-level, otherwise third-party components. Programming for one platform makes it possible to bring the same core features and functionality on other platforms and devices. Even now, you can program the same applications using Xamarin framework too. Xamarin.Forms platform supports high-end graphical applications with a native UI experience on Android, iOS and Windows Mobile + other supported platforms.

Desktop Bridge

Desktop Bridge in UWP is a service, tool, feature, that lets you bring your desktop applications, such as those written in WPF, WinForms or other frameworks, to UWP; or Windows Runtime. You can read more about the Desktop Bridge here.

Windows 10 Mobile SDK

Windows 10 Mobile applications are developed with UWP, which means that you can capture the platform SDK from Microsoft, and it comes with Visual Studio and you can select and install it right from there. Windows 10 Mobile SDK comes with,

  1. Framework libraries
  2. Windows Development Kits
    • For testing your software before publishing
  3. Windows emulators

It is always a best practice to run and test your applications on the emulators or actual devices before publishing them to the public. There is another tool, called Windows App Certification Kit, which certifies your application for basic problems. Passing a test, is necessary because it helps you to understand that there are no development bugs or problems with the app itself, but it does not guarantee that your application will come out live without any further moderation.

If you want to test your applications on an emulator, you must have a Windows 10 Pro or higher edition of Windows, and must have Hyper-V enabled on the device. Otherwise, the emulator will not work.

You can get the Windows 10 SDK from here, at Microsoft website.

Windows 10 Mobile App Publishing

Since Windows 10 Mobile apps are developed with UWP framework, and are distributed through Windows Store, I will not share the details of that here, instead you might want to read the Desktop App Developer → Windows Development and there you can visit and read the details for Windows Store account creation and publishing of the applications.

Sadly, this chapter does not have any topics to share.