How do I build apps using Visual Studio?

Byg Kraftfulde Apps med Visual Studio

05/07/2023

Rating: 3.92 (13701 votes)

I dagens digitale verden er mobil- og desktopapps uundværlige. Fra underholdning til produktivitet driver de vores hverdag og forretninger. Men hvordan bygger man egentlig disse apps, især når man ønsker at nå brugere på tværs af forskellige enheder som Android, iOS, Mac og Windows? Svaret ligger ofte i et robust og alsidigt udviklingsmiljø som Visual Studio. Dette kraftfulde IDE fra Microsoft giver dig værktøjerne til at skabe applikationer, der ikke kun er funktionelle, men også yder optimalt på tværs af platforme. Uanset om du er en erfaren udvikler eller lige er startet, tilbyder Visual Studio en række muligheder, der passer til dine behov, fra den nyeste .NET Multi-platform App UI (.NET MAUI) til avanceret C++-udvikling og spilskabelse med Unity.

How do I build Android apps with C++?
To build Android or iOS applications, choose the “ Mobile development with C++ ” workload under the “ Mobile & Gaming ” category. Android development: By default, this workload includes the core Visual Studio editor, the C++ debugger, GCC and Clang compilers, Android SDKs and NDKs, Android build tools, Java SDK, and C++ Android development tools.

Visual Studio er designet til at strømline din udviklingsproces, hvilket giver dig mulighed for at fokusere på at bygge innovative løsninger. Med dyb integration af tilsluttede tjenester som Microsoft 365 og Azure App Service, kan du nemt udvide dine apps' funktionalitet. Derudover understøtter Visual Studio deling af kode, strenge, billeder og endda brugergrænseflader på tværs af platforme, hvilket reducerer udviklingstid og kompleksitet betydeligt. Lad os dykke ned i de forskellige metoder og teknologier, du kan udnytte til at bygge dine næste store apps.

Indholdsfortegnelse

Byg Multi-Platform Apps med .NET MAUI

Den mest moderne og effektive måde at bygge apps til Android, iOS, Mac Catalyst og Windows fra en enkelt kodebase i Visual Studio er ved brug af .NET Multi-platform App UI (.NET MAUI). Dette framework er efterfølgeren til Xamarin.Forms og er specifikt designet til at udvide mobiludvikling til også at omfatte desktop-scenarier. Med .NET MAUI kan du skrive din app-logik og brugergrænseflade i C# og XAML, hvilket giver dig en velkendt og produktiv oplevelse, hvis du tidligere har arbejdet med .NET eller Xamarin.Forms.

Hvad er .NET MAUI?

.NET MAUI er et open source, cross-platform framework, der gør det muligt at bygge native mobil- og desktopapps med C# og XAML. Det er en videreudvikling af Xamarin.Forms, der nu er udvidet fra mobile til desktop-scenarier, med brugergrænsefladekontroller, der er genopbygget fra grunden for at sikre optimal ydeevne og udvidelsesmuligheder. Målet med .NET MAUI er at give dig mulighed for at implementere så meget som muligt af din app-logik og UI-layout i en enkelt kodebase, mens du stadig har mulighed for at tilføje platformspecifik kildekode og ressourcer, hvis det er nødvendigt.

Installation og Kom i Gang

For at komme i gang med .NET MAUI skal du installere Visual Studio og vælge indstillingen ".NET Multi-platform App UI development" i installationsprogrammet. Hvis du allerede har Visual Studio installeret, kan du genkøre Visual Studio Installer og tilføje denne arbejdsbyrde. Når installationen er fuldført, vil du finde .NET MAUI-projektskabeloner i dialogboksen "Nyt projekt". Den nemmeste måde at finde dem på er at søge efter "MAUI". Med disse skabeloner kan du hurtigt oprette dit første .NET MAUI-projekt og begynde at kode.

Udvikleroplevelsen med .NET MAUI

.NET MAUI eksponerer den native funktionalitet af Android, iOS, Mac Catalyst og Windows som .NET-klasser og metoder. Dette betyder, at dine apps har fuld adgang til native API'er og native kontroller, og de er lige så responsive som apps skrevet i de native platformsprog. Visual Studio understøtter dig fuldt ud med produktivitetsfunktioner. Du kan bruge IntelliSense til at udforske de native API'er på de mobile platforme, og hot reload giver dig mulighed for at ændre din kildekode, mens appen kører, uden at skulle pause eller genstarte. Når du er klar til at teste din app, kan du bruge Android SDK-emulatoren, køre Windows-apps direkte og for iOS-projekter oprette forbindelse til en netværksforbundet Mac for at starte iOS-emulatoren eller en tilsluttet enhed.

