Net-Base Časopis

23.06.2026

Delphi višeplatformski za Windows, macOS i Linux: arhitektura, rad i tipične zamke

Delphi Višeplatformski razvoj je više od 'jedan kod, tri builda'. Članak pokazuje kako realno planirati Windows-, macOS- i Linux-ciljeve uz čistu arhitekturu, pouzdan rad, pristup podacima i procese izdanja – uključujući migraciju iz postojećih aplikacija.

23.06.2026

Od teme magazina do projektne prakse

Povezane stranice usluga i tehnologije za članak

Kada se u tvrtkama govori o Delphi Multiplatforma za Windows, macOS i Linux, rijetko je riječ o „tehnici radi same tehnike“. Obično stoji konkretna situacija iza toga: postojeća poslovna softverska rješenja pouzdano rade na Windows, ali poslovne jedinice traže macOS klijente, IT-timovi žele Linux-Services integrirati u postojeće serverske standarde, ili je pred nama modernizacija bez ponovnog razvoja cijelog funkcionalnog opsega.

Delphi može u tom napetom kontekstu biti pragmatičan most – pod uvjetom da se multiplatforma razumije kao pitanje operacija i arhitekture. Jer stvarni troškovi ne nastaju pri prvom buildu, nego u održavanju, procesu izdanja, sigurnosnim ažuriranjima, pristupu podacima, upravljanju drajverima, paketiranju i podršci. Ovaj članak razjašnjava kako realno planirati multiplatformu, koje su tehničke odluke osjetne u radu i koje se zamke u projektima tipično otkriju tek kasno.

Zašto multiplatforma u poduzećima rijetko bude „samo jedna značajka“

U praksi potreba za multiplatformom proizlazi iz tri tipična pokretača:

  • Heterogeni krajnji uređaji: Windows je postavljen, macOS dolazi preko uprave, prodaje, dizajna ili razina vodstva. Linux pojavljuje se ili kao desktop u specijalnim okruženjima ili kao serverski standard u podatkovnom centru.
  • Standardizacija u radu: Mnogi IT-odjeli žele konsolidirati servise na Linux (nadzor, upravljanje paketima, hardening), čak i ako klijenti i dalje ostaju Windows.
  • Modernizacija bez Big Banga: Postojeće aplikacije treba korak po korak prenijeti u održive slojeve, često paralelno s projektima baza podataka i sučelja.

Važno je razlikovati: multiplatforma na klijentu (desktop-aplikacija) je drugo pitanje od multiplatforme u backendu (servisi/REST). Posebno u B2B kontekstu često se isplati hibridni pristup: stabilni Windows-klijenti, ali serverski Linux-servisi i REST-API-jevi za integraciju, automatizaciju i web-portale.

Delphi Multiplatforma za Windows, macOS i Linux: Što to konkretno znači

Multiplatforma u Delphi nije čarobni štapić, već komplet alata. Za IT i operativnu stranu tri razine su presudne:

  • UI-sloj: Na Windows u mnogim poduzećima postoji etabliran VCL-svijet (klasično Windows-sučelje). Za stvarne multiplatform-klijente obično ulazi u igru FireMonkey (FMX), koji omogućuje isto sučelje na različitim operativnim sustavima – s njihovim nativnim osobitostima.
  • Poslovna logika: Ključna prednost leži u zajedničkoj, jasno enkapsuliranoj logici. Tko odvoji poslovnu logiku i pristup podacima od UI-a, može mijenjati platforme bez ponovnog izmišljanja proizvoda.
  • Vrijeme izvođenja i deployment: Svaka platforma ima drugačije zahtjeve za instalaciju, prava, potpisivanje, ažuriranja, putanje, certifikate i biblioteke. Upravo ovdje se odlučuje hoće li multiplatforma u praksi biti „lagana“ ili „skupa“.

