Linux64 üzerinde FMXLinux ile sgcUI: Linux Masaüstü için Grid'ler, Grafikler, Göstergeler ve Tam Uygulamalar

· Bileşenler
Linux64 üzerinde FMXLinux ile sgcUI: Linux Masaüstü için Grid'ler, Grafikler, Göstergeler ve Tam Uygulamalar
>_ Yeni · Linux64 üzerinde sgcUI

Delphi masaüstü uygulamanız.
Artık Linux'ta.

FMXLinux kurulu olduğunda, sgcUI FireMonkey kontrolleri Linux64 üzerinde gerçek masaüstü uygulamalarında çalışır. Windows ve macOS için yayınladığınız aynı formlar ve aynı kod, aynı görünümle.

  • Delphi
  • FireMonkey
  • FMXLinux
  • Linux64
  • Ubuntu 22.04 veya üzeri
Linux masaüstünde çalışan, sgcUI ile geliştirilmiş bir trading masası uygulaması: koyu temada izleme listesi grid'i, mum grafiği, sektör treemap'i ve göstergeler
274Linux64 demosu
17UI ürünü
5FireMonkey platformu
1kod tabanı

Linux, Delphi masaüstü geliştiricileri için her zaman zor bir platform oldu. Derleyici Linux64'ü hedefleyebilir, ancak görsel bir uygulama FireMonkey gerektirir ve Linux üzerinde FireMonkey için FMXLinux eklentisi gerekir. Şimdiye kadar sgcUI, Linux64'ü yalnızca görsel olmayan parçalar için sunuyordu: veri modelleri, içe ve dışa aktarma, ayrıca PNG ve SVG'ye arayüzsüz çizim.

Bu bugün değişiyor. IDE'de FMXLinux kurulu olduğunda, sgcUI FireMonkey kontrolleri Linux64 üzerinde derlenir ve çalışır: veri grid'i, grafikler, göstergeler, dashboard'lar, planlayıcı, haritalar, diyagramlar ve paketin geri kalanı. Bu makaledeki her ekran görüntüsü Ubuntu üzerinde, Windows ve macOS'ta çalışan aynı demo projelerinden alındı.

Bir dakikada Linux64 üzerinde sgcUI, Ubuntu'da çalışan gerçek demolardan kaydedildi. YouTube'da da izleyin.

Yalnızca Kontroller Değil, Tam Uygulamalar

Bir UI paketini değerlendirmenin en iyi yolu, tam uygulamalara bakmaktır. sgcUI Suite demoları tam olarak bunlardır: her biri bir düzineyi aşkın ürünü gezinme, canlı veri ve birkaç sayfa içeren tek bir programda birleştirir. Hepsi artık Linux64 üzerinde, değiştirilmeden çalışıyor.

Bir Trading Masası

Markets demosu, saniyede yaklaşık 1.000 güncelleme gönderen bir simülatörle beslenir. İzleme listesi grid'i fiyatlar değiştikçe kırmızı ve yeşil yanıp söner, mum grafiği Bollinger bantları, hareketli ortalamalar, hacim ve RSI panelleri taşır, sektör treemap'i ise piyasanın nereye gittiğini gösterir.

Linux üzerinde göstergeli mum analiz grafiği
Göstergeli analiz grafiği
Linux üzerinde sektörlere göre piyasa ısı haritası
Sektörlere göre piyasa ısı haritası

Bir Fabrika Kontrol Odası

Factory demosu, bir şişeleme tesisi için HMI'dır. OEE kartlarını, yedi segmentli bir şişe sayacını, animasyonlu bağlantılarla hattın proses akışını, bir alarm paneli, radyal ve doğrusal göstergeleri ve alarm limitli on iki sensörün canlı trendini gösterir.

Linux üzerinde Factory HMI: koyu temada OEE kartları, şişe sayacı, proses akış diyagramı, alarm paneli ve göstergeler
Factory demosunun Ubuntu üzerindeki hat genel görünümü: proses diyagramı, alarmlar, göstergeler ve sayaçlar.
Bir pompa için üç büyük gösterge içeren varlık ayrıntı sayfası
Canlı göstergelerle varlık ayrıntısı
Üretim ve enerji rakamlarıyla tesislerin haritası
Haritada tesisler

Fleet, ERP ve Proje Portföyü

Fleet demosu, İspanya ve Portekiz haritasında 48 aracı rotalar, duraklar, bir araç grid'i ve bir uyarı listesiyle izler. ERP demosu KPI kartları, grafikler, bir gösterge ve bir müşteri haritasından oluşan bir dashboard ile açılır, müşteriler, planlama, raporlar ve analitik sayfalarıyla devam eder. Portfolio demosu 12 projeyi ve 520 görevi, kritik yolla birlikte bir Gantt grafiğinde planlar.

Linux üzerinde filo operasyonları uygulaması: KPI kartları, araçlar ve rotalarla harita, araç grid'i ve uyarılar
Canlı filo operasyonları: KPI kartları, araçlar ve rotalarla harita ve iki grid.
KPI kartları, grafikler, bir gösterge ve bir harita içeren ERP dashboard'u
ERP dashboard'u
Sürücüye göre renklendirilmiş haftalık teslimat takvimi
Teslimat planlama takvimi
Göstergeler, bir balon grafiği, bir harita ve bir treemap içeren proje portföyü genel görünümü
Portföy genel görünümü
Kritik yollu portföy Gantt grafiği
Kritik yollu portföy Gantt'ı
Renkli şeritlerle diyagram olarak çizilmiş merkez ağı
Merkez ağı diyagramı
Bir veri kümesine bağlı organizasyon şeması
Veri kümesinden organizasyon şeması

sgcUI'nin Linux Masaüstüne Getirdikleri

sgcUI, tek bir çekirdeği, tek bir tema motorunu ve tek bir çalışma biçimini paylaşan yerel UI ürünlerinden oluşan bir pakettir. Linux64 üzerinde paketin tüm FireMonkey kontrolleri kullanılabilir:

Linux üzerinde sgcCharts: aralık alan, çizgi ve hedef bantlı çubuklar
sgcCharts
Linux üzerinde sgcGauges galerisi: radyal, halka, pusula, saat, dijital ve LED göstergeler
sgcGauges
Linux üzerinde bağlantılar, taban çizgisi ve kritik yolla sgcPlanner Gantt'ı
sgcPlanner Gantt
Linux üzerinde ısı haritası hücreleri ve alan listesiyle sgcPivotGrid
sgcPivotGrid
Linux üzerinde katman paneli, yakınlaştırma düğmeleri ve ölçek çubuğuyla sgcMaps
sgcMaps
Linux üzerinde treemap ve huni grafikleri
Treemap ve huni

Grid kendi görüntüsünü hak ediyor. Bu, Ubuntu üzerinde 100.000 satırlı FilterAndFind demosudur: başlıklarda filtre düğmeleri, bir filtre satırı ve “Ask the grid” kutusu var. Fare tekerleği grid'i akıcı biçimde kaydırır ve Ctrl+End doğrudan 100.000. satıra atlar.

Linux üzerinde 100.000 satırlı, başlık filtreleri ve filtre satırı olan sgcGrid
Ubuntu üzerinde 100.000 satırlı sgcGrid.

Neye İhtiyacınız Var

Linux64 üzerinde sgcUI, Ubuntu 22.04 ve Ubuntu 24.04 üzerinde Delphi 13 ve FMXLinux 1.84 ile test edilmiştir.

İlk Linux64 Uygulamanızı Geliştirin

1FMXLinux'u kurunIDE içinde GetIt'ten
2Linux'a bağlanınPAServer ve Linux SDK
3Platformu ekleyinFireMonkey projenizde Linux 64-bit
4ÇalıştırınAynı form, Linux masaüstünde
  1. FMXLinux'u GetIt'ten kurun ve IDE'yi yeniden başlatın.
  2. Linux makinesinde PAServer'ı başlatın, IDE'de bir bağlantı profili oluşturun ve herhangi bir Delphi Linux64 projesinde olduğu gibi Linux SDK'yı içe aktarın.
  3. sgcUI Source klasörünü Linux 64-bit kitaplık yoluna ekleyin (Tools, Options, Language, Delphi, Library), böylece derleyici o platform için sgcUI birimlerini bulur.
  4. Bir FireMonkey uygulaması açın veya oluşturun, Projects penceresinde Linux 64-bit hedef platformunu ekleyin ve seçin.
  5. sgcUI kontrollerini forma bırakın ve çalıştırın. IDE projeyi derler, PAServer üzerinden dağıtır ve Linux masaüstünde başlatır.

Yazmanız gereken Linux'a özel bir kod yoktur. Bu, Hello Grid hızlı başlangıcının tam kaynağıdır: üç sütunu tasarımcıda tanımlanmış tek bir TsgcFMXGrid içeren bir form:

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;

Bir grafik de aynı şekilde çalışır. Bir TsgcFMXChart kontrolü bir TsgcChart bileşenini çizer ve her seri de bir bileşendir, burada bir TsgcChartSeries_Line. Tek kod, noktaları ekler:

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;

Projects penceresinde Windows, macOS veya Linux 64-bit'i seçin, aynı iki form her birinde çalışır.

Bir Formdan Gelişmiş Bir Uygulamaya

Yukarıdaki Suite demoları aynı parçalarla geliştirilmiştir ve kaynak kodları sgcUI ile birlikte gelir. Büyük bir Linux64 uygulamasını yönetilebilir kılan fikirler şunlardır:

Şimdi Deneyin: Derlenmiş 274 Linux64 Demosu

sgcUI'nin Linux'ta çalıştığını görmek için Delphi'ye, FMXLinux'a veya lisansa ihtiyacınız yok. Her ürünün FireMonkey demoları, toplam 274 program, Linux64 için derlendi ve tek bir arşivde paketlendi:

sgcUI_bin_linux64.tar.xz dosyasını indirin

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

Demolar Ubuntu 22.04 veya üzerinde, ayrıca glibc 2.34 veya üzeri ve GTK3 bulunan diğer dağıtımlarda, X11 veya XWayland ekranında çalışır. Çevrimiçi haritalı demolar için ayrıca libcurl ve bir İnternet bağlantısı gerekir. Ayrıntılar arşivdeki README.txt dosyasındadır.

Bilmekte fayda var. Yazıcıya yazdırma, ekran okuyucu desteği ve özel pencere başlık çubuğu Linux64'te kullanılamaz ve kayan yerleşik paneller orada devre dışıdır. FireMonkey kontrollerinde geri kalan her şey diğer platformlardakiyle aynı koddur. sgcUI sayfası ve yardımın Platforms konusu ayrıntıları listeler.

Tek Kod Tabanı, Her Masaüstü

Windows, macOS ve artık Linux64, aynı FireMonkey formları ve aynı sgcUI kontrolleriyle. Derlenmiş demoları indirin ve kendi Linux masaüstünüzde çalışırken görün.

Sorularınız veya geri bildiriminiz mi var? Bize ulaşın, kodu yazan kişilerden yanıt alırsınız.