WavebreakmediaMicro - Fotolia

Get started with native Windows mobile app development

There are pros and cons to embarking on Windows mobile app development. Find out if developing natively in Windows is right for your company.

When Satya Nadella took over as Microsoft's CEO, he positioned Microsoft as a mobile- and cloud-focused company. Since then, Microsoft has made significant gains in the cloud industry, with Azure one of the preeminent cloud platforms across the globe.

Microsoft's mobile strategy has proven just the opposite. What started as a hopeful journey toward Windows mobility has turned out to be little more than a pipedream, especially where smartphones are concerned.

Microsoft no longer sells or manufactures Windows 10 Mobile devices and planned to end support for the Windows 10 Mobile OS in late 2019. If Microsoft still has a mobile strategy, it lies in its line of Surface products and a suite of business apps developed for iOS and Android.

The state of mobile Windows in the enterprise

Microsoft continues to dominate the desktop market with its Windows OS, capturing between 75% to 88% of the desktop market, according to varying estimates, but Microsoft's attempts to break into the mobile market have had little success. Even at their peak, Windows devices barely grabbed 2.5% of the smartphone market and are now scarcely a blip on the radar.

Despite the downturn in mobile sales, Microsoft has made significant -- and somewhat surprising -- progress in its support for iOS and Android devices. The company now offers a complete line of Office apps for Word, Excel, PowerPoint, Outlook, OneNote and OneDrive. Microsoft has also released a number of business and productivity apps, such as Microsoft Authenticator, Skype for Business, Yammer, Microsoft Remote Desktop and Microsoft Teams.

In all likelihood, Microsoft will continue to improve and add to its ever-growing collection of iOS and Android apps. At the same time, the company continues to push forward with its line of Surface products, which range in size and portability. In fact, Surface appears to be gaining ground in the industry. According to Microsoft, revenue from these devices increased 25% in the fourth quarter of fiscal year 2018, continuing a trend from previous quarters.

One of Microsoft's most popular Surface products is the Surface Pro, which many turn to as an alternative to Apple's iPad Pro. Microsoft bills the Surface Pro as an ultra-light laptop that's versatile enough to work like a tablet. The Surface Pro 6 for Business starts at $899 and runs Windows 10 Professional. The device includes a 12-inch display, weighs 1.7 pounds and comes with the latest 8th Generation Intel Core processor.

Unfortunately, the current state of Surface app development is not so clear-cut, resulting in a fair amount of confusion and conjecture about what Microsoft is up to. For the most part, developers base apps built for Surface devices on the Universal Windows Platform (UWP). The UWP is an application infrastructure for building apps from a single code base that can run on Windows PCs, Surface devices and Xbox consoles. However, UWP has met with limited success and a fair amount of developer revolt, leading to an assortment of speculation about Microsoft's commitment to its UWP strategy.

That said, Microsoft seems committed to the platform, at least ostensibly. For now, developers who plan to build Surface apps should continue to use UWP until Microsoft provides a clearer roadmap.

However, Microsoft also offers alternative development strategies, such as making legacy approaches to Windows development more universal and introducing new expansion options. Microsoft now supports progressive web apps (PWAs). PWAs require Microsoft Edge engine installations on the client devices, but the apps themselves run independently of the browser window.

If companies decide to develop Surface apps based on technologies other than UWP, they should do their homework and test apps extensively they work as expected. In the meantime, businesses should watch for clues from Microsoft as to its UWP roadmap.

Development tools companies must use

Microsoft's de facto tool for developing Windows applications is Visual Studio. With Visual Studio, developers can build a variety of apps, including UWP and PWA. Visual Studio is a complete integrated development environment (IDE) that includes tools for writing, testing and debugging code, as well as features for collaborating on projects and interfacing with source control.

What makes Visual Studio particularly valuable is its off-the-shelf integration with Microsoft's entire development and delivery infrastructure. For example, Visual Studio works with Azure DevOps, Microsoft's latest incarnation of Visual Studio Team Services. Azure DevOps provides an assortment of services, such as Agile planning, CI/CD and centralized version control.

Microsoft also plans to release a service called Visual Studio Online, a web-based companion editor to Visual Studio. The service, which is currently in private preview, will enable developers to access their Visual Studio projects through any supported browser, regardless of the device. Microsoft intends to provide many of the same features developers get with on-premises Visual Studio, such as IntelliCode or Live Share.

In true Microsoft fashion, however, there is some confusion around what the Visual Studio Online service will actually offer. For example, it's unclear whether Visual Studio Online and Azure DevOps are one in the same or two separate entities.

Despite the mixed messaging, Visual Studio itself remains a powerful and versatile IDE. In addition, to Windows applications, businesses can also develop iOS and Android apps. Plus, Microsoft offers the Visual Studio SDK for extending Visual Studio features or integrating new features into the IDE.

Microsoft also provides an extensive library of APIs for its other services, making it easier to integrate them with Surface applications. For instance, you can use the Office 365 Management APIs to carry out tasks in such areas as communications, security and reporting. The Office 365 Management Activity API, for example, enables ops to retrieve information about actions and events from the activity logs, making it possible to incorporate this information into your Surface applications.

Publishing Windows apps to the enterprise

Microsoft supports several methods for distributing UWP business applications. Companies can submit them to the Microsoft Store, side load them onto Windows devices or perform a web install, which lets users download the apps from a web server.

Before they can distribute a UWP application, however, they must package it for the appropriate distribution channel, which is possible in Visual Studio. For example, if companies plan to side load their apps to Windows devices without going through the Microsoft Store, they can use a simple app package file, but if they plan to distribute apps through the store, the best option is an app package upload file. Microsoft also supports app bundles for combining multiple packages together.

Companies can distribute business apps through the Microsoft Store for Business without making them available to the general public. The process to submit a business app is similar to that of a regular app. For example, the app must go through the same certification process, during which time Microsoft performs security and compliance tests.

Companies can also use management platforms, such as Microsoft System Center Configuration Manager or Citrix Endpoint Management, to deploy Surface apps through the Microsoft Store for Business. The store supports both online and offline apps. Online apps require users to connect directly to the store. Companies can cache and deploy offline apps through on-premises networks, eliminating the need for devices to connect to the store. They can also use a management platform to deploy applications directly to devices.

What to watch out for

Certainly, the Windows OS is not going away anytime soon, and Visual Studio is a rock-solid IDE that got a long life ahead. Plus, businesses can get the Visual Studio Community edition for free, which runs on both Windows and macOS computers. In addition, despite Microsoft's dismal record with most mobile devices, Surface products continue to sell.

Even so, some organizations might feel nervous about committing to Surface because of the uncertainty that surrounds Microsoft's application development strategy. If organizations already favor iOS or Android smartphones, they might find it easier to stick with them, just to avoid the uncertainty. On the other hand, Microsoft has always shown a strong commitment to the development community. Microsoft is unlikely to let UWP fall to the wayside without a credible replacement, especially with Surface sales on the rise.

Robert Sheldon contributed to this report

Next Steps

Microsoft is playing nice with its competitors as part of its cloud strategy.

Office editing in Dropbox propels Nadella's vision for mobile-first, cloud-first world forward.

Five resources to get you better acquainted with Azure.

Dig Deeper on Software testing tools and techniques