Za donositelje odluka stoga glavna pitanje nije „Može li Delphi macOS i Linux?“, nego: Koji dijelovi našeg rješenja doista moraju biti multiplatformski – i kako osiguravamo rad i održivost kroz godine?

Arhitektura: Najveći multiplikator troškova održavanja

Projekti za više platformi rijetko ne uspiju zbog kompajlera, već zbog nedostatka odvajanja. U postojećim aplikacijama često je sve pomiješano: UI-događaji, pristup bazi podataka, domenalna logika, ispis, datotečni sustav, mrežni pozivi. To funkcionira na „tom jednom Windows-PC“, ali postane trajni problem čim proširite platforme ili premjestite usluge.

Model slojeva umjesto „obrasca kao središnje točke“

Provjeren je jasan model slojeva (često nazivan arhitekturom slojeva):

  • Prezentacija: Desktop-UI (VCL oder FMX) ili web-frontendi.
  • Logika aplikacije i domene: pravila, tokovi rada, ovlaštenja, validacije; idealno bez izravne ovisnosti o UI-ju ili drajverima za bazu podataka.
  • Sloj integracije: povezivanje s ERP/DMS/CRM, razmjene datoteka, messaging, REST.
  • Pristup podacima: konsolidirani pristup preko jasno definiranih granica repozitorija/servisa, umjesto SQL‑a na svakom koraku.

Ovo odvajanje nije akademska vježba: smanjuje posebnosti platformi, olakšava testiranje, omogućava serverske komponente i čini migracije baza podataka (npr. na PostgreSQL) znatno kontroliranijima.

Zajednička domenalna logika: Multiplatforma bez dvostrukog razvoja

Ako mislite ozbiljno o multiplatformi, domenalna logika treba biti dizajnirana tako da može jednako dobro raditi u desktop-aplikaciji i u servisu. To je posebno relevantno ako kasnije nadograđujete portal za klijente, interno web-sučelje ili REST-integraciju. U praksi to znači: odluke vezane uz domenu trebaju biti u servisima/modulima, a ne u klik‑događajima obrasca.

Strategija sučelja: zadržati VCL, ciljano koristiti FMX, web kao dopuna

Mnoge tvrtke imaju snažnu Windows-desktop-bazu. Trenutna promjena na novu UI‑tehnologiju često je nepotrebno rizična. Tipične održive strategije su:

Strategija A: Windows-klijent ostaje VCL, backend postaje platformno neutralan

Ovdje se temeljna logika postupno izvlači iz VCL-aplikacije: u biblioteke i serverske komponente. Rezultat: Windows-klijent ostaje stabilan, dok se integracija, automatizacija i novi frontendi realiziraju preko servisa. Linux tada ulazi u igru kroz rad na serveru (npr. REST-Server ili pozadinske usluge).

Strategija B: Multiplatform-klijent s FMX za definirane scenarije

FMX ima smisla ako vam doista treba isti klijent na Windows i macOS, npr. za terenski servis, mobilna radna mjesta ili mješovite flote. Važno: detalji UI‑ja (fontovi, tipkovnički prečaci, dijalozi, odabir datoteka) razlikuju se po platformi. To treba uračunati u testiranje i podršku.

Strategija C: Desktop dopunjen portalom

Mnoge tvrtke ne rješavaju „macOS-temu“ putem punog klijenta, nego putem portala za jasno ograničene procese: informacije, odobrenja, status narudžbe, dokumenti. To rasterećuje desktop‑rolloutove, smanjuje troškove instalacije i često se brže osigurava, jer je centralni web‑sloj lakše kontrolirati.

Pristup podacima i baze podataka: FireDAC kao operativni faktor stabilnosti

U arhitekturama s više platformi pristup podacima često je područje u kojem povijesni zaostaci postaju najskuplji. Pogotovo stariji Delphi-sustavi ovise o Borland Database Engine (BDE) ili o drajverima koji rade ispravno samo na Windows. Za rad to predstavlja rizik: dostupnost drajvera, pitanja 32/64-Bit arhitekture, Unicode, sigurnosne zakrpe i nadzor teško je kontrolirati.

