Introducció
FireMonkey (FMX) és un framework de desenvolupament d'aplicacions multiplataforma proporcionat per Delphi. Permet crear aplicacions que poden executar-se en diverses plataformes com Windows, macOS, iOS i Android amb un sol codi base. En aquest tema, explorarem com utilitzar FMX per desenvolupar aplicacions multiplataforma.
Objectius
- Entendre els conceptes bàsics de FireMonkey (FMX).
- Aprendre a crear i configurar projectes FMX.
- Desenvolupar interfícies d'usuari multiplataforma.
- Gestionar esdeveniments i interaccions d'usuari.
- Compilar i desplegar aplicacions en diferents plataformes.
Conceptes Bàsics de FireMonkey (FMX)
Característiques Clau de FMX
- Multiplataforma: Permet desenvolupar aplicacions per a Windows, macOS, iOS i Android.
- Interfície d'Usuari Rica: Suporta gràfics 2D i 3D, animacions i efectes visuals.
- Components Visuals: Proporciona una àmplia gamma de components visuals per construir interfícies d'usuari.
- Estils Personalitzables: Permet personalitzar l'aparença de les aplicacions amb estils.
Estructura d'un Projecte FMX
Un projecte FMX típic inclou:
- Unitats de Codi: Contenen el codi Pascal que defineix la lògica de l'aplicació.
- Formularis: Defineixen la interfície d'usuari de l'aplicació.
- Fitxers de Recursos: Inclouen imatges, icones i altres recursos necessaris per a l'aplicació.
Creació d'un Projecte FMX
Pas 1: Crear un Nou Projecte FMX
- Obre Delphi.
- Selecciona File > New > Multi-Device Application - Delphi.
- Tria un tipus de plantilla (per exemple, Blank Application).
- Fes clic a OK.
Pas 2: Configurar el Projecte
- A la finestra del projecte, selecciona les plataformes de destinació (Windows, macOS, iOS, Android).
- Configura les propietats del projecte, com el nom, la versió i les icones.
Pas 3: Dissenyar la Interfície d'Usuari
- Arrossega i deixa anar components visuals des de la paleta de components al formulari.
- Configura les propietats dels components (per exemple, Text, Color, Align).
Exemple de Codi: Crear un Botó que Mostra un Missatge
unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Hola, món!'); end; end.
Explicació del Codi
- unit Unit1: Defineix una unitat de codi.
- TForm1 = class(TForm): Defineix una classe de formulari.
- Button1Click: Procediment que es crida quan es fa clic al botó.
- ShowMessage: Mostra un missatge emergent.
Compilació i Desplegament
Compilar per a Diferents Plataformes
- Selecciona la plataforma de destinació des del menú desplegable de la barra d'eines.
- Fes clic a Run per compilar i executar l'aplicació.
Desplegar a Dispositius Mòbils
- Connecta el dispositiu mòbil al teu ordinador.
- Configura les opcions de desplegament (per exemple, certificats per a iOS).
- Fes clic a Run per desplegar l'aplicació al dispositiu.
Exercicis Pràctics
Exercici 1: Crear una Aplicació de Calculadora Senzilla
- Crea un nou projecte FMX.
- Dissenya una interfície d'usuari amb botons per als números i operacions bàsiques (+, -, *, /).
- Implementa la lògica per realitzar les operacions matemàtiques.
Exercici 2: Desenvolupar una Aplicació de Llista de Tasques
- Crea un nou projecte FMX.
- Dissenya una interfície d'usuari amb un camp de text per afegir tasques i una llista per mostrar-les.
- Implementa la funcionalitat per afegir, eliminar i marcar tasques com a completades.
Solucions als Exercicis
Solució a l'Exercici 1
// Implementació de la lògica de la calculadora procedure TForm1.ButtonAddClick(Sender: TObject); begin Result := StrToFloat(Edit1.Text) + StrToFloat(Edit2.Text); LabelResult.Text := FloatToStr(Result); end;
Solució a l'Exercici 2
// Implementació de la lògica de la llista de tasques procedure TForm1.ButtonAddTaskClick(Sender: TObject); begin ListBox1.Items.Add(EditTask.Text); EditTask.Text := ''; end; procedure TForm1.ButtonDeleteTaskClick(Sender: TObject); begin ListBox1.Items.Delete(ListBox1.ItemIndex); end;
Resum
En aquest tema, hem après a utilitzar FireMonkey (FMX) per desenvolupar aplicacions multiplataforma amb Delphi. Hem explorat com crear i configurar projectes FMX, dissenyar interfícies d'usuari, gestionar esdeveniments i desplegar aplicacions en diferents plataformes. Els exercicis pràctics proporcionats ajuden a consolidar els conceptes apresos i a desenvolupar habilitats pràctiques en el desenvolupament d'aplicacions multiplataforma.
Curs de Programació Delphi/Object Pascal
Mòdul 1: Introducció a Delphi/Object Pascal
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment