sgcUI auf Linux64 mit FMXLinux: Grids, Diagramme, Gauges und komplette Anwendungen für den Linux-Desktop

· Komponenten
sgcUI auf Linux64 mit FMXLinux: Grids, Diagramme, Gauges und komplette Anwendungen für den Linux-Desktop
>_ Neu · sgcUI auf Linux64

Ihre Delphi-Desktop-Anwendung.
Jetzt auf Linux.

Mit installiertem FMXLinux laufen die sgcUI-FireMonkey-Steuerelemente in echten Desktop-Anwendungen auf Linux64. Dieselben Formulare und derselbe Code, den Sie auch unter Windows und macOS ausliefern, mit demselben Aussehen.

  • Delphi
  • FireMonkey
  • FMXLinux
  • Linux64
  • Ubuntu 22.04 oder neuer
Eine mit sgcUI gebaute Trading-Desk-Anwendung auf einem Linux-Desktop: Watchlist-Grid, Candlestick-Diagramm, Sektor-Treemap und Gauges in einem dunklen Theme
274Linux64-Demos
17UI-Produkte
5FireMonkey-Plattformen
1Codebasis

Linux war für Delphi-Desktop-Entwickler schon immer die schwierige Plattform. Der Compiler unterstützt Linux64, aber eine visuelle Anwendung braucht FireMonkey, und FireMonkey unter Linux braucht das Add-on FMXLinux. Bisher bot sgcUI Linux64 nur für die nicht visuellen Teile an: Datenmodelle, Import und Export sowie das Rendern ohne Fenster nach PNG und SVG.

Das ändert sich heute. Mit in der IDE installiertem FMXLinux werden die sgcUI-FireMonkey-Steuerelemente auf Linux64 kompiliert und ausgeführt: das Daten-Grid, die Diagramme, die Gauges, die Dashboards, der Planer, die Karten, die Diagramme und der Rest der Suite. Jeder Screenshot in diesem Artikel wurde unter Ubuntu aufgenommen, aus denselben Demoprojekten, die auch unter Windows und macOS laufen.

sgcUI auf Linux64 in einer Minute, aufgenommen aus den echten Demos unter Ubuntu. Auch auf YouTube.

Komplette Anwendungen, nicht nur Steuerelemente

Eine UI-Suite beurteilt man am besten anhand kompletter Anwendungen. Genau das sind die sgcUI-Suite-Demos: Jede kombiniert ein Dutzend Produkte zu einem Programm mit Navigation, Live-Daten und mehreren Seiten. Alle laufen jetzt unverändert auf Linux64.

Ein Trading Desk

Die Demo Markets wird von einem Simulator gespeist, der etwa 1.000 Aktualisierungen pro Sekunde sendet. Das Watchlist-Grid blinkt rot und grün, wenn sich die Kurse bewegen, das Candlestick-Diagramm zeigt Bollinger-Bänder, gleitende Durchschnitte, Volumen und RSI-Bereiche, und eine Sektor-Treemap zeigt, wohin sich der Markt entwickelt.

Candlestick-Analysediagramm mit Indikatoren unter Linux
Analysediagramm mit Indikatoren
Markt-Heatmap nach Sektoren unter Linux
Markt-Heatmap nach Sektoren

Eine Fabrik-Leitwarte

Die Demo Factory ist eine HMI für eine Abfüllanlage. Sie zeigt OEE-Karten, einen Flaschenzähler mit Siebensegmentanzeige, den Prozessablauf der Linie mit animierten Verbindungen, ein Meldetableau, radiale und lineare Gauges sowie einen Live-Trend von zwölf Sensoren mit Alarmgrenzen.

Factory-HMI unter Linux: OEE-Karten, Flaschenzähler, Prozessablaufdiagramm, Meldetableau und Gauges in einem dunklen Theme
Die Linienübersicht der Demo Factory unter Ubuntu: Prozessdiagramm, Meldungen, Gauges und Zähler.
Anlagendetailseite mit drei großen Gauges für eine Pumpe
Anlagendetail mit Live-Gauges
Karte der Werke mit Produktions- und Energiekennzahlen
Werke auf der Karte

Fleet, ERP und Projektportfolio

Die Demo Fleet verfolgt 48 Fahrzeuge auf einer Karte von Spanien und Portugal, mit Routen, Stopps, einem Fahrzeug-Grid und einer Alarmliste. Die Demo ERP öffnet mit einem Dashboard aus KPI-Karten, Diagrammen, einem Gauge und einer Kundenkarte und führt weiter zu Seiten für Kunden, Planung, Berichte und Analysen. Die Demo Portfolio plant 12 Projekte und 520 Aufgaben in einem Gantt-Diagramm mit kritischem Pfad.

Flottenanwendung unter Linux: KPI-Karten, eine Karte mit Fahrzeugen und Routen, ein Fahrzeug-Grid und Alarme
Live-Flottenbetrieb: KPI-Karten, die Karte mit Fahrzeugen und Routen und zwei Grids.
ERP-Dashboard mit KPI-Karten, Diagrammen, einem Gauge und einer Karte
ERP-Dashboard
Wochenkalender der Lieferungen, nach Fahrern eingefärbt
Lieferplanungskalender
Projektportfolio-Übersicht mit Gauges, einem Blasendiagramm, einer Karte und einer Treemap
Portfolio-Übersicht
Portfolio-Gantt-Diagramm mit dem kritischen Pfad
Portfolio-Gantt mit kritischem Pfad
Hub-Netzwerk als Diagramm mit farbigen Bahnen
Hub-Netzwerkdiagramm
An ein Dataset gebundenes Organigramm
Organigramm aus einem Dataset

