Does VB work on Android?

Udvikling af Mobilapps med Visual Basic og Xamarin.Forms

23/08/2024

Rating: 4.94 (5738 votes)

I en verden domineret af mobile enheder har ønsket om at skabe applikationer til iOS og Android været en drivkraft for mange udviklere. For dem, der traditionelt har arbejdet med Visual Basic, har vejen til mobiludvikling historisk set været begrænset til platforme som Windows Phone. Men takket være fremskridt inden for værktøjer som Xamarin.Forms og Visual Studio, kombineret med konceptet om Portable Class Libraries (PCLs), er det nu blevet en realitet at udvikle fuldgyldige iOS- og Android-apps udelukkende i Visual Basic. Denne artikel udforsker, hvordan du som Visual Basic-udvikler kan udnytte disse teknologier til at udvide dit udviklingsområde til de mest populære mobile operativsystemer.

Is VB free?
They use .NET technologies so you may be able to use VB. I know most of there stuff is in C# though. It's not free to release publicly but you can at least get a taste for it for free. In the end, it's best to develop using the native technologies used by each platform. You're just closer to the intended system with fewer layers of abstraction.

Traditionelt har Visual Basic været kendt for sin brugervenlighed og fokus på Windows-applikationer. Men med den stigende efterspørgsel efter krydsplatformsløsninger har udviklere ledt efter måder at genbruge deres eksisterende færdigheder og kode på tværs af platforme. Her kommer Xamarin.Forms ind i billedet som en game-changer. Xamarin.Forms er et open source UI-rammeværk fra Microsoft til at bygge iOS-, Android-, & Windows-apps fra en enkelt, delt .NET-kodebase. Hvor det tidligere var nødvendigt at skrive platformsspecifik kode (herunder brugergrænsefladen) i C# (eller F#) på Xamarin-platformen, selvom forretningslogikken kunne skrives i Visual Basic PCLs, har Xamarin.Forms ændret dette paradigme fundamentalt. Det er nu muligt at skrive en hel app – fra forretningslogik til brugergrænseflade – i en PCL og dele den på tværs af platforme. Dette betyder, at det er blevet en reel mulighed at skrive hele mobilapplikationer i Visual Basic i Visual Studio ved hjælp af Xamarin.Forms.

Indholdsfortegnelse

Hvordan fungerer Visual Basic med Xamarin.Forms?

Kernen i at skrive krydsplatformsmobilapps i Visual Basic med Xamarin.Forms ligger i brugen af Portable Class Libraries (PCLs). En PCL er et særligt projekt i Visual Studio, der giver dig mulighed for at skrive kode, der kan deles på tværs af flere .NET-platforme, herunder iOS, Android og Windows. Når du opretter et nyt Xamarin.Forms-projekt i Visual Studio, har du nu mulighed for at vælge en skabelon, der understøtter Visual Basic. Dette betyder, at du kan starte et nyt projekt og straks begynde at skrive din applikation i VB.NET.

Et grundlæggende Xamarin.Forms-program i Visual Basic kunne se således ud for hovedapplikationsklassen:

Public Class App Inherits Application Public Sub New() Dim label = New Label With { .XAlign = TextAlignment.Center, .FontSize = Device.GetNamedSize(NamedSize.Medium, GetType(Label)), .Text = "Velkommen til Xamarin.Forms med Visual Basic.NET" } Dim stack = New StackLayout With { .VerticalOptions = LayoutOptions.Center } stack.Children.Add(label) Dim page = New ContentPage page.Content = stack MainPage = page End Sub End Class

Dette simple eksempel viser, hvordan en grundlæggende brugergrænseflade kan oprettes direkte i Visual Basic. På samme måde kan nye sider i din applikation nemt skrives i Visual Basic, hvilket giver dig fuld kontrol over både logik og UI i et velkendt sprog.

Public Class MinSide Inherits ContentPage Public Sub New() Dim label = New Label With { .XAlign = TextAlignment.Center, .FontSize = Device.GetNamedSize(NamedSize.Medium, GetType(Label)), .Text = "En Visual Basic ContentPage" } Dim button = New Button With { .Text = "Klik mig" } AddHandler button.Clicked, Async Sub(sender, e) Await DisplayAlert("Hej fra VB", "Visual Basic.NET er tilbage!", "Tak") End Sub Dim stack = New StackLayout With { .VerticalOptions = LayoutOptions.Center } stack.Children.Add(label) stack.Children.Add(button) Content = stack End Sub End Class

