Windows 8
Vorige maand toonde Microsoft de eerste beelden van Windows 8: de eerste Windows-versie die zijn weg naar clients met ARM-chips moet vinden. De reacties waren gemengd. Enerzijds werd de nieuwe Metro-interface van Windows 8, bedoeld voor tablets en al langer aanwezig in Windows Phone 7, positief ontvangen. Veel developers reageerden echter geschokt op de berichten dat Microsoft voor html, css en javascript als platform voor Windows 8-apps heeft gekozen.
Daarmee zou Microsoft veel expertise van programmeurs terzijde schuiven, zo is de gedachte. Ontwikkelaars voor Windows-platformen kunnen immers al overweg met technieken als .Net, Windows Presentation Foundation en Silverlight. Programmeurs die hun applicaties geschikt willen maken voor de nieuwe Metro-interface, zouden niets meer aan die kennis hebben.
De kans dat Microsoft de geavanceerde .Net-ontwikkelomgeving terzijde schuift lijkt niet groot, maar de nieuwe interface heeft wel degelijk gevolgen voor ontwikkelaars en hetzelfde geldt voor de port naar ARM. Het is nog niet te zeggen wat die gevolgen precies zijn: officieel houdt Microsoft zijn lippen stijf op elkaar tot zijn ontwikkelaarsconferentie Build, die in september wordt gehouden. Tweakers.net brengt in kaart wat er wel bekend is over de toekomst van software-ontwikkeling voor Windows.
Helaas!
De video die je probeert te bekijken is niet langer beschikbaar op Tweakers.net.
Metro
Tijdens de D9-conferentie toonde Julie Larson-Green, verantwoordelijk voor de user experience van Windows, een programma dat voor de nieuwe Metro-interface was geschreven. De applicatie was ontwikkeld met het nieuwe developmentplatform voor Windows 8, dat, in de woorden van Larson-Green, is gebaseerd op html5 en javascript.
Dat klinkt vreemd: html is ontworpen om tekstpagina's op het web te structureren, niet om gebruikersinterfaces te ontwikkelen. Het is niet onmogelijk om met html een geavanceerde gui te ontwikkelen, als er tenminste aanvullende technieken als css en javascript kunnen worden gebruikt, maar de taal is er niet op toegesneden.
De html5-specificatie, die nog niet tot standaard is verheven, verandert daar wel wat aan, bijvoorbeeld met de introductie van het canvas-element. De toevoeging van het video-element maakt het afspelen van video makkelijker, wat in bepaalde applicaties van pas kan komen. Bovendien zou Microsoft tools kunnen aanbieden, zoals javascript-library's, om volgens een bepaald stramien Metro-applicaties te ontwikkelen.
Beperkingen?
Veel developers zijn echter bang dat html5 en javascript de enige twee tools zijn waarmee Windows 8-applicaties kunnen worden gegenereerd. Die angst lijkt voorbarig. Hoewel Microsoft nog niet echt veel duidelijkheid biedt, geeft het bedrijf nergens expliciet aan dat developers zich tot deze twee talen moeten beperken.
In een persbericht staat letterlijk: "Developers also will be able to use common Web technologies, such as HTML5 and JavaScript, to create applications for the PC, further easing integration and adoption." Also klinkt niet bepaald als een verplichting; het lijkt er dus op dat het wel degelijk mogelijk wordt om bestaande ontwikkeltools te gebruiken voor het ontwerpen en ontwikkelen van Windows 8-interfaces.
/i/1306987395.jpeg?f=imagenormal)
Uiteraard zijn html5 en javascript in veel gevallen niet genoeg om een werkende applicatie te maken: vaak moet er data worden verwerkt en daarvoor heb je andere programmeertalen nodig. Het is nog onduidelijk hoe de interactie tussen Microsofts html5-ontwikkelplatform en de .Net-programmeertalen gaat verlopen. Het ligt echter voor de hand dat ontwikkelaars met behulp van het .Net-framework een html5-gui zullen kunnen genereren.
'Geen goede beslissing'
Expertpanellid en ontwikkelaar Roy Triesscheijn zegt het 'geen goede beslissing' te vinden als Microsoft ontwikkeling voor de Metro-interface alleen mogelijk maakt met html5 en javascript. "Microsoft heeft juist een ijzersterkte ui-toolkit neergezet met WPF", zegt Triesscheijn. Html5 en javascript kunnen daar volgens hem niet aan tippen.
Panellid Chris Simon is het daar mee eens. "Veel applicaties zijn niet geschikt om met html5 en javascript te maken", zegt Simon. "Maar het is nog maar een gerucht; we zullen zien wat er ondersteund wordt."
Backwards compatible
Voor de ontwikkeling van Windows Phone 7-apps wordt meestal Silverlight gebruikt, met uitzondering van games, die met XNA worden gemaakt. Voor ontwikkelaars zou het welkom zijn als ze hun Windows Phone 7-apps geschikt kunnen maken voor Windows 8-tablets, zonder de app opnieuw van de grond af te hoeven opbouwen. Dat kan al met iOS en Android, dus de druk op Microsoft is groot om hetzelfde te doen: een groot aantal apps lijkt immers essentieel voor het succes van het platform.
Op de Microsoft-campus in Redmond spraken we met een Microsoft-medewerker die liet doorschemeren dat Microsoft inderdaad een gemakkelijke overstap mogelijk wil maken. Volgens hem zou een Windows Phone 7-app relatief eenvoudig kunnen worden opgeschaald tot een tablet-app en zelfs tot een desktop-app - de Metro-interface kan immers ook op pc's worden gebruikt. Dat maakt het zeer waarschijnlijk dat Silverlight voor Windows 8-applicaties gebruikt kan worden.
De kans dat veel 'oude' Windows-software ook op Windows 8-tablets kan draaien, is echter minder groot. Het leeuwendeel van de Windows-applicaties is voor het x86-platform geschreven, terwijl veel tablets de komende tijd met ARM-cpu's worden uitgerust. Dat betekent dat software ofwel moet worden geport, ofwel moet worden geëmuleerd.
Emulatie levert prestatieverlies op, en prestaties zijn nu al geen sterk punt van tablets: hardwaremakers doen met name concessies om de accuduur zo hoog mogelijk te maken. Maar ook een port kan performanceproblemen opleveren, zeker bij zwaardere applicaties: programma's als de desktopversie van Office of een fotobewerkingsprogramma als Photoshop zijn te krachtig en te groot om zonder meer op een tablet gebruikt te worden.
/i/1306993262.jpeg?f=imagenormal)
Ook Intel heeft al gewaarschuwd dat de ARM-versie van Windows 8 geen legacy-apps kan draaien. Microsoft heeft die waarschuwing afgedaan als 'misleidend'. Intel is in elk geval niet onpartijdig: ARM-cpu's zijn een concurrent van zijn eigen Atom-processorreeks.
Overigens spelen deze problemen niet bij de x86-versies van Windows 8. Het lijdt geen twijfel dat bestaande software op x86-machines zal draaien en de huidige ontwikkelplatformen worden uiteraard ondersteund.
Weinig verandering
Wij denken dat er voor de ontwikkeling van desktopsoftware voor Windows 8 niet al te veel zal veranderen. Het ontwerpen van applicaties voor de Metro-interface zal echter veranderingen met zich meebrengen, ook al komt er waarschijnlijk geen verplichting om html5 en javascript te gebruiken. Het lijkt erop dat in elk geval Silverlight als alternatief wordt geboden, zodat Windows Phone 7-ontwikkelaars hun apps gemakkelijk naar Windows 8 kunnen overzetten. Of dat genoeg is om de Windows 8-tablets op korte termijn een volle appwinkel te geven, zal de tijd moeten leren.