Dela via


Vad är en UWP-app (Universal Windows Platform) ?

UWP är ett av många sätt att skapa klientprogram för Windows.

Anmärkning

Om du börjar utveckla Windows-appar rekommenderar vi att du använder Windows App SDK och WinUI i stället för UWP. Även om UWP fortfarande stöds är det inte under aktiv utveckling. Mer information finns i Börja utveckla Windows-appar .

Om du vill ladda ned de verktyg du behöver för att börja skapa Windows-appar kan du läsa Installera verktyg för Windows App SDK och sedan skriva din första app.

Var passar UWP in i Microsofts utvecklingsberättelse?

UWP är ett val för att skapa appar som körs på Windows 10- och Windows 11-enheter och som kan kombineras med andra plattformar. UWP-appar kan använda Win32-API:er och .NET-klasser (se API-uppsättningar för UWP-appar, Dll:er för UWP-appar och .NET för UWP-appar).

Funktioner i en UWP-app

En UWP-app är:

  • Säker: UWP-appar deklarerar vilka enhetsresurser och data de kommer åt. Användaren måste auktorisera den åtkomsten.
  • Kan använda ett gemensamt API på alla enheter som kör Windows.
  • Kunna använda enhetsspecifika funktioner och anpassa användargränssnittet till olika enhetsskärmsstorlekar, upplösningar och DPI.
  • Tillgänglig från Microsoft Store på alla enheter (eller endast de som du anger) som körs på Windows 10 eller Windows 11. Microsoft Store erbjuder flera sätt att tjäna pengar på din app.
  • Kan installeras och avinstalleras utan risk för datorn eller att orsaka "maskinröta".
  • Engagerande: Använd livepaneler, push-meddelanden och användaraktiviteter som interagerar med Windows Tidslinje och Cortanas Pick Up Where I Left Off för att engagera användare.
  • Programmerbar i C#, C++, Visual Basic och JavaScript. För användargränssnitt använder du WinUI, XAML, HTML eller DirectX.

Nu ska vi titta närmare på dessa.

Säkerställa

UWP-appar deklarerar i sitt manifest de enhetsfunktioner som de behöver, till exempel åtkomst till mikrofonen, platsen, webbkameran, USB-enheter, filer och så vidare. Användaren måste bekräfta och auktorisera åtkomsten innan appen beviljas funktionen.

En gemensam API-yta på alla enheter

Windows 10 introducerade UWP (Universal Windows Platform), som tillhandahåller en gemensam appplattform på alla enheter som kör Windows. UWP-kärn-API:erna är desamma på alla Windows-enheter. Om din app bara använder kärn-API:erna körs den på alla Windows-enheter oavsett om du riktar in dig på en stationär dator, Xbox, mixed reality-headset och så vidare.

En UWP-app som skrivits i C++/WinRT har åtkomst till De Win32-API:er som ingår i UWP. Dessa Win32-API:er implementeras av alla Windows-enheter.

Tilläggs-SDK:er exponerar de unika funktionerna för specifika enhetstyper

Om du riktar in dig på universella API:er kan din app köras på alla enheter som kör Windows 10 eller senare. Men om du vill att UWP-appen ska dra nytta av enhetsspecifika API:er kan du också göra det.

Med tilläggs-SDK:er kan du anropa specialiserade API:er för olika enheter. Om din UWP-app till exempel riktar sig mot en IoT-enhet kan du lägga till IoT-tilläggs-SDK i projektet för att rikta in dig på funktioner som är specifika för IoT-enheter. Mer information om hur du lägger till utöknings-SDK:er finns i avsnittet Utöknings-SDK:er i Programmera med utöknings-SDK:er.

Du kan skriva din app så att du förväntar dig att den endast ska köras på en viss typ av enhet och sedan begränsa dess distribution från Microsoft Store till just den typen av enhet. Eller så kan du villkorligt testa förekomsten av ett API vid körning och anpassa appens beteende i enlighet med detta. Mer information finns i avsnittet Skriva kod i Programmering med tilläggs-SDK:er.

Anpassningsbara kontroller och indata

Gränssnittselement svarar på storleken och DPI:n för skärmen som appen körs på genom att justera layouten och skalan. UWP-appar fungerar bra med flera typer av indata, till exempel tangentbord, mus, touch, penna och spelkontrollanter. Om du behöver anpassa användargränssnittet ytterligare till en viss skärmstorlek eller enhet kan nya layoutpaneler och verktyg hjälpa dig att utforma användargränssnittet som kan anpassas till de olika enheter och formulärfaktorer som appen kan köras på.

