Je hoort er de laatste tijd niet veel meer over, maar nog niet zo lang geleden vlogen de app-statistieken je om de oren. Apple pochte met zoveel miljoen apps voor iOS en Google deed dat met zijn eigen superlatieven over het aantal Android-apps. Bij Microsoft bleef het echter angstvallig stil. Het aantal mobiele en 'Metro'-apps bleef ver achter op dat van de concurrentie en het is niet de enige, maar wel een belangrijke reden dat Windows Phone niet de aantrekkingskracht op consumenten heeft waar Microsoft op hoopt. Daar wil Microsoft iets aan doen, met het Universal Windows Platform.
De vier bruggen
Om meer apps naar Windows 10 te lokken, biedt Microsoft vier bridges, zoals het bedrijf het noemt. Deze toolkits moeten de kloof overbruggen tussen aan de ene kant Android, iOS, het web en de oudere Windows-apps en aan de andere kant Windows 10 als universeel platform.
Vooral de mogelijkheid om Android- en iOS-apps te kunnen porten naar Windows baart opzien. Die projecten voor Android en iOS staan bekend als respectievelijk Project Astoria en Project Islandwood. Microsoft maakt ontwikkelaars voor die populaire platforms het hof, door het heel eenvoudig te maken hun apps naar het Windows-platform te brengen. Mocht de boodschap van het concern gehoor krijgen, dan kan het aantal mobiele apps voor Windows in rap tempo toenemen. Je kunt dan dus dezelfde, of in ieder geval sterk vergelijkbare, apps op je Windows-smartphone gebruiken, zoals je ze kent van Android en iOS. Dat was tot nu toe wel anders: zelfs populaire Android- en iOS-apps ontbraken soms nog op Windows Phone.
Microsoft probeert ontwikkelaars te lokken met het vooruitzicht dat ze er zonder veel moeite een groot nieuw publiek bij krijgen. Het streven is om binnen twee tot drie jaar 1 miljard apparaten met Windows 10 uit te rusten. Dat zijn dan wel pc's, smartphones, tablets, consoles en andere systemen bij elkaar. Nu is het zo dat Universal Windows Apps op al die apparaten moeten kunnen draaien, maar in het geval van de Android-ports gaat die vlieger niet op.
Android en iOS
Android-apps kunnen alleen op Windows 10 Mobile draaien, dankzij een Android-runtimelayer in dat OS. Ontwikkelaars moeten eerst kijken welk deel van de code werkt, door het .apk-installatiebestand te laten analyseren, waarna ze mogelijk wijzigingen moeten aanbrengen.
Zowel Java- als C++-apps van Android kunnen ingekapseld worden in een Microsofts appx-package, maar daarmee worden het nog geen 'volledige' universele Windows-apps. Microsoft gebruikt interop en direct api-mapping om 'veelgebruikte' Google Play Services om te zetten, maar niet alle api's die de apk's gebruiken kunnen dus automatisch worden overgezet.
Gebruikers krijgen bij Android-apps op Windows de interface-elementen van Windows 10 Mobile te zien, zoals die voor het delen van content en het selecteren en knippen en plakken van tekst. Daarnaast integreren de apps met het notificatiesysteem van het OS en krijgen ze een Live Tile. Als de app Google Maps geïntegreerd heeft, wordt dit omgezet naar Bing Maps en hetzelfde geldt voor andere diensten, zoals het advertentiesysteem en de in-app-aanschafmogelijkheid. Het subsysteem waar de Android-app op draait kan gebruikmaken van hardware-acceleratie, DirectX en Windows' resource management en de prestaties zouden vergelijkbaar zijn met die op Android, claimt Microsoft.
Het naar Windows brengen van iOS-apps verloopt op een totaal andere manier. Microsoft maakt het namelijk mogelijk Xcode-projecten van in Objective C geschreven apps te importeren in Visual Studio. Na het omzetten van de code en het debuggen, zijn de apps als volledige Universal Windows Apps te publiceren. Ze kunnen dan voor alle Windows-systemen uitgerold worden en alle api's benaderen die Windows-apps ook kunnen gebruiken. Het kan dus zijn dat je straks een populaire app die je kent van je iPhone of iPad, op een Windows-pc of -tablet terugziet, waarbij bijvoorbeeld ondersteuning voor stembediening of een stylus is toegevoegd.
Oude Windows-applicaties
De projecten om oudere Windows-apps en web-apps naar Windows 10 te brengen staan bekend als achtereenvolgens Centennial en Westminster. Oude Windows-software in wpf-, Windows Forms- en win32-formaten kunnen van hun msi-package naar een appx-package omgezet worden en hebben dan toegang tot alle Windows 10-api's, niet alleen die voor Cortana, notificaties en Live Tiles. Omgezette oude Windows-programma's zijn dus volledige Universal Windows Apps en kunnen aanhaken op alle features van het Windows-platform.
Het project lijkt een mooie mogelijkheid voor ontwikkelaars hun oude programma's af te stoffen en van nieuwe functionaliteit te voorzien, naar nieuwe systeemtypes te brengen en op een veilige manier te kunnen verkopen. Volgens Microsoft zijn er meer dan 16 miljoen oude .NET- en Win32-applicaties die zo potentieel in de Windows Store opgenomen kunnen worden, maar de vraag is hoeveel ontwikkelaars bereid zijn hun oude creaties om te zetten.
Tenslotte maakt Microsoft het mogelijk web-apps in een appx-package te plaatsen en te publiceren in de Store. De apps kunnen dan Windows-api's met javascript aanroepen en ook kunnen ze native code mengen met de code voor de web-app. Over Project Westminster, zoals dit heet, maakte het concern nog weinig bekend. In de zomer van 2015 gaan de vier projecten live, dus dan verschijnen er meer details over de bridge-toolkits.
Voordelen
Het grootste voordeel van de 'bridges' voor ontwikkelaars is volgens Microsoft dat de apps in de Windows Store verkocht kunnen worden. Nu is die Store nog niet erg populair, dus Microsoft moet flink aan het werk om die winkel uit te bouwen met nieuwe functionaliteit. Eerder maakte Microsoft al bekend dat muziek en video verkocht gaat worden in de winkel en op Build 2015 liet het softwareconcern weten dat er een speciale Windows Store for Business komt.
Zakelijke apps krijgen een eigen categorie in de Windows Store en ontwikkelaars kunnen hun apps in grote volumes verkopen aan organisaties. Met de Business Store voor Windows 10 kunnen bedrijven de door hun gebruikte apps beheren en in grote aantallen uitrollen.
Daarnaast krijgt de store ondersteuning voor carrier billing zodat ook mensen zonder creditcard er aankopen kunnen doen en komt er een mogelijkheid abonnementen af te sluiten via de Store. Tenslotte belooft Microsoft apps duidelijker te promoten in Windows 10, niet alleen via het startmenu, maar ook via Cortana en op het lockscreen, als onderdeel van de Windows Spotlight-feature om dat scherm voor suggesties in te zetten.
Microsoft gaf ook enkele nieuwe cijfers over het gebruik van de Windows Store om de groei aan te geven, maar wat vooral duidelijk werd is dat de aantallen nog altijd in het niet vallen bij die van Android en iOS.
Eén app voor alle platformen
Het Universal Windows Platform komt niet helemaal uit de lucht vallen. Ook bij eerdere Windows-versies werden er al kruisverbanden tussen de Windows-versies gelegd, maar vanaf Windows 10 moeten de verschillende versies echt als een enkel platform verdergaan. Apps voor Windows worden vanaf dan Universal Windows Apps. Nu Microsoft met de vier Bridges ook oude Windows-software, web-apps en apps van andere platformen zich toe wil trekken krijgt de term Universal Windows Platform een veel bredere betekenis: Windows als platform voor alle apps.
Wat houdt Universal Windows App ook alweer in? In eerste instantie gaat het vooral veel voor ontwikkelaars betekenen. Die zullen zich bij het ontwikkelen tot een enkele codebase kunnen beperken en met weinig moeite apps naar verschillende Windows-systemen uit kunnen rollen, van laptops en de Xbox One, tot de HoloLens en internet-of-things-apparaten. Hoewel apps er op die apparaten verschillend uit kunnen zien, hebben ze veel overeenkomsten, al dan niet onder de motorkap.
Zo moeten ze zich aan het 'Windows 10 App Model' houden. Dat model definieert de hele levenscyclus van apps, van installeren, updaten, resource management, resume-beheer, integratie met het OS en de andere apps tot de uiteindelijke de-installatie. Wat packaging betreft zijn alle universele Windows-apps van het appx-formaat, dat al gebruikt wordt voor Windows Store-apps.
Ontwikkelaars kunnen zich met een enkel basisontwerp eenvoudig op meerdere typen apparaten en form factors richten. Onder andere de schermgrootte, de hardware, de al dan niet aanwezigheid van een touchscreen, enzovoorts zijn van belang. Dezelfde navigatie en content zal op het kleine scherm van een smartphone anders gepositioneerd moeten worden dan op een groot scherm, iets wat voor ontwikkelaars van responsive websites, zoals die van Tweakers, bekend terrein is.
Last but not least hebben universele Windows-apps toegang tot een grote hoeveelheid api's die bij Windows 10 voor meer dan 2500 nieuwe features zorgen, zoals DirectX12, Continuum voor telefoons, hologrammen, gamecontrollers en DirectInk voor vloeiende stylus-tekeningen.
Voorlopige conclusie
Apple maakt het voor iPhone-gebruikers aantrekkelijk om OS X te gebruiken en Google richt zich op web-apps en het draaien van Android-apps binnen Chrome, maar het is Microsoft die met afstand het verst gevorderd is wat betreft de uitrol van een universeel platform voor applicaties. Het concern doet er werkelijk alles aan om het zo makkelijk mogelijk te maken voor ontwikkelaars om apps naar zijn Universal Windows Platform te brengen en schroomt niet daarbij leentjebuur te spelen. Het bedrijf moet ook wel om nog enige aansluiting op de riante app-platforms van Google en Apple te krijgen. Lef en doorzettingsvermogen kun je Microsoft niet ontzeggen maar de vraag blijft in welke mate ontwikkelaars en consumenten nog liefde willen betuigen aan Windows, in een wereld die in toenemende mate door Android en iOS wordt gedomineerd.