Strategija drajvera: Dosljedno, dokumentirano, provjerljivo

BDE-Ablösung mit nativer Anbindung je u Delphi uobičajen sloj pristupa podacima koji jedinstveno obrađuje različite baze podataka. Operativno relevantnije je manje „koliko elegantno“ to izgleda u kodu, a više:

  • Koje klijentske biblioteke su potrebne? (npr. PostgreSQL-, MariaDB- ili Oracle-klijent)
  • Kako se distribuiraju? Dio instalatora, centralno upravljano, container-image
  • Kako se parametri veze sigurno upravljaju? (secrets, zaštićena konfiguracija, bez lozinki u običnom tekstu u datotekama)
  • Koliko je stabilno ponašanje pri mrežnim poremećajima? ponovni pokušaji (retries), timeouti, pooling

Migracije baza podataka: Multiplatforma kao povod za jasne sučajne točke

Ako se ionako proširuju platforme, to je često pravi trenutak za konsolidaciju pristupa podacima. Migracija (npr. iz starih formata datoteka ili ugrađenih baza podataka prema SQL-sustavima poput PostgreSQL ili SQL Server) trebala bi se provoditi kao projekt s jasno definiranim fazama: model podataka, alati za migraciju, paralelni rad, prihvat, plan povratka. Multiplatforma ovdje povećava pritisak, jer „Windows-only“-drajveri ili putanje datoteka na macOS/Linux više ne rade.

Servisi i sučelja: REST kao most između platformi

U heterogenim okruženjima pristup REST ( REST = HTTP-bazirano sučelje s jasnim resursima i metodama) često je najsmisleniji način povezivanja platformi. Za operacije to znači: centralizirana autentikacija, standardizirani protokoli, bolja observability (logovi/metrike) i čista odvojenost između klijenta i baze podataka.

Delphi REST-server vs. izravan DB-pristup s klijenta

Mnoge postojeće desktop-rješenja rade s izravnim pristupom bazi iz klijenta. U čistim Windows-mrežama to je dugo bilo uobičajeno. S multiplatformom i modernom sigurnošću to postaje teže:

  • Segmentacija mreže: baze podataka više nisu u istoj mreži kao klijenti; firewalli postaju stroži.
  • VPN/Zero Trust: izravne DB-veze preko promjenjivih mreža sklone su greškama.
  • Audit i prava: poslovna prava u aplikaciji teško je pravilno mapirati kad svaki klijent izravno šalje SQL-upite.

Jedan REST-Server (ili sloj servisa) može centralizirati ove točke: autentikacija, dopuštenja, protokoliranje, rate-limiting, verzioniranje. Za administratore je to često jednostavnije za upravljanje nego „sto klijenata s pristupom bazi podataka“.

Autentikacija i SSO: SAML 2.0, OAuth, Tokeni

U B2B-okruženju Single Sign-on (SSO) često je obvezan. SAML 2.0 (standard za federaciju identiteta između Identity Providera i aplikacije) ili OAuth/OpenID Connect (postupci temeljeni na tokenima) tipični su elementi. Presudno nije modni izraz, nego pitanje operacije: gdje se nalaze identiteti, kako se odvija provisioning, kako se tokeni štite i kako se pristupi bilježe na revizijski prihvatljiv način?

Deployment und Packaging: Der unterschätzte Aufwand

Delphi Multiplattform für Windows, macOS und Linux bedeutet auch: drei Welten im Packaging. Viele Kosten entstehen erst nach dem ersten Go-live, wenn Updates regelmäßig ausgerollt werden müssen.

Windows: Installer, Rechte, Services