Windows-drivna enheter

Windows hjälper dig att rikta ditt användargränssnitt till flera enheter med följande funktioner:

  • Universella kontroller och layoutpaneler hjälper dig att optimera användargränssnittet för enhetens skärmupplösning. Till exempel anpassas kontroller som knappar och skjutreglage automatiskt till enhetens skärmstorlek och DPI-densitet. Layoutpaneler hjälper dig att justera layouten för innehåll baserat på skärmens storlek. Anpassningsbar skalning anpassas till upplösnings- och DPI-skillnader mellan enheter.
  • Med vanlig indatahantering kan du ta emot indata via touch, penna, mus, tangentbord eller spelkontroll.
  • Verktyg som hjälper dig att utforma användargränssnitt som kan anpassas till olika skärmupplösningar.

Vissa aspekter av appens användargränssnitt anpassas automatiskt mellan enheter. Appens användarupplevelsedesign kan dock behöva anpassas beroende på vilken enhet appen körs på. En fotoapp kan till exempel anpassa sitt användargränssnitt när den körs på en liten, handhållen enhet för att säkerställa att användningen är idealisk för enkelhänt användning. När en fotoapp körs på en stationär dator bör användargränssnittet anpassas för att dra nytta av det extra skärmutrymmet.

Det finns en butik för alla enheter

En enhetlig appbutik gör din app tillgänglig på Windows-enheter som PC, surfplatta, Xbox, HoloLens, Surface Hub och IoT-enheter (Internet of Things). Du kan skicka din app till butiken och göra den tillgänglig för alla typer av enheter, eller bara de du väljer. Du skickar och hanterar alla dina appar för Windows-enheter på ett och samma ställe. Har du en C++-skrivbordsapp som du vill modernisera med UWP-funktioner och sälja i Microsoft Store? Det är okej också.

UWP-appar integreras med Application Insights för detaljerad telemetri och analys – ett viktigt verktyg för att förstå dina användare och förbättra dina appar.

UWP-appar kan paketeras med MSIX och distribueras via Microsoft Store eller på andra sätt. MSIX tillåter att appar uppdateras oavsett hur de distribueras, se Uppdatera icke-Store-publicerade apppaket från din kod.

Tjäna pengar på din app

Du kan välja hur du ska tjäna pengar på din app. Det finns ett antal sätt att tjäna pengar på med din app. Allt du behöver göra är att välja den som fungerar bäst för dig, till exempel:

  • En betald nedladdning är det enklaste alternativet. Namnge bara priset.
  • Med utvärderingsversioner kan användarna prova din app innan de köper den, vilket ger enklare identifiering och konvertering än de mer traditionella "freemium"-alternativen.
  • Försäljningspriser för att uppmuntra användare.
  • Köp i appen.

Leverera relevant realtidsinformation till dina användare så att de kommer tillbaka

Det finns en mängd olika sätt att hålla användarna engagerade i UWP-appen:

  • Levande paneler och låsskärmspaneler som visar sammanhangsberoende och aktuell information från din app snabbt.
  • Push-meddelanden som uppmärksammar användaren på realtidsaviseringar.
  • Användaraktiviteter gör det möjligt för användare att fortsätta där de slutade i din app, även mellan enheter.
  • Åtgärdscentret organiserar meddelanden från din app.
  • Bakgrundskörning och utlösare gör att appen kan användas när användaren behöver den.
  • Din app kan använda röst- och Bluetooth LE-enheter för att hjälpa användare att interagera med världen omkring dem.
  • Integrera Cortana för att lägga till röstkommandofunktioner i din app.

Använd ett språk som du redan känner till

UWP-appar använder Windows Runtime, det interna API:et som tillhandahålls av operativsystemet. Det här API:et implementeras i C++ och stöds i C#, Visual Basic, C++och JavaScript. Några alternativ för att skriva UWP-appar är:

  • XAML-användargränssnitt och C#, VB eller C++
  • DirectX-användargränssnitt och C++
  • JavaScript och HTML
  • WinUI (på engelska)

Förbered dig

