Översikt över Android-utveckling i Windows

En guide som hjälper dig att konfigurera din utvecklingsmiljö på en Windows 10- eller Windows 11-dator för utveckling av Android-appar. Android är ett varumärke som tillhör Google LLC. Om du är en utvecklare som är intresserad av att använda Windows-operativsystemet för att skapa appar som fungerar på Android-enheter och på andra enhetsplattformar är den här guiden till för dig.

Du kan också lära dig mer om hur du använder Windows-undersystemet för Android™️ för att uppdatera och testa ditt Android-program så att det körs på en Windows 11-enhet med hjälp av Amazon Appstore. Läs mer.

Windows som utvecklingsmiljö

Det finns flera sökvägar för att utveckla en Android-enhetsapp med hjälp av Windows-operativsystemet. Dessa vägar är indelade i tre huvudtyper: Inbyggd Android-utveckling, plattformsoberoende utveckling och Android-spelutveckling. Den här översikten hjälper dig att bestämma vilken utvecklingsväg du ska följa för att utveckla en Android-app och sedan ange nästa steg som hjälper dig att komma igång med Windows för att utveckla med:

*Om du har använt Xamarin för plattformsoberoende appar kan du läsa Migrera från Xamarin till .NET MAUI.

Dessutom ger den här guiden tips om hur du använder Windows för att:

Ursprunglig Android

Inbyggd Android-utveckling i Windows innebär att din app endast riktar in sig på Android (inte iOS- eller Windows-enheter). Du kan använda Android Studio eller Visual Studio för att utveckla inom ekosystemet som utformats specifikt för Android-operativsystemet. Prestanda kommer att optimeras för Android-enheter, användargränssnittets utseende och känsla kommer att överensstämma med andra appar på enheten, och alla funktioner eller kapaciteter på användarens enhet kommer att vara enkla att komma åt och använda. Att utveckla din app i ett internt format hjälper den att bara "känna sig rätt" eftersom den följer alla interaktionsmönster och användarupplevelsestandarder som fastställts specifikt för Android-enheter.

Plattformskompatibel

Plattformsoberoende ramverk tillhandahåller en enda kodbas som (mestadels) kan delas mellan Android-, iOS- och Windows-enheter. Att använda ett plattformsoberoende ramverk kan hjälpa din app att behålla samma utseende, känsla och upplevelse på olika enhetsplattformar, samt dra nytta av den automatiska distributionen av uppdateringar och korrigeringar. I stället för att behöva förstå en mängd olika enhetsspecifika kodspråk utvecklas appen i en delad kodbas, vanligtvis på ett språk.

Även om plattformsoberoende ramverk syftar till att se ut och känna sig så nära interna appar som möjligt, kommer de aldrig att vara så sömlöst integrerade som en inbyggt utvecklad app och kan drabbas av minskad hastighet och försämrad prestanda. Dessutom kanske de verktyg som används för att skapa plattformsoberoende appar inte har alla funktioner som erbjuds av varje enskild enhetsplattform, vilket kan kräva lösningar.

En kodbas består vanligtvis av användargränssnittskod för att skapa användargränssnittet, till exempel sidor, knappar, etiketter, listor osv. och logikkod, för att anropa webbtjänster, komma åt en databas, anropa maskinvarufunktioner och hantera tillstånd. I genomsnitt kan 90% av detta återanvändas, men det finns vanligtvis vissa behov av att anpassa kod för varje enhetsplattform. Den här generaliseringen beror till stor del på vilken typ av app du skapar, men ger lite sammanhang som förhoppningsvis hjälper dig att fatta beslut.

Välja ett plattformsoberoende ramverk

.NET MAUI

  • Ett plattformsoberoende ramverk för att skapa interna mobil- och skrivbordsappar med C# och XAML.
  • Utveckla appar som kan köras på Android, iOS, macOS och Windows från en enda delad kodbas, med djup åtkomst till varje aspekt av varje inbyggd plattform från ett enda enhetligt API som möjliggör en utvecklingsupplevelse som skrivs en gång och körs var som helst.
  • Dela användargränssnittslayout och design på olika plattformar.
  • En utveckling med öppen källkod för Xamarin.Forms, utökad från mobil- till skrivbordsscenarier, med gränssnittskontroller som återskapats för prestanda och utökningsbarhet.
  • Migrera Xamarin.Android-projekt till .NET MAUI

React Native

  • Användargränssnittskod: JavaScript
  • Logikkod: JavaScript
  • Målet med React Native är inte att skriva koden en gång och köra den på någon plattform, snarare att lära sig en gång (React-sättet) och skriva var som helst.
  • Communityn har lagt till verktyg som Expo och Create React Native App för att hjälpa dem som vill skapa appar utan att använda Xcode eller Android Studio.
  • På samma sätt som .NET MAUI (C#) anropar React Native (JavaScript) inbyggda gränssnittselement (utan att behöva skriva Java/Kotlin eller Swift).

Progressiva webbappar (PWA)

  • UI-kod: HTML, CSS, JavaScript
  • Logikkod: JavaScript
  • PWA:er är webbappar som skapats med standardmönster så att de kan dra nytta av både webb- och inbyggda appfunktioner. De kan byggas utan ramverk, men ett par populära ramverk att tänka på är Ionic och Apache Cordova.
  • PWA kan installeras på en enhet (Android, iOS eller Windows) och kan fungera offline tack vare införandet av en service worker.
  • PWA:er kan distribueras och installeras utan en appbutik med endast en webb-URL. Microsoft Store och Google Play Store tillåter att PWA:er visas, men Apple Store gör det för närvarande inte, även om de fortfarande kan installeras på alla iOS-enheter som kör 12.2 eller senare.
  • För att lära dig mer, kolla in den här introduktionen till PWA:er på MDN.

Spelutveckling

Spelutveckling för Android är ofta unik från att utveckla en Android-standardapp eftersom spel vanligtvis använder anpassad renderingslogik, ofta skriven i OpenGL eller Vulkan. Av den anledningen, och på grund av de många C-bibliotek som finns tillgängliga som stöder spelutveckling, är det vanligt att utvecklare använder C/C++ med Visual Studio, tillsammans med Android Native Development Kit (NDK) för att skapa spel för Android. Kom igång med C/C++ för spelutveckling.

Mer information om hur du utvecklar Android-spel finns på Android Developer-webbplatsen: Grunderna för spelutveckling. Du hittar vägledning om hur du använder en spelmotor (till exempel Unity, Unreal, Defold, Godot) samt hur du använder IDE:er (t.ex. Android Studio eller Visual Studio).

Nästa steg