01/07/2022
Hvad er FireMonkey® Framework?
FireMonkey® frameworket er en alsidig og kraftfuld løsning til udvikling af applikationer på tværs af flere platforme. Det er designet til at muliggøre oprettelsen af native applikationer, der kan køre fejlfrit på en bred vifte af enheder og operativsystemer, herunder Windows, macOS, iOS og Android. I modsætning til VCL (Visual Component Library), som primært er fokuseret på Windows-platformen, åbner FireMonkey døren for en sand multi-device udviklingsoplevelse.

Grundlæggende er FireMonkey en UI-toolkit, der giver udviklere mulighed for at designe og implementere brugergrænseflader, der er konsistente og funktionelle på tværs af forskellige platforme. Dette eliminerer behovet for at skrive separat kode for hver enkelt platform, hvilket sparer tid og ressourcer. Med FireMonkey kan du opnå imponerende layouts og designs, der tager din brugeroplevelse til et nyt niveau.
FireMonkey vs. VCL: Hvilken skal du vælge?
Valget mellem FireMonkey og VCL afhænger primært af dine udviklingsmål:
| Funktion | VCL (Visual Component Library) | FireMonkey (FMX) |
|---|---|---|
| Primær Platform | Windows | Windows, macOS, iOS, Android, Linux |
| Fokus | Native Windows-applikationer | Cross-platform native applikationer |
| Udviklingshastighed | Høj for Windows | Høj for cross-platform |
| UI Fleksibilitet | Stærk Windows-integration | Avanceret UI-toolkit, stilfulde designs |
| Kode Genbrug | Begrænset til Windows | Høj på tværs af platforme |
Hvis dit primære mål er at udvikle applikationer specifikt til Windows, er VCL et fremragende valg. Det er et modent og omfattende framework, der tilbyder dyb integration med Windows-operativsystemet. Men hvis du sigter mod at nå et bredere publikum på tværs af flere enheder og operativsystemer, er FireMonkey det oplagte valg. Ved at vælge muligheden for "multi-device application" i RAD Studio, kan du begynde at udnytte FireMonkeys fulde potentiale.
Kom Godt i Gang med FireMonkey
At skabe din første FireMonkey-applikation er en ligetil proces, især med de tilgængelige ressourcer. Embarcadero tilbyder en række tutorials, der guider dig trin for trin:
- "Hello World" for Desktop (C++/Delphi): Disse tutorials lærer dig de grundlæggende trin til at oprette din første FireMonkey-applikation til desktop-platforme som Windows og macOS. Udviklingsprocessen er ens for begge platforme.
- Mobiludvikling (iOS/Android): Der findes også specifikke tutorials, der fokuserer på at skabe applikationer til mobile platforme som iOS og Android. Disse giver dig indsigt i de unikke aspekter af mobil app-udvikling med FireMonkey.
For at komme i gang skal du typisk bruge RAD Studio, som er Embarcaderos integrerede udviklingsmiljø (IDE). Når du opretter et nyt projekt, vælger du "multi-device application" og derefter den ønskede platform (f.eks. Android). RAD Studio giver en brugervenlig træk-og-slip-kodeeditor og en visuel designer, der gør processen med at omdanne en tom formular til en fungerende applikation intuitiv.
Udvikling af Android Apps med FireMonkey
At udvikle Android-applikationer med Delphi og FireMonkey er en populær anvendelse af frameworket. Processen kræver dog visse forudsætninger:
Nødvendige Værktøjer (SDK'er)
For at kunne kompilere og bygge Android-apps skal du have de rette Software Development Kits (SDK'er) installeret:
- JDK (Java Development Kit): En kompatibel version af JDK'en er essentiel. RAD Studio angiver typisk de anbefalede versioner.
- Android SDK: Dette er en samling af værktøjer, biblioteker og dokumentation, der er nødvendig for at bygge Android-applikationer. Det inkluderer værktøjer som ADB (Android Debug Bridge).
- Android NDK (Native Development Kit): NDK'en bruges, når du har brug for at implementere dele af din app i native kode (C/C++) for at opnå bedre ydeevne eller integrere eksisterende C/C++ biblioteker. For de fleste apps er Android SDK'en tilstrækkelig, men NDK er nødvendig for 64-bit Android-udvikling og brug af native biblioteker.
Installation og Konfiguration
RAD Studio strømliner installationen af disse værktøjer. Under installationen af RAD Studio kan du vælge at inkludere Android SDK og NDK. Hvis de ikke blev installeret automatisk, kan du administrere dem via Tools > Options > Deployment > SDK Manager i RAD Studio IDE'en. Her kan du angive stierne til dine installerede SDK'er.

"Java not found" Fejl: En almindelig udfordring er, når Delphi ikke kan finde Java.exe. Dette skyldes typisk, at JDK'en ikke er korrekt installeret eller konfigureret. Du kan løse dette ved at gå til Tools > Manage Platforms og installere Eclipse Temurin OpenJDK. Sørg også for, at miljøvariablen JAVA_HOME er korrekt sat til JDK-mappen.
Forbindelse til Android-enhed
For at teste dine apps på en fysisk enhed skal du aktivere Udviklerindstillinger og USB-fejlfinding på din Android-enhed. Processen varierer lidt afhængigt af Android-versionen, men generelt involverer det at trykke gentagne gange på "Build-nummeret" i "Om enhed" for at aktivere udviklermenuen.
Vigtigt: Sørg for, at din enhed er sat til "Filoverførsel" (MTP) eller "Kamera" (PTP) tilstand, når den er tilsluttet computeren, for at RAD Studio kan genkende den.
32-bit vs. 64-bit Android
Siden august 2019 har Google Play Store krævet, at nye apps og opdateringer understøtter 64-bit arkitektur (ARM64). Mens 32-bit (ARMv7) stadig understøttes og giver bredere kompatibilitet med ældre enheder, er det anbefalet at målrette 64-bit for at opfylde de nyeste krav og drage fordel af forbedret ydeevne.

RAD Studio understøtter begge arkitekturer, hvilket giver dig mulighed for at distribuere en APK eller et App Bundle, der indeholder begge versioner.
Avancerede FireMonkey Funktioner og Tips
Brugerdefinerede UI-skabeloner
FireMonkey tilbyder en bred vifte af muligheder for at skabe visuelt tiltalende brugergrænseflader. Du kan nemt tilpasse udseendet af dine apps ved hjælp af TStyleBook-komponenten, som indeholder en samling af stilarter. Der findes mange præ-designede UI-skabeloner, som du kan downloade og tilpasse til dine egne projekter. Disse inkluderer login-skærme, hjemmeskærme, brugerprofiler, indstillingssider og meget mere.
Håndtering af Deployment Manager
Når du udvikler multi-device applikationer, kan du få brug for at tilføje tredjepartsbiblioteker eller ressourcer til din app. Værktøjer som DeployMan af GRIJJY® kan hjælpe med at administrere disse filer i bulk og opdatere projektfilerne (.dproj) automatisk, hvilket sparer dig for manuelt arbejde.
Kloning af FireMonkey Objekter
En nyttig funktion i FireMonkey er muligheden for at klone objekter. Dette kan være særligt nyttigt, når du arbejder med komplekse modeller eller gentagne UI-elementer. Ved at bruge `Clone`-metoden kan du duplikere FireMonkey-objekter, herunder 3D-primitiver og kontroller, uden at påvirke den visuelle grænseflade unødigt. Bemærk dog, at `Parent`-egenskaben typisk ikke klones for at undgå problemer med sceneropbygning.
Native Controls
FireMonkey understøtter brugen af native controls, hvilket betyder, at dine applikationer kan benytte sig af det native udseende og følelse af de underliggende platforme. Dette opnås ved at sætte `ControlType`-egenskaben for visse komponenter til `Platform`. Bemærk, at denne funktion primært understøttes på iOS og Windows.

Liste-visninger med Tilpasning
For at vise data effektivt i moderne applikationer, tilbyder FireMonkey avancerede komponenter som TListView. Du kan tilpasse udseendet af listeelementer, f.eks. ved at inkludere thumbnails og tekst. Desuden kan du implementere funktionalitet som "selection edit mode", der giver brugerne mulighed for at vælge flere elementer samtidigt, hvilket forbedrer brugeroplevelsen markant.
FireMonkey for Linux
Med introduktionen af Delphi Linux compileren er det nu muligt at bygge Linux GUI-applikationer ved hjælp af FireMonkey. Dette udvider yderligere frameworkets rækkevidde. FMX Linux, som er tilgængelig som en gratis prøveversion, giver dig mulighed for at udvikle cross-platform applikationer med kode, der er fuldt kompatibel med andre platforme.
Bundling med RAD Studio: FireMonkey for Linux er nu inkluderet for alle Delphi Enterprise og Architect kunder, hvilket gør det endnu nemmere at skabe GUI-applikationer til Linux-klienter.
Ofte Stillede Spørgsmål (FAQ)
Kan FireMonkey køre på alle platforme?
FireMonkey er designet til at understøtte flere platforme, herunder Windows, macOS, iOS og Android. Mens det giver en høj grad af cross-platform kompatibilitet, kan der være visse platform-specifikke hensyn at tage, især med hensyn til native controls.

Hvad er forskellen på SDK og NDK for Android-udvikling?
Android SDK indeholder de grundlæggende værktøjer og biblioteker til at bygge Android-apps. Android NDK bruges specifikt til at skrive dele af din app i C/C++ for at opnå bedre ydeevne eller integrere native biblioteker. SDK er obligatorisk for alle Android-apps, mens NDK er valgfrit og kun nødvendigt for specifikke use cases.
Hvordan tilføjer jeg filer til deployment manager?
Du kan administrere filer og ressourcer til din app via RAD Studios Deployment Manager. Værktøjer som DeployMan kan automatisere denne proces for tredjepartsbiblioteker og andre ressourcer.
Hvad er fordelene ved at bruge FireMonkey?
De primære fordele er høj udviklingshastighed på tværs af platforme, muligheden for at skabe visuelt tiltalende og brugerdefinerede brugergrænseflader, og en ensartet kodebase for forskellige operativsystemer.
FireMonkey-frameworket repræsenterer en kraftfuld løsning for moderne app-udvikling. Ved at udnytte dets cross-platform-kapaciteter og de mange tilgængelige værktøjer og ressourcer, kan udviklere effektivt skabe imponerende applikationer til et bredt spektrum af enheder.
Hvis du vil læse andre artikler, der ligner FireMonkey: Skab Apps til Alle Platforme, kan du besøge kategorien Teknologi.
