Well, Windows Universal Platform (UWP) should provide all Microsoft aficionados a few very good reasons to rejoice and be happy.
Your enterprise has been relying on Microsoft technologies forever and some of your critical applications are close to life cycle finale or they have been developed with obsolete technologies or maybe some of your data and some of your back-end applications and CRM’s Business Intelligence need to be accessible on different devices!
Then you might be asking yourself if your IT department would profit from developing your new apps under the new Microsoft Development Architecture ; Universal Windows Platform (UWP)?
BENEFITS FOR DEVELOPERS
Thanks to Universal Windows Platform (UWP), developers can create adaptive Windows 10 applications (different from « responsive » that only concerns screen size) which will automatically adapt to devices’ specifications. To do so, Microsoft has brought its various Windows OS to a single core version that supports a common set of APIs across all devices, in addition to APIs specific to the device type.
Because the base of all devices’ OS shares the same Windows 10 core, developers don’t need to build different versions of their applications for different Windows 10 devices. A single application will run on Windows 10 PC, Windows 10 Tablets, Windows 10 Smartphone, Xbox console, Surface Hub, VR HoloLens… and even IoT (with RaspberryPi 2). (VentureBeat, March 30th, 2016)
Now that is something, isn’it?
You may think « Yes but we don’t reach much people with Windows 10 Smartphone » and you’re right, Windows 10 Mobile gets only 1,6 % of Smartphones for 83% on Android and 15% on iOS. (Reuters, March 2016)
On the other hand, even though the « Windows Smartphone » customer is not a big target, for the same effort and investment, you can reach all other customers including the largest market on the planet: PCs.
Through the development process, developers must select one or more device families they want their application to run on; a device family is a set of APIs specific to a device type. And above these, UWP family of devices which includes a set of APIs common to all Windows 10 devices.
Universal Windows Platform (UWP) enables defining the entire lifecycle of an application; Developers and Administrators can control how applications are deployed and updated, installed and uninstalled. Administrators and Developers can also use Universal Windows Platform to control an application’s runtime, manage its resources, define the data model, and make the application available in the Windows Store for downloading and updating. That is a pretty good benefit for Developers.
Other considerations regarding Universal Windows Platform (UWP) Development
UWP supports such programming languages as Visual C++, C#, Visual Basic and JavaScript. For all languages except JavaScript, developers can use XAML files to create a user experience compliant to the native UI. For JavaScript, web developers who may not be familiar with the Redmond Giant technologies, can use HTML and CSS for designing their applications’ UI.
In terms of UI, worth mentioning that MVVM (Model View – View Model) is native to UWP, enabling a clear separation between application logic and UI; making your application much easier to test, maintain and evolve. MVVM also enlightens code re-use opportunities and ease a great deal the designer – developer collaboration.
Windows 10 applications developed with UWP will not run (be retro-compatible) on Windows 7 and Windows 8 devices. Also, applications developed with earlier versions Windows 8 and 8.1 will have to be modified to be UWP-compatible. In a sense, Universal Windows Platform (UWP) constitute a strategic decision for Microsoft to look forward.
The future looks bright for UWP-Windows 10 application developers
Microsoft also plans to release UWP bridge toolkits to allow other platforms to integrate with Universal Windows Platform (UWP). For example, Apple iOS developers will be able to build UWP applications in Visual Studio 2015 with existing Objective-C code. UWP Bridges will also allow developers to publish Win32-based apps to the Windows Store and make package websites available through the Store.
BENEFITS FOR ADMINISTRATORS
Since Universal Windows Platform can control the whole lifecycle application on all devices, it has the potential to greatly reduce the time Administrators spend supporting Windows 10 applications.
Because each UWP application is pushed to the Store as a single package, Administrators no longer need to support multiple versions of the application for different device types. They enjoy a single delivery and maintenance mechanism for all devices, hence they can say goodbye to updating different versions of their application for various device types.
In addition, because all device types work with the same core application, the user experience is consistent across devices, which leads to reduced support and training costs as well as reducing UI issues users may experience when switching between devices.
Conclusion
What may be interesting for enterprises with Universal Windows Platform (UWP) is that Microsoft now proposes a development platform that enables enforcing quickly and at a lower cost the new « cross-platform » application usage paradigm; which is just coping in fact with the evolution of today’s user demands that now go far beyond just providing a nice UI. That is a strategic decision made by Microsoft.
Today’s worker expects a frictionless and homogeneous UX at all time to execute its tasks and access its information (applications, networks, contents), across all devices. In a sense, choosing to develop on UWP is also choosing work optimization in your enterprise. And that is the proposal presented by Microsoft.
Maybe, Microsoft has finally hit the homerun everyone was waiting for with Universal Windows Platform and Windows 10.
Denis Paul & Michel