ANAHEIM. Da Steve Ballmer første gang viste, at Microsoft var på vej med Windows 8, spillede han et trumfkort, der hovedsageligt skulle sende et signal til Apple og Google: Windows 8 kunne køre på ARM-processorer.
På CES-messen i januar kørte Microsoft en version af Windows 8 på en prototype af et nyt bundkort med en ARM-baseret processor, og selskabet holder fast i, at Windows 8 vil udkomme til både x86-arkitekturen og ARM.
Men på Build-konferencen i denne uge har Microsoft kun vist ARM-enheder frem i korte glimt på scenen for hurtigt at gemme dem væk igen. Den tavlecomputer, som deltagerne har fået udleveret, er da også baseret på en Intel Core i5-processor.
Det skyldes næppe nogen politisk beslutning om ikke at fornærme den mangeårige partner Intel, som afholder dets egen udviklerkonference, IDF, i denne uge i San Francisco.
Derimod er det mere sandsynligt, at Microsoft har længere vej i mål på ARM end på x86 med hensyn til at have køreklar version af Windows 8, som kan tåle at blive vist frem.
»ARM er stadig noget, vi arbejder på,« sagde divisionschef for Windows, Steven Sinofsky, på et pressemøde forud for Build-konferencen.
Microsoft fremviste en tavle-pc med Nvidia-logo på, som angiveligt kørte med en prototype af Nvidias kommende Tegra 3-processor.
For udviklerne betyder tavsheden, at der fortsat er en række ubesvarede spørgsmål i forhold til, hvad der kræves for at udvikle applikationer, som vil kunne køre på de to forskellige arkitekturer.
Microsoft har med Windows 8 introduceret en helt ny underliggende arkitektur i Windows for Metro-applikationerne kaldet Windows Runtime eller WinRT. Den betyder, at man kan bruge Javascript, C#, Visual Basic eller C++ til at lave Metro-applikationer, som alle bruger det samme API.
WinRT er forskelligt fra Win32, der er det nuværende miljø for fulde Windows-applikationer. Win32 vil også eksistere i Windows 8, så der vil i praksis være to API-miljøer side om side, om end visse systemkald vil overlappe mellem de to.
WinRT betyder også, at eksempelvis C# kan køre tættere på selve Windows-kernen, og .Net-sprogene får mulighed for at køre asynkront med nogle få kommandoer, så man som udvikler ikke behøver programmere i flere tråde.
På ARM ser det dog ud til, at det kun bliver WinRT eller rettere en variant af WinRT, der bliver tilgængelig for udviklere. Hvis man vil portere applikationer mellem ARM og x86, har man i praksis ikke den samme valgfrihed mellem sprogene, som hvis man udelukkende holder sig til x86.
»Hvis du bruger Javascript eller C#, så vil det kunne køre på ARM,« siger Steven Sinofsky.
Microsoft har før vist en ARM-version af Office 2010 frem, men det er usikkert, hvorvidt der reelt vil blive lanceret en fuld Office-pakke til ARM samtidig med lanceringen af Windows 8.
»Vi har ikke tænkt os, at man skal portere alle de gamle x86-applikationer til ARM,« siger Steven Sinofsky.
Han peger på, at det ikke blot er et spørgsmål om at kompilere applikationerne på ny til den nye arkitektur, men at applikationerne i mange tilfælde skal ændres fundamentalt.
»Hvis man har en applikation, der for eksempel bruger Suspend, så vil det ikke virke på ARM-hardwaren. Processen vil blot dræne batteriet, og så vil det underminere alt det arbejde, vi har lagt i at gøre Windows 8 parat til ARM,« siger Steven Sinofsky.
Dermed står det også klart mellem linjerne, at Windows 8 på ARM ikke bliver fuldstændig identisk med Windows 8 på x86. Man vil kunne køre Metro-applikationer skrevet til WinRT på ARM-enhederne, men som udvikler vil man ikke få adgang til det fulde Windows API.