sgcUI su Linux64 con FMXLinux: griglie, grafici, indicatori e applicazioni complete per il desktop Linux

· Componenti
sgcUI su Linux64 con FMXLinux: griglie, grafici, indicatori e applicazioni complete per il desktop Linux
>_ Novità · sgcUI su Linux64

La tua applicazione desktop Delphi.
Ora su Linux.

Con FMXLinux installato, i controlli FireMonkey di sgcUI funzionano in vere applicazioni desktop su Linux64. Gli stessi form e lo stesso codice che distribuisci su Windows e macOS, con lo stesso aspetto.

  • Delphi
  • FireMonkey
  • FMXLinux
  • Linux64
  • Ubuntu 22.04 o successivo
Un'applicazione di trading desk creata con sgcUI in esecuzione su un desktop Linux: griglia della watchlist, grafico a candele, treemap dei settori e indicatori in un tema scuro
274demo Linux64
17prodotti UI
5piattaforme FireMonkey
1base di codice

Linux è sempre stata la piattaforma più difficile per gli sviluppatori desktop Delphi. Il compilatore supporta Linux64, ma un'applicazione visuale richiede FireMonkey, e FireMonkey su Linux richiede il componente aggiuntivo FMXLinux. Finora sgcUI offriva Linux64 solo per le parti non visuali: modelli di dati, importazione ed esportazione, e rendering headless in PNG e SVG.

Oggi questo cambia. Con FMXLinux installato nell'IDE, i controlli FireMonkey di sgcUI si compilano ed eseguono su Linux64: la griglia dati, i grafici, gli indicatori, le dashboard, il planner, le mappe, i diagrammi e il resto della suite. Ogni schermata di questo articolo è stata catturata su Ubuntu, dagli stessi progetti demo che funzionano su Windows e macOS.

sgcUI su Linux64 in un minuto, registrato dalle demo reali in esecuzione su Ubuntu. Anche su YouTube.

Applicazioni complete, non solo controlli

Il modo migliore per giudicare una suite UI è guardare applicazioni complete. Le demo della Suite sgcUI sono proprio questo: ciascuna combina una dozzina di prodotti in un unico programma con navigazione, dati in tempo reale e più pagine. Ora funzionano tutte su Linux64, senza modifiche.

Un trading desk

La demo Markets è alimentata da un simulatore che invia circa 1.000 aggiornamenti al secondo. La griglia della watchlist lampeggia in rosso e verde al variare dei prezzi, il grafico a candele include bande di Bollinger, medie mobili, volumi e pannelli RSI, e una treemap dei settori mostra dove sta andando il mercato.

Grafico di analisi a candele con indicatori su Linux
Grafico di analisi con indicatori
Mappa di calore del mercato per settore su Linux
Mappa di calore del mercato per settore

Una sala di controllo di fabbrica

La demo Factory è un HMI per un impianto di imbottigliamento. Mostra schede OEE, un contatore di bottiglie a sette segmenti, il flusso di processo della linea con connettori animati, un pannello di segnalazione, indicatori radiali e lineari e un andamento in tempo reale di dodici sensori con limiti di allarme.

HMI di fabbrica su Linux: schede OEE, contatore di bottiglie, diagramma del flusso di processo, pannello di segnalazione e indicatori in un tema scuro
La panoramica della linea nella demo Factory su Ubuntu: diagramma di processo, segnalatori, indicatori e contatori.
Pagina di dettaglio di un asset con tre grandi indicatori per una pompa
Dettaglio dell'asset con indicatori in tempo reale
Mappa degli stabilimenti con dati di produzione ed energia
Gli stabilimenti sulla mappa

Fleet, ERP e portafoglio progetti

La demo Fleet segue 48 veicoli su una mappa di Spagna e Portogallo, con percorsi, soste, una griglia dei veicoli e un elenco di avvisi. La demo ERP si apre con una dashboard di schede KPI, grafici, un indicatore e una mappa dei clienti, e prosegue con pagine di clienti, pianificazione, report e analisi. La demo Portfolio pianifica 12 progetti e 520 attività in un diagramma di Gantt con il percorso critico.

Applicazione di gestione della flotta su Linux: schede KPI, una mappa con veicoli e percorsi, una griglia dei veicoli e avvisi
Gestione della flotta in tempo reale: schede KPI, la mappa con veicoli e percorsi, e due griglie.
Dashboard ERP con schede KPI, grafici, un indicatore e una mappa
Dashboard ERP
Calendario settimanale delle consegne colorato per autista
Calendario di pianificazione delle consegne
Panoramica del portafoglio progetti con indicatori, un grafico a bolle, una mappa e una treemap
Panoramica del portafoglio
Diagramma di Gantt del portafoglio con il percorso critico
Gantt del portafoglio con percorso critico
Rete di hub disegnata come diagramma con corsie colorate
Diagramma della rete di hub
Organigramma collegato a un dataset
Organigramma da un dataset

Cosa porta sgcUI sul desktop Linux

sgcUI è una suite di prodotti UI nativi che condividono un unico core, un unico motore di temi e un unico modo di lavorare. Su Linux64 sono disponibili i controlli FireMonkey dell'intera suite:

sgcCharts su Linux: area con intervallo, linea e barre con una banda obiettivo
sgcCharts
Galleria di sgcGauges su Linux: indicatori radiali, ad anello, bussola, orologio, digitali e LED
sgcGauges
Gantt di sgcPlanner su Linux con collegamenti, baseline e percorso critico
Gantt di sgcPlanner
sgcPivotGrid su Linux con celle a mappa di calore e un elenco dei campi
sgcPivotGrid
sgcMaps su Linux con un pannello dei livelli, pulsanti di zoom e una barra di scala
sgcMaps
Grafici treemap e a imbuto su Linux
Treemap e imbuto