Som det fremgår, er syntaksen velkendt for VB-udviklere, og du kan udnytte dine eksisterende færdigheder til at bygge interaktive og visuelt tiltalende mobilapplikationer. Det er vigtigt at bemærke, at Xamarin ikke implementerer direkte understøttelse for Visual Basic-sproget i Xamarin Studio; derfor skal du bruge Visual Studio for disse projekter. Dette er dog sjældent et problem, da Visual Studio er det foretrukne IDE for .NET-udviklere.

Udfordringer og løsninger ved at køre Visual Basic på Android (og iOS)

Selvom Xamarin.Forms gør det muligt at skrive komplette apps i Visual Basic, er det vigtigt at forstå de bagvedliggende mekanismer og eventuelle begrænsninger, især når det kommer til at køre VB-programmer direkte på Android eller iOS. Android-operativsystemet er primært baseret på Java og Kotlin, mens iOS er baseret på Swift og Objective-C. Dette betyder, at et Visual Basic-program ikke kan køre "indbygget" på disse platforme uden en form for oversættelse eller mellemlag.

Begrænsninger ved direkte kørsel

  • Ydeevne: Visual Basic-applikationer, der ikke er optimeret til mobile enheder, kan opleve ydeevneproblemer på ressourcebegrænsede Android- eller iOS-enheder.
  • UI/UX-kompatibilitet: Den traditionelle Windows-stil GUI, som VB ofte bruger, oversættes ikke direkte til Androids Material Design-principper eller iOS's Human Interface Guidelines, hvilket kræver en redesign-indsats.
  • Afhængigheder: Mange ældre VB-applikationer er afhængige af Windows-specifikke biblioteker og funktionaliteter, der ganske enkelt ikke eksisterer på Android eller iOS.

Metoder til at bringe Visual Basic-funktionalitet til Android (og iOS)

Selvom Xamarin.Forms er den mest direkte og anbefalede metode til nye projekter, kan der være situationer, hvor du ønsker at genbruge ældre VB-kode eller udforske alternative tilgange. Her er flere metoder til at køre eller tilpasse Visual Basic-programmer til mobile enheder:

1. Brug af Emulering

En af de mest ligefremme metoder til at køre ældre Visual Basic-applikationer på Android er at bruge en emulator. En emulator efterligner funktionaliteten af et computeroperativsystem på et andet operativsystem. Du kan installere en Windows-emulator som Wine eller en dedikeret VB-miljøemulator på din Android-enhed. Herefter kan du installere din Visual Basic-applikation og de nødvendige runtime-filer i emulatoren.

  • Fordele: Simpel og direkte metode, giver adgang til de fleste VB-funktionaliteter.
  • Ulemper: Kræver mange ressourcer, potentiel for fejl, og ydeevneproblemer. Ikke en løsning for moderne, native-lignende apps.

2. Xamarin (med fokus på C# som migrationsvej)

Mens Xamarin.Forms giver dig mulighed for at skrive nye apps helt i VB, kan du for eksisterende, komplekse Visual Basic-applikationer overveje at migrere dele af koden til C# inden for Xamarin-rammen. Dette giver bedre integration med Androids og iOS's native UI og adgang til native API'er. Processen involverer at installere Visual Studio med Xamarin-arbejdsbyrden, oprette et nyt Xamarin.Forms-projekt og gradvist oversætte din Visual Basic-kode til C#.

Can I write a mobile application in Visual Studio?
This means that it’s become possible to write entire mobile applications in Visual Basic in Visual Studio using Xamarin.Forms. The Xamarin developer portal has instructions on creating a Visual Basic project from the Xamarin.Forms new project template. A “Basic” App class is shown here:
  • Fordele: Bedre integration med native UI/UX, adgang til native API'er, mere kontrol over applikationens adfærd.
  • Ulemper: Kræver betydelig omskrivning af kode; en indlæringskurve for dem, der er uvante med C#. Mindre relevant for nye projekter, der kan skrives direkte i VB med Xamarin.Forms.

3. Kodekonverteringsværktøjer

Der findes værktøjer, der kan automatisere en del af oversættelsen mellem Visual Basic og moderne programmeringssprog som C#. Selvom disse værktøjer sjældent kan håndtere komplekse UI-kontroller fra VB fuldt ud, kan de tjene som et udgangspunkt for at migrere din forretningslogik. Eksempler inkluderer VB til C#-konvertere, som kan hjælpe udviklere med at flytte deres VB.NET-kode til C#.

  • Fordele: Kan dramatisk reducere udviklingstiden ved at automatisere oversættelsen af ren logik.
  • Ulemper: Ikke alle funktioner konverteres problemfrit, hvilket kræver manuelle justeringer og optimering.

4. Udvikling af en webbaseret version

Hvis dit Visual Basic-program ikke har stærke ressourceafhængigheder og primært er datadrevet, kan det være en levedygtig løsning at oprette en webbaseret version. Ved at udvikle en webapplikation kan den køres i enhver browser på Android eller iOS. Dette indebærer at redesigne applikationens funktionalitet ved hjælp af HTML, CSS og JavaScript, eventuelt med frameworks som Angular, React eller Vue.js. Du kan derefter pakke webappen ind i en native app-format ved hjælp af Android WebView for bedre integration.

  • Fordele: Platformsuafhængig, kan nå et bredere publikum, da den ikke er begrænset til mobile brugere.
  • Ulemper: Kræver betydelig front-end design- og udviklingsindsats; kan mangle den "native fornemmelse".

5. Brug af fjernadgangsapplikationer

Hvis ombygning eller konvertering af applikationen virker for overvældende, er en anden metode at køre Visual Basic-programmet på en ekstern Windows-server og få adgang til det via en fjernskrivebordsapplikation på Android eller iOS. Applikationer som Microsoft Remote Desktop, TeamViewer eller AnyDesk gør dette muligt.

  • Fordele: Ligefremt for applikationer, der ikke skal omskrives; hurtig at implementere.
  • Ulemper: Kræver en stabil internetforbindelse; potentielle latenstider kan opstå; oplevelsen er ikke en ægte mobilapp.

Sammenligning af metoder til Visual Basic på mobil

Her er en oversigt over de forskellige metoder, der kan anvendes til at bringe Visual Basic-funktionalitet til mobile platforme, med fokus på deres primære anvendelse og udfordringer:

MetodePrimær AnvendelseKodeomskrivning Nødvendig?Ydeevne/Native FølelseKompleksitet
Xamarin.Forms (VB.NET)Nye krydsplatform appsMinimal/Ingen (alt i VB)Høj (kompilerer til native)Moderat (læringskurve for Xamarin)
EmuleringKørsel af ældre Windows VB appsIngenLav (ressourcekrævende)Lav til Moderat
Xamarin (VB til C# migration)Migration af eksisterende VB logikBetydelig (VB til C#)HøjHøj
KodekonverteringAutomatisering af logik-migrationDelvis (manuel justering)VarierendeModerat
Webbaseret versionData-drevne apps uden stærke OS-afh.Total (HTML/CSS/JS)Moderat (afh. af browser/WebView)Høj (frontend udvikling)
FjernadgangAdgang til stationære VB appsIngenLav (afh. af netværk)Lav

Som tabellen viser, er Xamarin.Forms med Visual Basic den mest effektive og moderne tilgang til at bygge nye, native-lignende mobilapplikationer fra bunden i Visual Basic. De andre metoder er mere relevante for at genbruge eller få adgang til eksisterende, ældre Visual Basic-applikationer.

Er Visual Basic og Xamarin gratis?

Historisk set har Xamarin haft forskellige licensmodeller. Den information, vi har til rådighed, indikerer, at Xamarin ikke var gratis til offentlig udgivelse, men der var muligheder for at "få en smagsprøve" gratis. Siden Microsofts opkøb af Xamarin er licensmodellen ændret betydeligt. Xamarin er nu en del af .NET-økosystemet og er inkluderet i Visual Studio. For de fleste individuelle udviklere og små teams er Visual Studio Community Edition gratis, og den inkluderer Xamarin-udviklingsværktøjerne fuldt ud. Dette betyder, at du kan udvikle og udgive Xamarin.Forms-apps i Visual Basic uden omkostninger til udviklingsværktøjerne. Der kan dog være omkostninger forbundet med udviklerkonti hos Apple (for iOS) og Google (for Android) for at udgive apps i deres respektive app-butikker.

For Visual Basic-programmører, eller for dem, der har eksisterende Visual Basic-kode, de gerne vil mobilisere, har der aldrig været et bedre tidspunkt at komme i gang med mobiludvikling med Xamarin.Forms. Den integration med Visual Studio og muligheden for at skrive hele applikationen i VB.NET gør det til en attraktiv mulighed.

Ofte Stillede Spørgsmål (OSS)

Kan jeg skrive en hel mobilapplikation i Visual Basic ved hjælp af Xamarin.Forms?

Ja, absolut. Med Xamarin.Forms er det blevet muligt at skrive hele applikationen, herunder både forretningslogikken og brugergrænsefladen, i Visual Basic Portable Class Libraries (PCLs), som derefter kan deles på tværs af iOS og Android.

Can I write a mobile application in Visual Studio?
This means that it’s become possible to write entire mobile applications in Visual Basic in Visual Studio using Xamarin.Forms. The Xamarin developer portal has instructions on creating a Visual Basic project from the Xamarin.Forms new project template. A “Basic” App class is shown here:

Skal jeg bruge Xamarin Studio til Visual Basic mobiludvikling?

Nej, faktisk omvendt. Xamarin implementerer ikke direkte understøttelse for Visual Basic-sproget i Xamarin Studio. Du skal bruge Visual Studio (typisk på Windows) til at udvikle Visual Basic-projekter med Xamarin.Forms.

Skal jeg lære C# for at udvikle mobilapps med Visual Basic og Xamarin.Forms?

For nye projekter, hvor du starter fra bunden med Xamarin.Forms og Visual Basic, er det ikke strengt nødvendigt at lære C#. Du kan skrive hele din app i VB.NET. Men hvis du planlægger at migrere eksisterende, komplekse Visual Basic-applikationer, eller hvis du ønsker at udnytte visse platformsspecifikke API'er, kan kendskab til C# stadig være en fordel.

Hvordan er ydeevnen for Visual Basic-apps bygget med Xamarin.Forms?

Xamarin.Forms-apps kompileres til native kode for hver platform, hvilket betyder, at de generelt tilbyder god ydeevne, der er tæt på indbyggede apps. Ydeevnen afhænger dog også af appens design, optimering af kode, og den specifikke enhed, den kører på. En veludviklet Xamarin.Forms-app i Visual Basic bør levere en flydende og responsiv brugeroplevelse.

Er det muligt at bruge eksisterende Visual Basic-kodebiblioteker i Xamarin.Forms?

Ja, hvis dine eksisterende Visual Basic-kodebiblioteker er kompatible med Portable Class Libraries (PCLs) eller .NET Standard, kan de ofte genbruges i Xamarin.Forms-projekter. Dette er en stor fordel, da det giver dig mulighed for at genbruge din forretningslogik og spare tid i udviklingsprocessen.

Hvad er den største fordel ved at bruge Visual Basic med Xamarin.Forms?

Den største fordel er evnen til at udnytte dine eksisterende Visual Basic-færdigheder og kodebaser til at udvikle moderne, krydsplatformsmobilapplikationer til både iOS og Android fra en enkelt kodebase. Dette reducerer indlæringskurven for VB-udviklere, der ønsker at træde ind i mobilverdenen, og fremskynder udviklingsprocessen betydeligt.

Afslutningsvis har landskabet for mobiludvikling ændret sig dramatisk, og Visual Basic-udviklere er ikke længere begrænset til Windows-platformen. Med den kraftfulde kombination af Visual Studio og Xamarin.Forms er vejen nu åben for at skabe innovative og effektive mobilapplikationer til iOS- og Android-brugere, alt sammen i det velkendte og elskede Visual Basic-sprog. Det er en spændende tid at være Visual Basic-udvikler med ambitioner inden for mobiludvikling.

Hvis du vil læse andre artikler, der ligner Udvikling af Mobilapps med Visual Basic og Xamarin.Forms, kan du besøge kategorien Mobiludvikling.

Go up