Was sgcUI auf den Linux-Desktop bringt

sgcUI ist eine Suite nativer UI-Produkte, die einen gemeinsamen Kern, eine Theme-Engine und eine einheitliche Arbeitsweise teilen. Auf Linux64 stehen die FireMonkey-Steuerelemente der gesamten Suite zur Verfügung:

sgcCharts unter Linux: Bereichsfläche, Linie und Balken mit einem Zielband
sgcCharts
sgcGauges-Galerie unter Linux: radiale, Ring-, Kompass-, Uhr-, Digital- und LED-Gauges
sgcGauges
sgcPlanner-Gantt unter Linux mit Verknüpfungen, Baseline und kritischem Pfad
sgcPlanner Gantt
sgcPivotGrid unter Linux mit Heatmap-Zellen und einer Feldliste
sgcPivotGrid
sgcMaps unter Linux mit einem Ebenenbereich, Zoom-Schaltflächen und einem Maßstabsbalken
sgcMaps
Treemap- und Trichterdiagramme unter Linux
Treemap und Trichter

Das Grid verdient ein eigenes Bild. Das ist die Demo FilterAndFind mit 100.000 Zeilen unter Ubuntu, mit Filterschaltflächen in den Kopfzeilen, einer Filterzeile und dem Feld “Ask the grid”. Das Mausrad scrollt es flüssig, und Strg+Ende springt direkt zu Zeile 100.000.

sgcGrid mit 100.000 Zeilen unter Linux, mit Kopfzeilenfiltern und einer Filterzeile
sgcGrid mit 100.000 Zeilen unter Ubuntu.

Was Sie benötigen

sgcUI auf Linux64 wurde mit Delphi 13 und FMXLinux 1.84 unter Ubuntu 22.04 und Ubuntu 24.04 getestet.

Ihre erste Linux64-Anwendung erstellen

1FMXLinux installierenÜber GetIt, direkt in der IDE
2Linux verbindenPAServer und das Linux-SDK
3Plattform hinzufügenLinux 64-bit in Ihrem FireMonkey-Projekt
4StartenDasselbe Formular, auf dem Linux-Desktop
  1. Installieren Sie FMXLinux über GetIt und starten Sie die IDE neu.
  2. Starten Sie PAServer auf dem Linux-Rechner, legen Sie in der IDE ein Verbindungsprofil an und importieren Sie das Linux-SDK, wie bei jedem Delphi-Linux64-Projekt.
  3. Fügen Sie den sgcUI-Ordner Source zum Bibliothekspfad für Linux 64-bit hinzu (Tools, Options, Language, Delphi, Library), damit der Compiler die sgcUI-Units für diese Plattform findet.
  4. Öffnen oder erstellen Sie eine FireMonkey-Anwendung, fügen Sie im Fenster Projekte die Zielplattform Linux 64-bit hinzu und wählen Sie sie aus.
  5. Platzieren Sie die sgcUI-Steuerelemente auf dem Formular und starten Sie die Anwendung. Die IDE kompiliert das Projekt, überträgt es über PAServer und startet es auf dem Linux-Desktop.

Es ist kein Linux-spezifischer Code zu schreiben. Das ist der vollständige Quellcode des Hello-Grid-Schnellstarts, ein Formular mit einem TsgcFMXGrid, dessen drei Spalten im Designer definiert sind:

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;

Ein Diagramm funktioniert genauso. Ein TsgcFMXChart-Steuerelement zeichnet eine TsgcChart-Komponente, und jede Serie ist ebenfalls eine Komponente, hier eine TsgcChartSeries_Line. Der einzige Code fügt die Punkte hinzu:

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;

Wählen Sie im Fenster Projekte Windows, macOS oder Linux 64-bit aus, und dieselben beiden Formulare laufen auf jeder dieser Plattformen.

Vom Formular zur anspruchsvollen Anwendung

Die oben gezeigten Suite-Demos sind aus denselben Bausteinen gebaut, und ihr Quellcode wird mit sgcUI geliefert. Diese Ideen machen eine große Linux64-Anwendung beherrschbar:

Jetzt ausprobieren: 274 kompilierte Linux64-Demos

Sie brauchen weder Delphi noch FMXLinux noch eine Lizenz, um sgcUI unter Linux laufen zu sehen. Die FireMonkey-Demos aller Produkte, insgesamt 274 Programme, sind für Linux64 kompiliert und in einem Archiv gepackt:

sgcUI_bin_linux64.tar.xz herunterladen

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

Die Demos laufen unter Ubuntu 22.04 oder neuer und auf anderen Distributionen mit glibc 2.34 oder neuer und GTK3, auf einem X11- oder XWayland-Display. Die Demos mit Online-Karten benötigen zusätzlich libcurl und eine Internetverbindung. Die README.txt im Archiv enthält die Details.

Gut zu wissen. Drucken auf einem Drucker, Unterstützung für Screenreader und die benutzerdefinierte Fenstertitelleiste sind unter Linux64 nicht verfügbar, und schwebende Docking-Panels sind dort deaktiviert. Alles andere in den FireMonkey-Steuerelementen ist derselbe Code wie auf den anderen Plattformen. Die sgcUI-Seite und das Hilfethema Platforms listen die Details auf.

Eine Codebasis, jeder Desktop

Windows, macOS und jetzt Linux64, mit denselben FireMonkey-Formularen und denselben sgcUI-Steuerelementen. Laden Sie die kompilierten Demos herunter und sehen Sie sie auf Ihrem eigenen Linux-Desktop laufen.

Fragen oder Feedback? Nehmen Sie Kontakt auf, Sie erhalten eine Antwort von den Menschen, die den Code geschrieben haben.