Earlier today, the first glimpses of Microsoft using their bridge called Centennial to repackage existing Classic Windows Apps was spotted in the Store. In short, Microsoft is taking Win32 apps like Paint and WordPad and "converting" them to the Universal Windows Platform (UWP) so that they can be listed in the Store.
Going through the comments, it is evident there is a lot of confusion around this topic including what is the point and whether these apps can run on Windows 10 Mobile. Here are some answers.
Does Centennial convert apps?
Project Centennial is one of three "bridges" for the Universal Windows Platform (the other two are Islandwood for iOS and Westminster for web apps). Their purpose is to help developers bring over the existing code to the new Windows Store for PC, Mobile, Xbox, and HoloLens.
Although we use the phrase "convert" in the context of Project Centennial and Classic Windows Apps (aka desktop apps), it is not entirely accurate.
Centennial mostly repackages Win32 apps into an AppX format for the store. It does not, however, rewrite code or change the app in the formal sense.
Why bridge an app using Centennial?
There are many reasons why a developer will want to use Centennial. For instance, that "old" desktop app can now take advantage of many modern UWP features, including:
- Live Tiles
- Cleaner and safer app installer
- Store metrics and monitoring
- Automatic app updates for customers
- App monetization
- App discovery
- Centralized customer reviews and ratings
As you can see, some of those benefit customers, while others help developers.
Additionally, developers can co-list their app on the Windows Store as well as other software repositories. Developers are not presented with an 'all or nothing' scenario when repackaging their app as they can distribute it via an AppX installation (instead of Exe) through their website or other repositories.
Hopefully, these reasons help those who "don't see the point" of Centennial or why a developer would be interested in the option.
Centennial is a foot in the UWP door for developers
Centennial is a foot in the UWP door for developers. It gets their old app to the Store. Later, if a developer would like to take it further, they can then migrate formal Win32 code to UWP ones to make it an actual, Universal Windows App (UWA).
Can Centennial apps run on Windows 10 Mobile?
The big question (and confusion) for many Windows 10 Mobile users is whether these apps can run on the phone.
It's complicated, but for the most part, the answer at this time is no.
The reason is that UWP supports a subset of Win32 APIs, but not all of them. There are still things that Win32 apps do that is not present in UWP. If the app makes calls to native Win32 DLLs that are not on the phone, the app won't work, and the overwhelming majority of Classic Windows Apps do make those calls.
UWP supports a subset of Win32 APIs, but not all of them
I suppose there could be exceptions to this, and we'll find out more as these apps being to transfer over to the Store, but the current consensus is don't bet on it.
Now, it is important to remember that this can and will likely change. It looks like Microsoft wants to replace all Win32 APIs with UWP ones, but you cannot just replace decades of developer tools and mindset in one year.
It is safe to assume that Microsoft wants all future apps to be part of the UWP framework written 100% with their developer tools for all devices. That is their goal. Bridges are a low cost and easy step in that direction for companies with existing software.
What about an Intel-based 'Surface' phone?
Could an Intel-powered phone run Centennial apps? In theory, yes, but there is no evidence that is what is going to happen. In fact, there is no proof that the Surface Phone is – or is supposed to be – Intel x86 based.
Apparently, Intel just dropped support for mobile with its discontinuation of its Atom lineup and it's not clear that Windows 10 Mobile will get the necessary Win32 APIs and DLLs to make it all work.
Instead, the easier solution right now is what HP is doing with the Elite x3: App Virtualization. This process lets you run Win32 apps through the cloud, which converts the functions into a UWP-like experience. While it is not as "pure" as running a real Win32 app or even a bridged one via Centennial, it is much easier to implement without inventing to new technologies.
The real takeaway is no one in the media yet knows what the phone Panos and the Surface team is developing is supposed to do or feature when it comes to Win32 apps. It's premature to come to any conclusions right regardless of what headlines may claim.
The bottom line
The takeaway here is the Centennial and even Islandwood (for iOS ports) are not meant to replace native UWP development. What they do, however, is let developers bring their apps to the Windows Store with man UWP features in exchange for very little work.
The idea, at least for immediate purposes, is to grow the store and get developers familiar with UWP. Later, they can then finish the job, so to speak by making their software an actual Universal Windows App (UWA) that can run across all devices including mobile. These bridges are like a trial run but with lots of immediate benefits. It's also easier for companies to get on board with Windows 10 without rewriting apps completely from the get go.
The idea is to grow the store
Windows 10, UWP/UWA, the Store and getting developers on board is a gradual process that will take a few years to be completed. However, it is important to remember that there is no magic bullet here. It is only through the combination of UWP, Bridges, and increased adoption of Windows 10 that will grow the app store.