Auf Windows sind MSI/Installer-Prozesse, Gruppenrichtlinien, UAC (User Account Control) und Code-Signing üblich. Sobald ein Windows- und Linux-Services beteiligt ist, kommen zusätzliche Themen hinzu: Dienstkonto, Rechte auf Dateisystem und Netzwerk, Startreihenfolge, Recovery-Optionen und Log-Rotation. Für die Wartung ist wichtig, dass der Service klar versioniert ist und sich ohne manuelle Eingriffe aktualisieren lässt.

macOS: Notarisierung, Signierung und Gatekeeper

macOS verlangt für verteilte Anwendungen in der Regel Signierung und je nach Verteilweg eine Notarisierung (Prüfprozess, damit Gatekeeper die App ausführt). Für Unternehmen ist das weniger „Apple-Thema“ als ein Prozessproblem: Wer hält die Zertifikate, wie läuft die Build-Pipeline, wie werden Releases reproduzierbar erzeugt? Ohne diese Disziplin wird jeder Hotfix zur Einzelaktion.

Linux: Pakete, Abhängigkeiten, systemd

Auf Linux sind systemd-Units (Definitionen, wie Services starten und überwacht werden), Paketformate (z. B. DEB/RPM) oder containerbasierte Deployments relevant. Für Admins zählt: klare Konfiguration, definierte Pfade, sinnvolle Logs (z. B. über journald), Health-Checks und ein Updatepfad, der mit der eigenen Distribution-Policy kompatibel ist.

CI/CD und Release-Prozess: Multiplattform braucht reproduzierbare Builds

Spätestens mit drei Zielplattformen wird „Build per Hand“ zum Risiko. CI/CD (Continuous Integration/Continuous Delivery) bedeutet hier nicht zwingend „alles vollautomatisch in Produktion“, sondern vor allem: reproduzierbare Artefakte, nachvollziehbare Versionen und ein standardisierter Test- und Freigabeprozess.

In der Praxis sollten Sie mindestens festlegen:

  • Build-Matrix: Welche Plattformen, welche Varianten (Debug/Release), welche Datenbanktreiber, welche optionalen Module?
  • Versionierung: Einheitliche Versionsnummern über Client und Server, plus Migrationsstände der Datenbank.
  • Signierung: Wo wird signiert, wie werden Schlüssel geschützt (z. B. HSM oder gesicherte Build-Agenten)?
  • Smoke-Tests: Minimale Funktionsprüfungen je Plattform, die jeden Release-Kandidaten blockieren können.

Für Entscheider ist das ein Governance-Thema: Ohne Release-Disziplin wird Multiplattform über die Jahre teurer, weil Fehlerbilder schwerer reproduzierbar sind und Hotfixes Plattform-unterschiedliche Nebenwirkungen haben.

Monitoring, Logging und Fehleranalyse: Was im Betrieb wirklich zählt

U svakodnevnom radu IT timovi trebaju brze odgovore: „Zašto je proces zapao?“, „Je li to problem klijenta ili backend‑a?“, „Od kada se to pojavljuje?“ Multiplatforma povećava varijabilnost, stoga Observability mora biti bolja.

Jedinstvena Log-Strategie über Client und Server

Dokazana je višerazinska strategija logiranja:

  • Client-Logs: lokalni logovi s rotacijom, jedinstvenim korelacijskim identifikatorom (npr. Request-ID), u skladu s propisima o zaštiti podataka.
  • Server-Logs: centralizirano pohranjivanje, strukturirani unosi (jasno vremenski označeni, strojno čitljivi), odvajanje audit i debug logova.
  • Metrike: vremena odgovora, stope pogrešaka, duljine reda čekanja, opterećenje poola baze podataka.

Pogotovo kod REST-arhitektura Request-ID (jedinstveni identifikator za svaki zahtjev koji se prenosi kroz sve komponente) je izuzetno vrijedna, jer se podrška može suziti na minute umjesto sati.

Crash-Handling und symbolisierte Fehlerauswertung

Na desktop platformama Crash-Dumps i Stacktraces moraju se tretirati tako da budu uporabljivi u podršci, bez curenja osjetljivih podataka. To je organizacijsko pitanje: Koji podaci smiju biti preneseni? Kako se dobiva suglasnost? Kako se debug-simboli osiguravaju i verzije povezuju? Bez tih pitanja podrška za multiplatforme često ostaje „traženje u magli“.

Sigurnost und Compliance: Plattformen bedeuten unterschiedliche Angriffsflächen

S Windows, macOS i Linux rizik se ne povećava automatski, ali površina napada postaje raznovrsnija. Tipične točke koje se u projektima često adresiraju prekasno:

  • Zertifikatsmanagement: TLS certifikati za servere, certifikati za klijente, datumi isteka, automatizirano obnavljanje.
  • Secrets: lozinke baza podataka, API-Keys, ključevi za potpisivanje – ne u konfiguracijama u običnom tekstu niti u instalacijskim skriptama.
  • Rechtekonzept: princip najmanjih privilegija za servise, jasna odvojenost administratorskih i korisničkih funkcija.
  • Updatefähigkeit: sigurnosni ispravci moraju se brzo distribuirati; to je izravno vezano uz proces pakiranja i izdavanja verzija.

Osobito u poduzećima s audit zahtjevima isplati se rano definirati kratku security-checklistu po platformi i uvesti je u prihvatne kriterije.

Tipične Fallstricke aus Multiplattform-Projekten

Neki problemi se ponovno pojavljuju – ne zato što timovi „loše rade“, već zato što su u povijesti s samo Windows bili nevidljivi:

Datotečni sustav und Pfade: Kleines Detail, große Wirkung

Različite konvencije putanja, case-sensitivity (velika/mala slova), korisnički direktoriji i dozvole dovode do pogrešaka pri eksportima, privicima, privremenim datotekama ili predmemoriji. Pomaže dosljedan koncept apstrakcije: centralizirani path-servisi, definirani direktoriji aplikacije, bez „hard codiranih“ lokacija za pohranu.

Ispis, PDF und Office-Integration

Workflovi ispisa i dokumenata često su kritični u poslovnim procesima. Windows ima uspostavljene putanje ispisa, dok se macOS i Linux ponašaju drugačije. Ako su generiranje PDF-a, potpisi ili izlazni dokumenti relevantni, te funkcije trebaju se rano testirati na svim ciljnim platformama – ne tek neposredno prije rollout-a.

Unicode und Zeichensätze

Najkasnije pri radu s miješanim platformama, sučeljima i bazama podataka, Unicode (standard skupa znakova za međunarodne znakove) postaje nužnost. Stare zapise s „ANSI“ poviješću inače proizvode teško razumljive greške u pretraživanju, sortiranju, CSV izvozima ili sučeljima. Strategija za Unicode obuhvaća UI, stupce baze podataka, sučelja i testne podatke.

32/64-Bit i ovisnosti o bibliotekama

Klasik: upravljački program ili biblioteka treće strane dostupni su samo za jednu arhitekturu. Za rad to znači: jasna lista ovisnosti, dokumentiranje verzija, provjera licenci i mogućnosti ažuriranja. Multiplatforma je stabilna samo koliko i najslabija ovisnost.

Pomoć pri odlučivanju: Kada se Delphi Multiplattform doista isplati?

Pragmatičan pogled na napor i korist pomaže obuzdati diskusije. Multiplatforma se obično isplati kada:

  • poslovna jezgra je dugoročno stabilna i ponovna upotreba se isplati tijekom godina,
  • postoje stvarni organizacijski razlozi za macOS-klijente (ne samo „bilo bi lijepo“),
  • Linux u backendu ionako predstavlja standard i planiraju se servisi/REST,
  • aplikacija mora biti uključena u integracijsku mrežu ERP/DMS/CRM,
  • može se uspostaviti čist proces izdanja (build, potpisivanje, testovi).

