Net-Base Ajakiri

23.06.2026

Delphi mitmeplatvormne tugi Windows, macOS ja Linux: arhitektuur, käitamine ja tüüpilised lõksud

Delphi Mitmeplatvormilisus on rohkem kui „üks kood, kolm buildi“. Artikkel näitab, kuidas saate Windows-, macOS- ja Linux-eesmärke puhta arhitektuuri, usaldusväärse käituse, andmejuurdepääsu ja release-protsesside abil realistlikult planeerida – sealhulgas migratsioon olemasolevatest rakendustest.

23.06.2026

Ajakirjateemast projektipraktikasse

Sobivad teenuse- ja tehnilised lehed postituse jaoks

Kui ettevõtetes räägitakse Delphi Multiplatform kohta Windows, macOS ja Linux jaoks, ei ole see harva „tehnika tehnika pärast“. Tavaliselt on taga konkreetne olukord: aastate jooksul kasvanud ärirakendus töötab Windows peal usaldusväärselt, kuid ärivaldkonnad nõuavad macOS-kliente, IT-meeskonnad soovivad Linux-teenuseid integreerida olemasolevatesse serveristandarditesse, või plaanitakse moderniseerimist ilma kogu funktsionaalsust uuesti üles ehitamata.

Delphi võib selles pingeväljas olla pragmaatiline sild – tingimusel, et mitmeplatvormilisust mõistetakse kui käituse- ja arhitektuuriküsimust. Sest tegelikud kulud ei teki esimeses buildis, vaid hoolduses, release-protsessis, turvauuendustes, andmejuurdepääsus, draiverite maastikus, paketiseerimises ja toeteenustes. See artikkel selgitab, kuidas planeerida mitmeplatvormilisust realistlikult, millised tehnilised otsused on käituses tuntavad ja millised lõksud projektides tavaliselt hilja ilmneda võivad.

Miks mitmeplatvormilisus ettevõtetes harva „ainult üks funktsioon“ on

Praktikas tekib mitmeplatvormilise vajadus kolmest tüüpilisest ajendist:

  • Heterogeensed lõppseadmed: Windows on paigas, macOS lisandub halduse, müügi, disaini või juhtkonna poolt. Linux ilmub kas töölauarakendusena spetsiaalsetes keskkondades või serveristandardina andmekeskuses.
  • Standardiseerimine operatsioonis: Paljud IT-osakonnad soovivad teenuseid konsolideerida Linux peale (monitooring, paketihaldus, kõvendamine), ka siis kui kliendid jäävad endiselt Windows peale.
  • Moderniseerimine ilma Big Bang’ita: Olemasolevaid rakendusi viiakse samm-sammult hooldatavatesse kihtidesse, sageli paralleelselt andmebaasi- ja liidestusprojektidega.

Oluline on eristada: mitmeplatvormilisus kliendis (lauarakendus) on teine teema kui mitmeplatvormilisus backendis (teenused/REST). Eriti B2B-kontekstis tasub sageli hübriidne lähenemine: stabiilsed Windows-kliendid, kuid serveripoolselt Linux-teenused ja REST-API-d integratsiooni, automatiseerimise ja veebiportalide jaoks.

Delphi mitmeplatvormilisus Windows, macOS ja Linux jaoks: mida see konkreetselt tähendab

Mitmeplatvormilisus Delphis ei ole võluvõti, vaid tööriistakast. IT- ja käitusevaates on kolm tasandit otsustava tähtsusega:

  • Kasutajaliidese kiht: Paljudes ettevõtetes on Windows peal väljakujunenud VCL-maailm (klassikaline Windows-liides). Tõeliste mitmeplatvormiliste klientide puhul kasutatakse sageli FireMonkey’t (FMX), mis võimaldab sama liidest erinevatel opsüsteemidel – igaüks oma natiivsete eripäradega.
  • Ärilogika: Suur mõju tuleneb ühest ja puhtalt kapseldatud loogikast. See, kes eraldab ärilogika ja andmejuurdepääsu kasutajaliidesest, saab platvorme vahetada ilma toodet uuesti leiutamata.
  • Käivitus- ja juurutus: Igal platvormil on erinevad nõuded paigaldamisele, õigustele, allkirjastamisele, uuendustele, radadele, sertifikaatidele ja teekidele. Just siin otsustub, kas mitmeplatvormilisus on igapäevaselt „kerge“ või „kallis“.