Kompilering til Native App-pakker

.NET MAUI-apps kompileres til native app-pakker, der er optimeret til hver enkelt platform:

  • Android-apps: Kompileres fra C# til et mellemliggende sprog (IL), som derefter just-in-time (JIT) kompileres til en native assembly, når appen startes.
  • iOS-apps: Kompileres fuldt ahead-of-time (AOT) fra C# til native ARM assembly-kode, hvilket sikrer optimal ydeevne.
  • macOS-apps: Bruger Mac Catalyst, en løsning fra Apple, der bringer din iOS-app bygget med UIKit til desktop, suppleret med yderligere AppKit og platform-API'er efter behov.
  • Windows-apps: Bruger Windows UI 3 (WinUI 3)-biblioteket til at skabe native apps, der målretter Windows-desktop.

Udvikling af Apps til Windows-enheder

Hvis dit primære fokus er Windows-enheder, kan du oprette en universel Windows-app, der målretter hele spektret af Windows 10-enheder. Dette gøres typisk ved at starte med en Universal Windows Platform (UWP) app-projektskabelon. Fordelen ved UWP er, at du designer din app ved hjælp af et enkelt projekt, og dine sider vil blive gengivet korrekt, uanset hvilken enhed der bruges til at se dem.

Visual Studio tilbyder visuelle designværktøjer og forhåndsvisningsvinduer, så du kan se, hvordan dine sider ser ud på forskellige enhedstyper. Hvis du ikke er tilfreds med, hvordan en side vises på en bestemt enhed, kan du optimere siden, så den bedre passer til skærmstørrelsen, opløsningen eller forskellige orienteringer som liggende eller stående tilstand. Alt dette kan gøres ved hjælp af intuitive værktøjsvinduer og let tilgængelige menuindstillinger i Visual Studio. Når du er klar til at køre din app, finder du alle enhedsemulatorer og simulatorer til forskellige enhedstyper samlet i en enkelt rulleliste på standardværktøjslinjen.

Avanceret App-Udvikling med C++ i Visual Studio

For udviklere, der søger maksimal ydeevne eller skal integrere med eksisterende C/C++-biblioteker, er C++ et fremragende valg til mobiludvikling. Visual Studio understøtter fuldt ud opbygning af cross-platform C++ mobilapplikationer med komplette redigerings- og fejlfindingsfunktioner i et enkelt IDE.

Hvorfor C++ til mobiludvikling?

Mange udviklere vælger at skrive det meste eller en del af deres mobilapps i C++ af flere årsager. For dem, der bygger beregningsintensive apps som spil og fysiksimulationer, vælges C++ for dets uovertrufne ydeevne. Andre vælger C++ for dets cross-platform natur og evnen til at udnytte eksisterende C/C++-biblioteker i deres mobilapplikationer. Visual Studio giver dig mulighed for at målrette Android, iOS og Windows i den samme løsning og derefter dele kode mellem dem ved hjælp af et cross-platform statisk eller dynamisk delt bibliotek.

Installation af C++ mobiludviklingsværktøjer

For at komme i gang med C++ mobiludvikling skal du installere Visual Studio og vælge arbejdsbyrden "Mobile development with C++" under kategorien "Mobile & Gaming". Som standard inkluderer denne arbejdsbyrde kerne Visual Studio-editoren, C++-debuggeren, GCC- og Clang-kompilatorer, Android SDK'er og NDK'er, Android-byggeværktøjer, Java SDK og C++ Android-udviklingsværktøjer. Du kan også vælge at installere Google Android Emulator. For iOS-udvikling skal du markere "C++ iOS development tools" i listen over valgfrie komponenter.

How do I build apps using Visual Studio?
You can build apps for Android, iOS, Mac Catalyst, and Windows devices by using Visual Studio. As you design your app, use tools in Visual Studio to easily add connected services such as Microsoft 365, Azure App Service, and Application Insights. Build your apps by using C# an .NET, HTML and JavaScript, or C++.

Oprettelse af Android C++ Apps

Hvis du planlægger at starte med Android, er de indbyggede Visual Studio Android-projektskabeloner, herunder Native-Activity Application, Static Library og Dynamic Shared Library, et godt udgangspunkt. For grafisk intensive apps som spil er "Native Activity Application (Android)" populær og har fuld understøttelse af Clang-værktøjskæden. Når projektet er oprettet, kan du vælge den korrekte arkitektur i rullemenuen "Solution Platforms" og trykke på F5 for at køre appen i Android-emulatoren.

Deling af C++ kode på tværs af platforme