Manje smisleno je implementirati Multiplatformu ako aplikacija u velikoj mjeri ovisi o komponentama specifičnim za Windows (npr. duboka Office-automatizacija, specijalni upravljački programi, COM-bazirane integracije) i te funkcije nisu jasno kapsulirane. U tom slučaju često je realističnija mješovita strategija: Windows-klijent za specijalne slučajeve, portal/REST za platformno-neutralne procese.

Put modernizacije: Multiplattform bez potpunog prepisivanja

Za mnoga poduzeća najvažnija je stvar: Multiplatforma ne mora značiti prepisivanje svega. Pouzdan put često izgleda ovako:

  1. Analiza stanja i definiranje sučelja: Koji su moduli funkcionalno stabilni, koji su blizu UI-a ili baze podataka, gdje su najveći rizici?
  2. Konsolidirati pristup podacima: npr. BDE-zamjena, BDE-Ablosung mit nativer Anbindung, jedinstvena strategija konekcija i transakcija.
  3. Uspostaviti servisni sloj: REST-API za ključne procese, postupna zamjena izravnog pristupa bazi podataka.
  4. Prioritizirati platforme: prvo stabilizirati backend na Linux, zatim macOS-klijent za definirane skupine korisnika, umjesto svega odjednom.
  5. Profesionalizirati Packaging/CI: reproducibilni buildovi i ažuriranja kao sastavni dio projekta.

Ovaj put je osobito prikladan za individualni poslovni softver s dugim životnim ciklusima, jer štiti poslovnu logiku i kontrolirano smanjuje tehničke rizike.

Zaključak: Multiplattform je operativna odluka – ne samo razvojna odluka

Delphi Multiplattform für Windows, macOS und Linux može za poduzeća biti vrlo pragmatičan put za tehnički razvoj postojećih procesa, bez gubitka funkcionalne jezgre. Ključno je planirati Multiplatformu kao cjelinu: arhitektura s jasnim slojevima, konsolidirani pristup podacima, servisno orijentirana sučelja, reproducibilni buildovi, uredno pakiranje i strategija logiranja i monitoringa koja brzo razjašnjava slučajeve podrške.

Kada su ti temelji uspostavljeni, multiplatforma ne postaje trajni projekt, već kontrolirano proširenje vašeg digitalnog poslovnog rješenja – s realnim troškovima poslovanja i roadmapom koji povezuje migraciju i daljnji razvoj.

Ako želite strukturirano procijeniti svoju polaznu situaciju (stanje, ciljane platforme, baza podataka, sučelja i model rada): Kontaktirajte nas za tehnički početni razgovor.

I u stručnom okruženju Delphi Modernisierung igra važnu ulogu kada integracije, tokovi podataka i daljnji razvoj moraju besprijekorno surađivati.

Raspravite projekt ili plan modernizacije s Net-Base.

sljedeći korak

Ako se tema pretvori u stvarni projekt, arhitekturu, postojeće sustave i operacije trebalo bi rano zajednički razmotriti.

Podržavamo vas ne samo u pojedinačnim pitanjima, već i kada iz isječaka izvornog koda, naslijeđenih sustava ili ideja za portale treba nastati pouzdan poslovni projekt.

  • Postojeće stanje, ciljna slika i tehnički rizici procjenjuju se zajedno.
  • REST, pristup podacima, portali i rollout neće biti odgođeni kao naknadne posljedice.
  • Rano prepoznajete koji je put ekonomski i operativno održiv.

Podijeli objavu

Izravno proslijedite ovu objavu

LinkedIn, X, XING, Facebook, WhatsApp i e-pošta su odmah dostupni. Za Instagram odmah pripremamo poveznicu i kratak tekst.

E-pošta

Instagram se otvara u novoj kartici. Link i kratki tekst se prethodno kopiraju u međuspremnik.