Mobile app development tools: A buyer's guide
A collection of articles that takes you from defining technology needs to purchasing options
Microsoft has long had a foothold in the enterprise with its PC offerings. With the workforce becoming more mobile, the company finds itself thrust into a mobile-first world. The goal of this article is to provide a balanced look at what tools you can use for enterprise Windows mobile app development.
The state of mobile Windows in the enterprise
Microsoft is in an interesting position: Windows is dominant on the desktop and hardly used in phones. Today, fewer than 2.5% of all mobile phones sold are powered by Windows Mobile 8. To put this in perspective, more people buy flip-phones than those powered by Windows. With that said, Microsoft is hardly asleep at the wheel when it comes to mobile.
Microsoft's current and third CEO, Satya Nadella, made an interesting announcement when he took over leadership of Microsoft in 2014: Microsoft is a mobile-first, cloud-first company.
By this, Nadella means that Microsoft places an equal focus on cloud and mobile products as well as continuing the development of desktop and server products. The end result is that Microsoft is rapidly driving customers to cloud services such as Visual Studio Online and Azure. Mobile development is equally as important but the focus is not just hardware. Dramatic changes Microsoft has made include:
- Office-specific apps are now available on iPhone, iPad, Android Phone and Android Tablet
- Microsoft is now a device company publishing phones and Surface Tablets
- Windows 10 brings together all devices under one platform (mobile, tablet, desktop and Xbox)
Mobile devices for Microsoft come in two packages: tablets and phones. The Surface Pro is the definitive Windows 8.1 tablet. It is, for all intents and purposes, a desktop because it runs the same version of Windows found on the desktop. The Surface Pro has proven to be popular with many people opting for the Surface instead of an Apple iPad. On the flip side, Microsoft's investment in the phone has had a lukewarm reception. This is not due to hardware or lack of support from the mobile OS. The Lumia phones are excellent and often win awards for outstanding design, specifically when it comes to the digital cameras. Equally, Windows 8 Mobile is a good OS. The challenge is that Microsoft is late to a highly competitive market.
Microsoft's upgrade cycle could be appealing to many Windows device owners and Windows developers. Many consumers upgrade their phones every 12 months. New programs, such as T-Mobile's Jump! Program, let consumers upgrade their devices up to three times per year. If consumer demand changes and supports Windows Phone then Windows Phone will increase in popularity in the enterprise.
Development tools you must use
Microsoft's development tools continue Nadella's "mobile-first, cloud-first" approach. Mobile, for Nadella is not just Windows but Android and iOS. Indeed, if any other platform -- such as FireFox OS, Tizen or Chrome OS -- increase in popularity, then you can expect Microsoft's development tools to support them.
Today, Windows mobile app development starts with API access. Tools, such as Office 365, and Platforms, such Azure, come loaded with APIs that can be incorporated into any platform app development. For instance, you can leverage single sign-on OAuth 2.0 from Office 365 to incorporate document creation from an app you have written. A use case would be an insurance audit app that generates a Word document to detail inspection activities from an iPhone or Android device.
The second level at which Microsoft is tackling the mobile-first method is clearly present in the latest release of Visual Studio. Visual Studio has been the de facto development environment for Windows products for 20 years. The latest release is Visual Studio Online (VSO) and Visual Studio 2015. The current release now makes it easier for iOS developers to migrate to Windows mobile app development with full support for Objective-C development in Windows Apps.
In addition, Visual Studio now supports the ability to develop and build apps for Windows, Android and iOS on one platform. This means you can use one development environment for all your mobile development needs. Previous to this, development studios had to juggle a variety of products that essentially did the same thing. Version control is often top of the list with companies supporting GIT for iOS/Android development and Team Foundation Services for Windows development. Now, VSO supports it all. This makes product management easier.
The final space in which Windows is improving its mobile and cloud offerings is native application development for Windows. Interestingly, Windows app development is both mature and immature with Visual Studio. This means that use of Windows tablets, such as Surface Pro, are built on the full version of Windows and can leverage 20 years of technology for mature development tools. Windows Phone development has gone through a series of iterations that can make it confusing to those who create Windows Phone apps. Windows 10 may resolve this issue with a concept called "universal apps." A universal app for Windows 10 will be developed with exactly the same tools regardless of end platform. The build server controls what bytecode the final app should support depending on whether you are creating apps for phones, tablets, desktops or Xbox.
Publishing Windows apps to the enterprise
Windows app publishing is arguably the easiest method of deploying apps to your enterprise, compared to Android and iOS. With iOS, you must apply a certificate to your app. The certificate from Microsoft can be up to 25 years and Microsoft does not require a specific enterprise certificate like Apple does. When an app has been published the app can be uploaded to any popular mobile app manager such as MobileIron or AirWatch and be published to an enterprise app store.
What to watch out for
Microsoft understands developers. What is surprising is how poorly Microsoft understands consumers. If you focus on supporting your development team more than your end users, Windows mobile app development would be the way to go. This may change under Nadella's leadership, but today's growth is now built on Windows having a 20-year lead over any other OS in the enterprise. Nadella's bold move to change direction for Windows mobile has not yet been realized with new products (in July 2015, he essentially released the entire organization that had been part of the Nokia Hardware acquisition in 2013).
To this end, what you need to watch out for is what is really being supported in Windows 10 for phones and if device manufacturers will support Microsoft's lead. Software development companies are more likely to build tools if people are buying products for that ecosystem. I remain bullish that Microsoft can become a third mobile OS to compete with Android and iOS, but it has a lot of work to do.
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.