En af de store fordele ved C++ i Visual Studio er muligheden for at dele kode. Du kan oprette et statisk eller dynamisk delt C++-bibliotek, som derefter kan forbruges i et Windows-, iOS- eller Android-projekt. Disse biblioteksprojekter er fuldt integreret med Visual Studio-debuggeren, så du kan sætte breakpoints, gennemgå kode og finde og rette problemer ved hjælp af alle debuggerens avancerede funktioner.

OpenGLES Applikationer til Android og iOS

Projektskabelonen "OpenGL ES Application" under Visual C++ -> Cross Platform er et fremragende udgangspunkt for en mobilapp, der målretter både Android og iOS med delt C++-kode. Denne skabelon opretter en simpel iOS-app og en Android Native Activity-app, der har fælles C++-kode, som bruger OpenGL ES til at vise den samme animerede roterende terning på hver platform. Løsningen inkluderer tre biblioteksprojekter: et for hver platform og et for delt C++-kode, samt to applikationsprojekter for henholdsvis Android og iOS.

For at bygge og køre iOS-appen skal du bemærke, at selvom iOS-projektet kan redigeres i Visual Studio, skal det bygges og implementeres fra en Mac på grund af licensrestriktioner. Visual Studio kommunikerer med en fjernagent, der kører på Mac'en, for at overføre projektfiler og udføre bygge-, implementerings- og fejlfindingskommandoer. Når fjernagenten kører på Mac'en, og Visual Studio er parret med den, kan du bygge og køre iOS-appen i iOS-simulatoren eller på en tilsluttet enhed.

Visual Studio IDE's Kraftfulde Funktioner til C++ Udvikling

Visual Studio tilbyder en række kraftfulde funktioner, der gør C++-kode skrivning mere effektiv, især i et cross-platform miljø. Disse redigeringsfunktioner fungerer ikke kun i den fælles kode, men er også kontekstbevidste om målplatformen, når du skriver platformspecifik kode.

  • IntelliSense: Giver dig medlemslister, hurtig info og parameterhjælp, der hjælper dig med at udforske native API'er og skrive kode hurtigere. Det er implementeret baseret på Clang-værktøjskæden, når du målretter Android-platformen.
  • Kodenavigation: Funktioner som Go To Definition (F12), Peek Definition (Alt+F12), Go To Line/Symbols/Members/Types og Find All References gør det nemt at navigere i store kodebaser og springe mellem flere kodefiler. Peek Definition er særligt nyttig, da den viser definitionen af et symbol i et indlejret vindue, så du kan se og redigere kode uden at skifte væk fra den fil, du arbejder i.
  • Andre produktivitetsfunktioner: Automatisk fuldførelse, squiggles for fejl og advarsler, referencefremhævelse, syntaksfarvelægning og kodeudsnit bidrager alle til en mere flydende og fejlfri kodeoplevelse.

Fejlfinding med Visual Studio Debuggeren

Fejlfinding er en integreret del af udviklingsprocessen, og Visual Studios debugger er i verdensklasse. Den hjælper dig med at finde og rette problemer hurtigere i både C++ og Java-kode.

C++ Fejlfinding

Du kan sætte breakpoints i din Android C++-kode og trykke på F5 for at starte debuggeren. Når breakpointet rammes, kan du se værdien af variabler og komplekse udtryk i vinduerne "Autos" og "Watch", samt i data-tips ved museoverføring. Du kan også se opkaldsstakken i "Call Stack"-vinduet og nemt træde ind og ud af funktioner. Visual Studio understøtter også fejlfinding af forudbyggede Android-applikationer, sporingspunkter, betingede breakpoints og avanceret visualisering (Natvis Support).

Java Fejlfinding og Sprogunderstøttelse til Android

Uanset om du skriver Java eller C++-kode i dine Android-apps, dækker Visual Studio det hele. Visual Studio inkluderer en Java Debugger, der muliggør fejlfinding af Java-kilde filer i dine Android-projekter. Med Visual Studio Java Language Service for Android-udvidelsen kan du også udnytte IntelliSense og browsingfunktioner for Java-filer i Visual Studio IDE. Dette inkluderer farvelægning, fejl- og advarselssquiggles, kodeudlinjering og semantisk fremhævelse, samt IntelliSense-assistance som medlemslister og parameterhjælp. For at aktivere Java-fejlfinding skal du ændre "Debug Type"-rullemenuen til "Java Only" i værktøjslinjen "Debug Target".

Integration med Xamarin

