¿Qué es FireMonkey y cómo funciona en el desarrollo de aplicaciones?

| Última modificación: 3 de febrero de 2025 | Tiempo de Lectura: 3 minutos
0
(0)

Algo que me parecía realmente engorroso cuando tenía que desarrollar aplicaciones, era tener que escribir código diferente para cada plataforma. A ver, estamos hablando de que Android tiene su propio sistema, iOS tiene otro, Windows ni se diga. Realmente estaba anhelando una solución caída del cielo y llegó: FireMonkey es un framework tan especial, que con un solo código, te deja desarrollar aplicaciones nativas para Windows, macOS, Linux, Android e iOS.

A mí me facilitó tanto la vida, que me he propuesto explicarte no solo qué es, sino su funcionamiento y usos en el desarrollo de aplicaciones.

qué es FireMonkey

¿Qué es FireMonkey?

FireMonkey nació como VGScene, un proyecto de la empresa rusa KSDev. En 2011, Embarcadero Technologies lo compró e integró en su entorno de desarrollo RAD Studio (que incluye Delphi y C++Builder), dándole el nombre de FireMonkey.

La idea detrás de este framework es facilitar el desarrollo de aplicaciones que funcionen en varias plataformas sin necesidad de escribir código diferente para cada una. Esto ahorra tiempo y recursos a los desarrolladores, ya que pueden usar una sola base de código para distintos sistemas operativos.

Además, está diseñado para aprovechar la aceleración por hardware de las tarjetas gráficas modernas, para que las interfaces queden visualmente más atractivas y dinámicas.

Características

  • Multiplataforma: Crea aplicaciones para Windows, macOS, Linux, Android e iOS.
  • Gráficos acelerados: Usa GPU y OpenGL para interfaces rápidas y fluidas.
  • Controles nativos: En Windows e iOS, los componentes pueden adoptar el aspecto del sistema operativo.
  • Desarrollo RAD: Permite diseñar visualmente las interfaces en Delphi y C++Builder.
  • Soporte para Python: También puede integrarse con Python, ampliando su potencial.

Crea tu primera aplicación con FireMonkey

Aquí vinimos fue a practicar, así que voy a dejarte un ejemplo para que empieces a usar este framework ya mismo:

Ejemplo:

Tendrás que crear una ventana con un botón en FireMonkey (Delphi)

Mira que este código crea una ventana con un botón y muestra un mensaje cuando el usuario hace clic.

unit Unit1;

interface

uses
System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Forms, FMX.StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('¡Hola desde FireMonkey!');
end;

end.

Si quieres probarlo en tu PC, descarga Delphi Community Edition o Lazarus y copia este código.

¿Cómo funciona en el desarrollo de aplicaciones?

Te decía que con FireMonkey podrás desarrollar aplicaciones en diferentes áreas. De hecho, te dejo algunos ejemplos con código para que puedas experimentarlo tú mismo.

Aplicaciones móviles y de escritorio

FireMonkey te facilita la creación de apps móviles para Android e iOS, así como software de escritorio para Windows, Linux y macOS.

Ejemplo:

Te enseño cómo crear una aplicación de notas con FireMonkey.

Notarás que este código crea una aplicación básica de notas, en la que puedes escribir y guardar texto en un archivo.

unit Unit1;

interface

uses
System.SysUtils, System.Classes, FMX.Forms, FMX.StdCtrls, FMX.Memo, FMX.Controls;

type
TForm1 = class(TForm)
Memo1: TMemo;
ButtonSave: TButton;
procedure ButtonSaveClick(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.ButtonSaveClick(Sender: TObject);
begin
Memo1.Lines.SaveToFile('nota.txt');
ShowMessage('Nota guardada con éxito.');
end;

end.

Creación de interfaces visuales avanzadas

Lo bueno es que este framework también soporta animaciones, efectos 3D y gráficos avanzados para interfaces modernas.

Ejemplo:

Crea una animación con FireMonkey.

Este código crea un círculo animado que cambia de tamaño automáticamente.

unit Unit1;

interface

uses
System.SysUtils, System.Classes, FMX.Forms, FMX.StdCtrls, FMX.Objects, FMX.Ani;

type
TForm1 = class(TForm)
Circle1: TCircle;
FloatAnimation1: TFloatAnimation;
end;

var
Form1: TForm1;

implementation

{$R *.fmx}

end.

Aplicaciones con bases de datos

Puedes conectar FireMonkey con bases de datos como SQLite, MySQL y PostgreSQL para crear aplicaciones empresariales.

Ejemplo:

Vas a conectar FireMonkey con una base de datos SQLite

Este código recupera datos de una base de datos SQLite y los muestra en consola.

uses
FireDAC.Comp.Client, FireDAC.Stan.Def, FireDAC.Phys.SQLite, FireDAC.DApt;

var
Conexion: TFDConnection;
Consulta: TFDQuery;

begin
Conexion := TFDConnection.Create(nil);
try
Conexion.DriverName := 'SQLite';
Conexion.Params.Database := 'mi_base.db';
Conexion.Connected := True;

Consulta := TFDQuery.Create(nil);
Consulta.Connection := Conexion;
Consulta.SQL.Text := 'SELECT nombre FROM usuarios';
Consulta.Open;

while not Consulta.Eof do
begin
WriteLn('Usuario: ' + Consulta.FieldByName('nombre').AsString);
Consulta.Next;
end;
finally
Consulta.Free;
Conexion.Free;
end;
end.

Personalización de interfaces

Otra cosa que puedes hacer es personalizar la apariencia de los componentes para adaptarlos a diferentes estilos de aplicación.

Ejemplo:

Quiero que modifiques la apariencia de un ListView.

Esto personaliza el ListView para mostrar una lista con detalles adicionales en la derecha.

ListView1.ItemAppearance := 'ListItemRightDetail';
ListView1.Items.Add.Text := 'Contacto 1';
ListView1.Items.Add.Text := 'Contacto 2';

Queremos que aprendas a desarrollar aplicaciones con tecnologías actuales, por eso creamos el Bootcamp de Desarrollo Web de KeepCoding, donde te enseñamos desde los fundamentos hasta el desarrollo avanzado con herramientas modernas. ¡Inscríbete y da el siguiente paso en tu carrera tecnológica!

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado

Conviértete en Full Stack Deeveloper en solo 10 meses. Accede a un sector con el 98,49% de empleabilidad con sueldos de hasta 80K.