Universal Windows Platform, uwp, är namnet på Microsoft senaste modell för att utveckla och köra applikationer på Windows. Den kommer att lanseras på allvar tillsammans med Windows 10. Den grundläggande tanken med uwp är att en och samma applikation ska fungera på allt från den minsta smartmobilen till en Xbox kopplad till en jätte-tv, med surfplattor, och både bärbara och stationära datorer däremellan.
Det innebär att precis samma app fungerar på alla enheter, men man måste kompilera appens källkod för olika hårdvaruarkitekturer som Intels X86 och X64, samt Arm.
På konferensen Devsum i Stockholm nyligen presenterade Microsofts Tess Ferrandez och Peter Bryntesson uwp sett från en utvecklares perspektiv. Presentationen kan sammanfattas med att det handlade om responsiv design av användargränssnitt med uwp.
”Appar kan köras i olika emulatorer för att man ska se hur de fungerar på olika enheter”, berättar Microsofts Tess Ferrandez.
Microsoft har helt klart lagt ner mycket möda på genomtänkta detaljer, dels på att skapa användargränssnittselement som fungerar på olika typer av enheter, dels på att skapa lösningar för hur element kan kombineras på bästa sätt för varje enhet, och hur det kan automatiseras. På Microsoft ser man också möjligheten att distribuera uwp-appar via en handelsplats på webben, Windows Store, som en viktig faktor. Det kan göras både publikt och internt för ett företag.
Ett exempel på det detaljarbete Microsoft lagt ner är något som kallas ”effektiva pixlar”.
– Man tar hänsyn till hur långt bort en enhet är från användaren, förklarar Tess Ferrandez.
En kombination av upplösning, skärmstorlek och avstånd mellan användaren och enheten, samt att applikationen känner av vilken enhet som används gör att till exempel textstorlek kan anpassas automatiskt för att alltid se lika stor ut för användaren. Automatiken utgår i från standardvärden för avstånd till användaren, för olika typer av enheter. Eftersom utvecklaren kan använda måttet effektiva pixlar går det att se till att text och andra visuella element får rätt storlek på olika enheter.
Vad tycker du – är Microsoft på rätt väg?
Annie Thorell, ansvarig för frontendutveckling på Mentimeter:
– Spontant tycker jag inte det. Man använder tjänster på olika sätt beroende på enhet. Användare beter sig olika med en mobil och en vanlig dator. Ett exempel är att man oftast är på väg någonstans när man använder en mobil och då kanske endast vissa delar av innehållet är intressant.
– Det är bra att appar är responsiva och ser bra ut och är användbara. Men apparna måste vara relevanta också.
Peter Svensson, teknikchef på Quantified Planet Foundation:
– För några år sedan hade jag sagt nej. Men jag tror att det numera ofta går att göra ganska bra lösningar som fungerar på flera enheter. I dag är det det gängse sättet att utveckla webblösningar, det finns väldigt bra existerande exempel på att det fungerar.
Patrik Löwendahl, teknik- och innovationschef på Avanade:
– Det återstår att se om Microsoft lyckas, men jag har svårt att se att det ska bli en klockren succé under de närmaste fem åren.
– Frågan är om desktopen finns kvar om några år, om den inte gör det så är Microsofts strategi helt rätt. Annars kanske man behöver skapa två olika appar ändå.
Erik Hellman, teknikevangelist och utvecklare på Bontouch:
– Tyvärr, jag tror att det är svårt att ro i land, hittills har ingen lyckats. Det handlar om olika interaktionsmönster, och om olika hårdvara som processorer och bildskärmar.
Det finns ett stort antal olika typer av applikationer i Microsoftsfären, till exempel de här:
- C/C++-program som kompileras till maskinkod.
- Traditionella Windowsprogram, till exempel skrivna med C#, som körs på det som tidigare kallades Dotnetplattformen.
- Appar av typen Universal Windows Platform, till exempel skrivna med C#, som körs i egna ”containrar”. Till viss del används Dotnetteknik för att köra de här apparna.
- Rena webbappar, typiskt skrivna med Javascript och html. Det handlar om både klient- och serverbaserade appar, och hybrider av de två typerna, som körs med hjälp av olika run time-lösningar.