Seega ei ole otsustajate jaoks põhiküsimus „Kas Delphi suudab macOS ja Linux?“, vaid: millised osad meie lahendusest peavad tõesti olema mitmeplatvormilised – ja kuidas tagame käituse ning hooldatavuse aastate jooksul?

Arhitektuur: suurim kordistaja hoolduskuludele

Mitmeplatvormilised projektid ei põrkule harva kompilaatori tõttu, vaid puuduliku lahutuse tõttu. Olemasolevates rakendustes on sageli kõik läbi põimunud: UI-sündmused, andmebaasi-juurdepääs, äriloogika, printimine, failisüsteem, võrgukõned. See töötab „ühel Windows-PC-l“, kuid muutub püsivaks ehitustööks, niipea kui laiendate platvorme või väljastate teenuseid.

Kihipõhine mudel, mitte „vorm kui keskpunkt“

Tõestatud lähenemine on selge kihiline mudel (tavaliselt nimetatud Layer-arhitektuuriks):

  • Esitluskiht: lauaarvuti-UI (VCL või FMX) või veebiliidesed.
  • Rakenduse- ja äriloogika: reeglid, töövood, õigused, valideerimised; ideaalis ilma otsese sõltuvuseta UI-st või andmebaasi draiveritest.
  • Integratsioonikiht: ühendus ERP/DMS/CRM-iga, faililiidesed, sõnumivahetus, REST.
  • Andmejuurdepääs: konsolideeritud juurdepääs selgelt määratletud repository-/teenusepiiride kaudu, mitte SQL-i igas nurgas.

See eraldus ei ole akadeemiline harjutus: see vähendab platvormispetsiifikat, kergendab teste, võimaldab serveripoolseid komponente ja muudab andmebaasi migratsioonid (nt PostgreSQL-ile) oluliselt kontrollitavamaks.

Jagatud äriloogika: mitmeplatvormilisus ilma topeltarenduseta

Kui te mõtlete mitmeplatvormilisuse tõsiselt, peaks äriloogika olema projekteeritud nii, et see suudaks jooksutada nii lauaarvuti‑rakenduses kui teenuses. See on eriti oluline, kui hiljem lisate kliendiportaali, sisemise veebiliidese või REST-integratsiooni. Praktikas tähendab see: ärialased otsused kuuluvad teenustesse/moodulitesse, mitte vormi klikk-sündmustesse.

UI-strateegia: säilitage VCL, kasutage FMX-i sihipäraselt, täiustage veebiga

Paljud ettevõtted toetuvad tugevale Windows-lauaarvuti-põhisele baasile. Kohene ümberlülitumine uuele UI-tehnoloogiale on sageli tarbetult riskantne. Tüüpilised toimivad strateegiad on:

Strateegia A: Windows-klient jääb VCL-iks, backend muutub platvormineutraalseks

Siin ekstraheeritakse tuumloogika järk‑järgult VCL-rakendusest: teekidesse ja serveripoolsetesse komponentidesse. Tulem: Windows-klient jääb stabiilseks, samal ajal tekivad integratsioon, automatiseerimine ja uued frontendid teenuste abil. Linux tuleb mängu serveri operatsioonide kaudu (nt REST-server või taustteenused).

Strateegia B: mitmeplatvormiline klient FMX-iga määratletud stsenaariumide jaoks

FMX on mõistlik, kui vajate tegelikult sama klienti nii Windows-l kui macOS-l, näiteks välitööde, mobiilsete töökohtade või segatud seadmestiku puhul. Oluline: UI-detailid (kirjatüübid, klaviatuuri otseteed, dialoogid, failivalik) erinevad platvormiti. Seda tuleb arvestada testides ja toekorralduses.

Strateegia C: desktopi täiendamine portaaliga

Paljud ettevõtted ei lahenda „macOS-teemat“ täiskliendiga, vaid portaaliga selgelt määratletud protsesside jaoks: teabe päring, heakskiidud, tellimuse staatus, dokumendid. See kergendab lauaarvuti rolloute, vähendab paigalduskulu ja on sageli kiiremini kindlustatav, sest keskne veebikiht on lihtsamini kontrollitav.

Andmejuurdepääs ja andmebaasid: FireDAC kui operatiivne stabiilsuse tegur

Mitmeplatvormsete arhitektuuride puhul on andmejuurdepääs sageli see valdkond, kus ajaloolised pärandid kõige kulukamaks muutuvad. Eriti vanemad Delphi-süsteemid sõltuvad Borland Database Engine (BDE)-st või draiveritest, mis töötavad korralikult ainult Windows-l. Käitamiseks on see risk: draiverite kättesaadavus, 32/64-bit küsimused, Unicode, turvaparandused ja monitooring on keerukalt hallatavad.

Draiverite strateegia: ühtne, dokumenteeritud, testitav

BDE-asendamine natiivse liidese abil on Delphi-s levinud andmejuurdepääsu kiht, mis pöördub erinevate andmebaaside poole ühtselt. Operatiivselt on vähem oluline, kui „elegantne“ see koodis välja näeb, kui pigem järgmised küsimused:

  • Milliseid klienditeeke on vaja? (nt PostgreSQL-, MariaDB- või Oracle-klient)
  • Kuidas neid levitatakse? Installeri osa, tsentraalselt hallatav, konteinerimage
  • Kuidas ühendusparameetreid turvaliselt hallatakse? (saladused, kaitstud konfiguratsioon, paroole ei hoita lihttekstina failides)
  • Kui stabiilne on käitumine võrguhäirete korral? (taasproovimised, ajapiirangud, ühenduste poolimine)

Andmebaasimigratsioonid: mitmeplatvormsus kui võimalus puhaste liideste loomiseks

Kui platvorme niikuinii laiendatakse, on see sageli õige hetk andmejuurdepääsu konsolideerimiseks. Migratsioon (nt vanadest failiformaatidest või embedded-andmebaasidest SQL-süsteemidele nagu PostgreSQL või SQL Server) peaks toimuma projektiliselt, selgete etappidega: andmemudel, migratsioonitööriistad, paralleelkäitamine, aktsepteerimine, tagasikeeramise plaan. Mitmeplatvormsus suurendab siin survet, sest „Windows-only“ draiverid või failirajad macOS/Linux peal ei tööta enam.

Teenused ja liidesed: REST sillana platvormide vahel

Heterogeenses maastikus on REST-lähenemine (REST = HTTP-põhine liides selgete ressursside ja meetoditega) tihti kõige pragmaatilisem viis platvormide ühendamiseks. Käitamise seisukohalt tähendab see: tsentraliseeritud autentimist, standardiseeritud protokolle, paremat jälgitavust (logid/mõõdikud) ja selget eraldamist kliendi ja andmebaasi vahel.

Delphi REST-server vs. kliendi otsene DB-juurdepääs

Paljud olemasolevad töölaualahendused kasutavad kliendi otsest andmebaasijuurdepääsu. Puhastes Windows-võrkudes oli see pikka aega tavaline. Mitmeplatvormsuse ja kaasaegse turvalisuse puhul muutub see raskemaks:

  • Võrgusegmentimine: andmebaasid ei asu enam samas võrgus kui kliendid; tulemüürid on rangemad.
  • VPN/Zero Trust: otsesed DB-ühendused läbi muutuvate võrkude on vigadele altid.
  • Audiit ja õigused: rakenduse spetsiifilisi õigusi on raske korrektselt kaardistada, kui iga klient suhtleb otse SQL-iga.

Üks REST-server (või teenusekiht) suudab need punktid tsentraliseerida: autentimine, õiguste haldus, protokollimine, rate-limiting, versioonihaldus. Adminide jaoks on see sageli lihtsam hallata kui „sada klienti andmebaasi ligipääsuga“.

Autentimine ja SSO: SAML 2.0, OAuth, tokenid

B2B-keskkonnas on Single Sign-on (SSO) sageli kohustuslik. SAML 2.0 (standard Identity-Federation jaoks Identity Provider’i ja rakenduse vahel) või OAuth/OpenID Connect (tokenipõhised protseduurid) on tüüpilised komponendid. Oluline ei ole buzzword, vaid käitlusküsimus: kus identiteedid paiknevad, kuidas käib provisioning, kuidas kaitstakse tokeneid ja kuidas logitakse juurdepääse auditeeritavalt?

Deployment und Packaging: Der unterschätzte Aufwand

Delphi mitmeplatvormiline für Windows, macOS und Linux tähendab samuti: kolm eri maailma pakendimises. Paljud kulud tekivad alles pärast esimest Go-live’i, kui uuendusi tuleb regulaarselt juurutada.

Windows: Installer, õigused, teenused

Windows puhul on tavalised MSI/Installer-protsessid, grupipoliitikad, UAC (User Account Control) ja koodi allkirjastamine. Kui Windows- ja Linux-teenused on kaasatud, tuleb lisateemasid: teenusekonto, õigused failisüsteemil ja võrgus, käivitamisjärjestus, taastamisvalikud ja logide rotatsioon. Hoolduse jaoks on oluline, et teenus oleks selgelt versioonihaldatud ja saaks ilma käsitsi sekkumiseta uuenduda.

macOS: notariseerimine, allkirjastamine ja Gatekeeper

macOS nõuab hajutatud rakenduste puhul tavaliselt allkirjastamist ja sõltuvalt levikanalist notariseerimist (kontrolliprotsess, et Gatekeeper rakendust käivitaks). Ettevõtete jaoks on see vähem „Apple-teema“ ja pigem protsessiküsimus: kes haldab sertifikaate, kuidas käib build-pipeline, kuidas luuakse reprodutseeritavad väljalasked? Ilma selle distsipliinita muutub iga Hotfix üksikuks tegevuseks.

Linux: paketid, sõltuvused, systemd

Linux puhul on olulised systemd-ühikud (määratlused, kuidas teenused käivituvad ja neid jälgitakse), pakendivormingud (nt DEB/RPM) või konteineripõhised juurutused. Adminide jaoks loevad: selge konfiguratsioon, määratletud teed, mõistlikud logid (nt journald kaudu), tervisekontrollid ja uuendusteed, mis on ühilduvad teie distributsioonipoliitikaga.

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

Kolme sihtplatvormi juures muutub „Build per Hand“ riskiks. CI/CD (Continuous Integration/Continuous Delivery) ei tähenda siin tingimata „kõik täielikult automaatselt tootmisse“, vaid eelkõige: reprodutseeritavad artefaktid, jälgitavad versioonid ja standardiseeritud testimis- ning vabastusprotsess.

Praktikas peaksite vähemalt määratlema:

  • Build-Matrix: millised platvormid, millised variandid (Debug/Release), millised andmebaasidraiverid, millised valikulised moodulid?
  • Versionierung: ühtsed versiooninumbrid kliendi ja serveri vahel, pluss andmebaasi migratsiooniseisud.
  • Signierung: kus allkirjastatakse, kuidas kaitstakse võtmeid (nt HSM või turvatud build-agentid)?
  • Smoke-Tests: minimaalsed funktsionaalsuse kontrollid platvormi kohta, mis võivad blokeerida iga release-kandidaadi.

Otsustajatele on see juhtimisküsimus: ilma väljalasete distsipliinita muutub mitmeplatvormne toetus aja jooksul kallimaks, sest vigade reprodutseerimine muutub raskemaks ja Hotfix’id võivad põhjustada platvormiti erinevaid kõrvalmõjusid.

Monitooring, logimine und Fehleranalyse: Was im Betrieb wirklich zählt

Igapäevatöös vajavad IT-tiimid kiireid vastuseid: „Miks protsess jäi kinni?“, „Kas tegemist on kliendidepoole või backend-probleemiga?“, „Millisest ajast see esineb?“ Mitmeplatvormilisus suurendab varieeruvust, seetõttu peab jälgitavus paranema.

Ühtne logistrateegia kliendi ja serveri vahel

Tõestatud on astmeline logistrateegia:

  • Client-Logs: lokaalsed logid rotatsiooniga, üheselt määratletud korrelatsiooniviitega (nt Request-ID), andmekaitsenõuetele vastav.
  • Server-Logs: tsentraliseeritud salvestus, struktureeritud kirjed (korralikult ajastatud, masinloetavad), audit- ja debug-logide eristamine.
  • Metriken: vastusajad, veamäärad, järjekordade pikkus, andmebaasi-pooli koormus.

Eriti REST-arhitektuurides on Request-ID (igal päringul üks unikaalne identifikaator, mis liigub läbi kõikide komponentide) äärmiselt väärtuslik, sest tänu sellele saab tugijuhtumeid piirata minutitega, mitte tundidega.

Crash-Handling und symbolisierte Fehlerauswertung

Lauaarvutiplatvormidel tuleb Crash-Dumps ja Stacktraces käsitleda nii, et need oleksid tugiteenuse jaoks kasutatavad ilma tundlikke andmeid lekkimata. See on organisatoorne küsimus: milliseid andmeid tohib edastada? Kuidas hangitakse nõusolek? Kuidas tagatakse debug-sümbolite turvaline säilitamine ja versioonide seostamine? Ilma nende küsimusteta muutub mitmeplatvormiline tugi sageli tööks „pimeduses“.

Turvalisus ja nõuetele vastavus: platvormid tähendavad erinevaid ründepindu

Koos Windows, macOS ja Linux ei pruugi risk automaatselt kasvada, kuid ründepind muutub mitmekesisemaks. Tavapärased punktid, mida projektides sageli liiga hilja käsitletakse:

  • Sertifikaadihaldus: TLS-sertifikaadid serveritele, kliendi-sertifikaadid, aegumiskuupäevad, automatiseeritud uuendused.
  • Secrets: andmebaasi paroolid, API-võtmed, allkirjavõtmed – mitte selges tekstis konfiguratsioonides ega paigaldusskriptides.
  • Õiguste skeem: Least-Privilege põhimõte teenuste jaoks, selge eraldus administraatori ja kasutajafunktsioonide vahel.
  • Uuendatavus: turvaparandused peavad olema kiiresti levitatavad; see sõltub otseselt pakendamis- ja väljalaskmisprotsessist.

Eriti ettevõtetes, millel on auditinõuded, tasub varakult määratleda iga platvormi jaoks lühike turvalisuse kontrollnimekiri ja lisada see vastuvõtukriteeriumitesse.

Tüüpilised lõksud mitmeplatvormiprojektides

Mõned probleemid ilmnevad korduvalt – mitte seepärast, et meeskonnad „halbalt töötaksid“, vaid sellepärast, et need olid Windows-ainelises ajaloolises kontekstis nähtamatud:

Failisüsteem ja teekonventsioonid: väike detail, suur mõju

Erinevad teekonventsioonid, suur-/väiketähtede eristamine (case-sensitivity), kasutajate kataloogid ja õigused põhjustavad vigu eksportide, manuste, ajutiste failide või vahemälu puhul. Aitab järjekindel abstraktsioonikontseptsioon: tsentraliseeritud teeteenused, määratletud rakenduste kataloogid, mitte kõvakodeeritud salvestuskohad.

Prindimine, PDF ja Office-integratsioon

Prindi- ja dokumenditöövood on äriprotsessides sageli kriitilised. Windowsl on välja kujunenud prinditeed, macOS ja Linux käituvad teisiti. Kui PDF-geneerimine, allkirjad või kviitungiväljatrükid on olulised, tuleb need funktsioonid varakult testida kõigil sihtplatvormidel – mitte alles vahetult enne juurutamist.

Unicode ja tähemärgistikud

Segaplatvormide, liideste ja andmebaaside puhul muutub Unicode (rahvusvaheliste märkide märgistikustandard) kohustuslikuks. ANSI-ajalooga vanad andmed tekitavad muidu raskesti jälgitavaid vigu otsingus, sortimises, CSV-eksportides või liidestes. Unicode-strateegia hõlmab kasutajaliidest (UI), andmebaasi veerge, liideseid ja testandmeid.

32/64-Bit ja teegisõltuvused

Klassika: draiver või kolmanda osapoole teek on saadaval ainult ühes arhitektuuris. Käitamise jaoks tähendab see: selge sõltuvuste nimekiri, versioonide dokumenteerimine, litsentsi- ja uuendatavuse kontroll. Multiplatvorm on sama stabiilne kui nõrgim sõltuvus.

Otsustusabi: Wann lohnt sich Delphi Multiplattform wirklich?

Pragmaatiline vaade kulule ja kasule aitab arutelusid asjatundlikult suunata. Multiplatvorm tasub end tavaliselt ära, kui:

  • valdkondlik tuumik on pikaajaliselt stabiilne ja selle taaskasutamine tasub end aastate jooksul ära,
  • on tõelised organisatoorsed põhjused macOS-clientide jaoks (mitte ainult ‚oleks tore‘),
  • Linux on backendis nagunii standard ja teenused/REST on planeeritud,
  • rakendust tuleb siduda ERP/DMS/CRM integratsioonivõrguga,
  • saab üles ehitada puhta release-protsessi (Build, allkirjastamine, testid).

Multiplatvorm on vähem mõttekas, kui rakendus sõltub tugevalt Windows-spetsiifilistest komponentidest (nt sügav Office-automatiseerimine, spetsiaalsed draiverid, COM-põhised integratsioonid) ja neid funktsioone ei ole selgelt kapseldada. Siis on tihti realistlikum segastrateegia: Windows-Client erijuhtudeks, portaal/REST platvormineutraalseteks protsessideks.

Moderniseerimise tee: Multiplatvorm ilma täieliku uuesti kirjutamiseta

Paljude ettevõtete jaoks on kõige olulisem: multiplatvorm ei pea tähendama kogu koodi ümberkirjutamist. Usaldusväärne teekond näeb sageli välja nii:

  1. Olekuanalüüs ja liidestepunktide määratlemine: millised moodulid on funktsionaalselt stabiilsed, millised on kasutajaliidese- või andmebaasile lähedased, kus on suurimad riskid?
  2. Andmejuurdepääsu konsolideerimine: nt BDE-Ablösung, BDE-Ablosung mit nativer Anbindung, ühtne ühenduse- ja transaktsioonistrateegia.
  3. Teenusekiht luua: REST-API tuumprotsesside jaoks, samm-sammuline asendamine otsese DB-juurdepääsu osas.
  4. Platvormide prioriseerimine: kõigepealt stabiliseerida backend auf Linux, siis macOS-Client määratletud kasutajagruppidele, mitte kõike korraga.
  5. Packaging/CI professionaliseerida: taasesitatavad Buildid ja uuendused kui projekti püsiv osa.

See tee sobib eriti hästi individuaalse ettevõtte tarkvara jaoks pika elutsükli korral, sest see kaitseb domeenilogiikat ja lammutab tehnilisi riske kontrollitult.

Järeldus: Multiplatvorm on operatiivne otsus – nicht nur eine Entwicklerentscheidung

Delphi Multiplattform für Windows, macOS und Linux võib ettevõtetele olla väga pragmaatiline viis olemasolevaid protsesse tehniliselt edasiarendada, ilma et kaotataks valdkondlikku tuuma. Otsustav on planeerida multiplatvorm kui tervikpakett: arhitektuur selgete kihtidega, konsolideeritud andmejuurdepääs, teenusepõhised liidesed, taasesitatavad Buildid, korrektne pakendamine ning logimise/monitooringu strateegia, mis lahendab tugijuhtumid kiiresti.

Kui need alused on paigas, ei muutu mitmeplatvormne lähenemine püsiprojektiks, vaid kontrollitavaks laienduseks teie ettevõtte digilahendusele – sellel on realistlikud käitmiskulud ja roadmap, mis ühendab migreerimise ja edasise arenduse.

Kui soovite oma lähteolukorda (olek, sihtplatvormid, andmebaas, liidesed ja käitlusmudel) struktureeritult hinnata: võtke meiega ühendust esialgseks tehniliseks vestluseks.

Erialases kontekstis mängib ka Delphi moderniseerimine olulist rolli, kui integratsioonid, andmevood ja edasine arendus peavad omavahel sujuvalt lõimima.

Arutage projekti või moderniseerimisettevõtmist koos Net-Base.

Järgmine samm

Kui teema muutub reaalseks projektiks, tuleks arhitektuuri, olemasolevat süsteemi ja käitust varakult ühiselt vaadelda.

Me ei toeta ainult üksikute küsimuste lahendamist, vaid ka siis, kui lähtekoodilõikudest, pärandsüsteemidest või portaalikontseptsioonidest peab saama usaldusväärne ettevõtteprojekt.

  • Olemasolev olukord, sihtpilt ja tehnilised riskid hinnatakse üheskoos.
  • REST, andmete juurdepääs, portaalid ja juurutamine ei lükata hilisemaks.
  • Te näete varakult, milline tee on majanduslikult ja operatiivselt jätkusuutlik.

Jaga postitust

Jaga seda postitust otse

LinkedIn, X, XING, Facebook, WhatsApp ja e-post on kohe saadaval. Instagrami jaoks valmistame kohe lingi ja lühiteksti ette.

e-post

Instagram avatakse uues vahekaardis. Link ja lühitekst kopeeritakse eelnevalt lõikepuhvrisse.