Kolla in Konfigurera för att ladda ned de verktyg du behöver för att börja skapa appar och skriv sedan din första app.

Utforma din app

Microsofts designsystem heter Fluent. Fluent Design System är en uppsättning UWP-funktioner i kombination med metodtips för att skapa appar som fungerar bra på alla typer av Windows-baserade enheter. Fluent-upplevelserna anpassar sig och känns naturliga på enheter från surfplattor till bärbara datorer, från datorer till TV-apparater och på enheter för virtuell verklighet. Se Fluent Design System för UWP-appar för en introduktion till Fluent Design.

Bra design är processen att bestämma hur användarna ska interagera med din app, förutom hur den kommer att se ut och fungera. Användarupplevelsen spelar en stor roll när det gäller att avgöra hur glada människor kommer att vara med din app, så snåla inte med det här steget. Grundläggande design ger en introduktion till att utforma en Universal Windows-app. Se enhetens primer- för att hjälpa dig att tänka igenom interaktionsupplevelsen med att använda din app på alla olika formfaktorer som du vill rikta in dig på.

Förutom interaktion på olika enheter planera din app för att ta till sig fördelarna med att arbeta på flera enheter. Till exempel:

Lägga till tjänster

Skicka din app till Store

Med Partnercenter kan du hantera och skicka alla dina appar för Windows-enheter på ett och samma ställe. Se Publicera Windows-appar och -spel för att lära dig hur du skickar in dina appar för publicering i Microsoft Store.

Nya funktioner förenklar processer samtidigt som du får mer kontroll. Du hittar också detaljerade analysrapporter kombinerad utbetalningsinformation, sätt att marknadsföra din app och interagera med dina kunder och mycket mer.

Mer introduktionsmaterial finns i En introduktion till att skapa Windows-appar för Windows 10-enheter

Mer avancerade ämnen

Så här relaterar den universella Windows-plattformen till Windows Runtime-API:er

Om du skapar en UWP-app (Universal Windows Platform) kan du dra stor nytta och bekvämlighet av att behandla termerna "Universal Windows Platform (UWP)" och "Windows Runtime (WinRT)" som mer eller mindre synonyma. Men det är möjligt att titta under tekniköverdraget och avgöra vad skillnaden är mellan dessa idéer. Om du är nyfiken på det är det här sista avsnittet för dig.

Windows Runtime och WinRT API:er är en utveckling av Windows-API:er. Ursprungligen programmerades Windows via platta Win32-API:er i C-stil. Till dessa lades COM API:er (DirectX är ett framträdande exempel). Windows Forms, WPF, .NET och hanterade språk gav sitt eget sätt att skriva Windows-appar och sin egen smak av API-teknik. Windows Runtime är, under täcket, nästa steg i COM. På det faktiska ABI-lagret (Application Binary Interface) blir dess rötter i COM synliga. Men Windows Runtime har utformats för att kunna anropas från ett stort antal olika programmeringsspråk. Och anropbart på ett sätt som är mycket naturligt för vart och ett av dessa språk. I detta syfte görs åtkomst till Windows Runtime tillgängligt via så kallade språkprojektioner. Det finns en Windows Runtime-språkprojektion i C#, i Visual Basic, till standard C++, i JavaScript och så vidare. När du har paketerat på rätt sätt (se Desktop Bridge) kan du dessutom anropa WinRT-API:er från en app som är inbyggd i en av många olika programmodeller: Win32, .NET, WinForms och WPF.

Och du kan naturligtvis anropa WinRT-API:er från din UWP-app. UWP är en programmodell som bygger på Windows Runtime. Tekniskt sett baseras UWP-programmodellen på CoreApplication, även om den informationen kan vara dold för dig, beroende på vilket programmeringsspråk du väljer. Som det här avsnittet har förklarat, ur ett värdeförslagssynpunkt, lämpar sig UWP för att skriva en enda binär fil som, om du väljer, kan publiceras till Microsoft Store och köras på någon av ett stort antal enhetsformfaktorer. Enhetens räckvidd för UWP-appen beror på den delmängd av Windows Runtime-API:er som du begränsar appen till att anropa eller som du anropar villkorligt.

Förhoppningsvis har det här avsnittet lyckats beskriva skillnaden mellan den teknik som ligger till grund för Windows Runtime-API:er och mekanismen och affärsvärdet för den universella Windows-plattformen.