La griglia merita una sua immagine. Questa è la demo FilterAndFind con 100.000 righe su Ubuntu, con pulsanti di filtro nelle intestazioni, una riga di filtro e la casella “Ask the grid”. La rotellina del mouse la scorre in modo fluido e Ctrl+Fine salta direttamente alla riga 100.000.

sgcGrid con 100.000 righe su Linux, con filtri nelle intestazioni e una riga di filtro
sgcGrid con 100.000 righe su Ubuntu.

Cosa serve

sgcUI su Linux64 è stato testato con Delphi 13 e FMXLinux 1.84 su Ubuntu 22.04 e Ubuntu 24.04.

Crea la tua prima applicazione Linux64

1Installa FMXLinuxDa GetIt, dentro l'IDE
2Collega LinuxPAServer e l'SDK Linux
3Aggiungi la piattaformaLinux 64-bit nel tuo progetto FireMonkey
4EseguiLo stesso form, sul desktop Linux
  1. Installa FMXLinux da GetIt e riavvia l'IDE.
  2. Avvia PAServer sulla macchina Linux, crea un profilo di connessione nell'IDE e importa l'SDK Linux, come per qualsiasi progetto Delphi Linux64.
  3. Aggiungi la cartella Source di sgcUI al percorso delle librerie Linux 64-bit (Tools, Options, Language, Delphi, Library), in modo che il compilatore trovi le unit di sgcUI per quella piattaforma.
  4. Apri o crea un'applicazione FireMonkey, aggiungi la piattaforma di destinazione Linux 64-bit nella finestra Projects e selezionala.
  5. Inserisci i controlli sgcUI nel form ed esegui. L'IDE compila il progetto, lo distribuisce tramite PAServer e lo avvia sul desktop Linux.

Non c'è nessun codice specifico per Linux da scrivere. Questo è il sorgente completo della guida rapida Hello Grid, un form con un solo TsgcFMXGrid le cui tre colonne sono definite nel designer:

uses
  System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Forms,
  // sgc
  sgcGrid_Data, sgcGrid_FMX;

procedure TfrmHelloGrid.FormCreate(Sender: TObject);
begin
  { BeginUpdate / EndUpdate repaint the grid once, after the last row }
  Grid.Data.BeginUpdate;
  try
    { AppendRow(Key, [City, Country, Population]) }
    Grid.Data.AppendRow('Madrid', ['Madrid', 'Spain', 3416771]);
    Grid.Data.AppendRow('Paris', ['Paris', 'France', 2102650]);
    Grid.Data.AppendRow('Berlin', ['Berlin', 'Germany', 3755251]);
    Grid.Data.AppendRow('Rome', ['Rome', 'Italy', 2749031]);
  finally
    Grid.Data.EndUpdate;
  end;
end;

Un grafico funziona allo stesso modo. Un controllo TsgcFMXChart disegna un componente TsgcChart, e anche ogni serie è un componente, qui un TsgcChartSeries_Line. L'unico codice aggiunge i punti:

uses
  // sgc
  sgcCharts_Chart, sgcCharts_Series, sgcCharts_FMX;

const
  CS_VISITS: array [0 .. 6] of Integer = (420, 515, 480, 610, 590, 380, 350);

procedure TfrmHelloChart.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  { X is the day, Y the visitors. The chart repaints by itself }
  for i := Low(CS_VISITS) to High(CS_VISITS) do
    serVisits.AddXY(i + 1, CS_VISITS[i]);
end;

Seleziona Windows, macOS o Linux 64-bit nella finestra Projects e gli stessi due form vengono eseguiti su ciascuna di esse.

Da un form a un'applicazione avanzata

Le demo della Suite viste sopra sono costruite con gli stessi elementi e il loro codice sorgente è incluso in sgcUI. Queste sono le idee che rendono gestibile una grande applicazione Linux64:

Provalo subito: 274 demo Linux64 compilate

Non servono Delphi, FMXLinux né una licenza per vedere sgcUI in esecuzione su Linux. Le demo FireMonkey di ogni prodotto, 274 programmi in totale, sono compilate per Linux64 e raccolte in un unico archivio:

Scarica sgcUI_bin_linux64.tar.xz

tar -xJf sgcUI_bin_linux64.tar.xz
./run.sh              # choose a demo from the list
./run.sh Charts       # only the demos of one product

# or start one demo directly
cd Grid/FilterAndFind
GDK_BACKEND=x11 ./FilterAndFindFMX

Le demo funzionano su Ubuntu 22.04 o successivo e su altre distribuzioni con glibc 2.34 o successiva e GTK3, su un display X11 o XWayland. Le demo con mappe online richiedono anche libcurl e una connessione a Internet. Il file README.txt nell'archivio contiene i dettagli.

Da sapere. La stampa su stampante, il supporto agli screen reader e la barra del titolo personalizzata della finestra non sono disponibili su Linux64, e i pannelli di docking mobili sono disabilitati. Tutto il resto dei controlli FireMonkey usa lo stesso codice delle altre piattaforme. La pagina di sgcUI e l'argomento Platforms della guida ne elencano i dettagli.

Una sola base di codice, ogni desktop

Windows, macOS e ora Linux64, con gli stessi form FireMonkey e gli stessi controlli sgcUI. Scarica le demo compilate e guardale in esecuzione sul tuo desktop Linux.

Domande o commenti? Contattaci, riceverai una risposta da chi ha scritto il codice.