Xamarin er en populær cross-platform løsning for at skabe rige native apps ved hjælp af C# på tværs af mobile platforme, samtidig med at kode genbruges maksimalt. Med Xamarin kan du skabe apps med native brugergrænseflader og opnå native ydeevne på hver mobilplatform. Hvis du ønsker at udnytte Xamarin til at skrive brugergrænseflader i C#, mens du genbruger dine eksisterende C/C++-biblioteker, understøtter Visual Studio fuldt ud opbygning og fejlfinding af Xamarin Android-apps, der refererer C++-kode. Referering af C++-biblioteker i Xamarin iOS-apps kan også opnås, hvilket giver en yderst fleksibel udviklingspipeline.

Sammenligning af Udviklingsmetoder i Visual Studio

For at give et bedre overblik over de forskellige tilgange til app-udvikling i Visual Studio, har vi sammensat en simpel sammenligningstabel:

MetodePrimære SprogMålplatformeNøglefunktionerBedst til
.NET MAUIC#, XAMLAndroid, iOS, macOS, WindowsÉn kodebase, native UI, hot reload, adgang til native API'er.Generelle forretningsapps, produktivitetsværktøjer, multi-platform.
UWP (Universal Windows Platform)C#, C++, VB.NETWindows 10+ enhederEnkelt projekt for alle Windows-enheder, responsivt design.Windows-specifikke apps, desktop-applikationer.
C++ MobiludviklingC++Android, iOS, WindowsMaksimal ydeevne, genbrug af eksisterende C/C++-kode, dyb kontrol over hardware.Spil, grafikintensive apps, apps med specifikke ydeevnekrav.
Visual Studio Tools for UnityC#Android, iOS, Windows, Web, KonsollerIntegration med Unity-spilmotor, robust spiludviklingsmiljø, dybdegående debugger.Spil, immersive grafiske apps, 3D-simuleringer.
Xamarin (Legacy til MAUI)C#Android, iOS, UWPNative UI med C#, kode genbrug.Ældre projekter, specifikke native krav (nu erstattet af MAUI).

Ofte Stillede Spørgsmål

Hvilke programmeringssprog kan jeg bruge til at bygge apps i Visual Studio?
Du kan primært bruge C# (.NET MAUI, UWP, Unity, Xamarin) og C++ (Android Native Activity, iOS, UWP). Der er også begrænset understøttelse for HTML og JavaScript til visse app-typer, samt Visual Basic .NET til UWP.
Kan jeg dele kode mellem Android, iOS og Windows apps?
Ja, absolut! Med .NET MAUI kan du dele stort set al din kode og UI. Med C++ kan du dele kode via statiske eller dynamiske delte biblioteker. Visual Studio Tools for Unity tillader også kode genbrug på tværs af platforme for spil.
Skal jeg bruge en Mac for at udvikle iOS-apps med Visual Studio?
Ja, for at bygge og implementere iOS-apps fra Visual Studio skal du have en Mac tilsluttet dit netværk. Visual Studio kommunikerer med en fjernagent, der kører på Mac'en, for at håndtere kompilering og udrulning. Du kan dog skrive og fejlfinde din iOS-kode direkte i Visual Studio.
Hvad er forskellen mellem .NET MAUI og Xamarin.Forms?
.NET MAUI er den seneste udvikling af Xamarin.Forms. Hvor Xamarin.Forms primært fokuserede på mobil, udvider .NET MAUI til at inkludere desktop (Windows og macOS via Mac Catalyst) og tilbyder en forenklet single-project oplevelse samt forbedret ydeevne og kontrolarkitektur.
Hvad er Visual Studio Tools for Unity?
Visual Studio Tools for Unity (VSTU) er en gratis udvidelse til Visual Studio, der integrerer Visual Studios kode-redigerings-, produktivitets- og fejlfindingsværktøjer med Unity-spilmotoren. Det gør det muligt at skrive spil- og editor-scripts i C# og bruge Visual Studios debugger til at finde og rette fejl i Unity-projekter.

Konklusion

Visual Studio er et utroligt alsidigt og kraftfuldt værktøjssæt for app-udviklere, der ønsker at nå et bredt publikum på tværs af forskellige platforme. Uanset om du vælger at udnytte den moderne, single-project tilgang med .NET MAUI til at bygge apps til Android, iOS, Mac og Windows, dykke ned i den ydeevne-orienterede verden af C++ til spil og komplekse applikationer, eller bygge immersive oplevelser med Unity, giver Visual Studio dig de nødvendige værktøjer. Med funktioner som IntelliSense, hot reload og en avanceret debugger kan du strømline din arbejdsgang, forbedre kodekvaliteten og accelerere din udvikling. At mestre Visual Studio er et væsentligt skridt mod at bygge fremtidens apps, der ikke kun er innovative, men også robuste og effektive på tværs af hele enhedslandskabet.

Hvis du vil læse andre artikler, der ligner Byg Kraftfulde Apps med Visual Studio, kan du besøge kategorien Mobiludvikling.

Go up