Basisprincipes van 4th Dimension Learning
4D, oorspronkelijk een afkorting van 4th Dimension, is een relationeel databasebeheersysteem en applicatie-ontwikkelomgeving van 4D SAS (voorheen ACI). Het combineert een eigen relationele database-engine met een geïntegreerde, objectgeoriënteerde taal (4D Langage, historisch gezien “4D” of “4D-code”) en een visuele formulierontwerper. Voor IT-bouwers in kleine teams en citizen developers is de aantrekkingskracht ervan dat één omgeving de gegevensopslag, bedrijfslogica, gebruikersinterface en implementatie omvat — je hoeft geen databaseserver, een afzonderlijk front-endframework en een webstack samen te stellen om een werkende zakelijke app te leveren.
Deze pagina maakt deel uit van de serie 4th Dimension Learning Basics. Het richt zich op de plug-inmodules die 4D historisch gezien uitbreidden voorbij pure gegevensverwerking — 4D Write, 4D Calc en 4D Draw — en plaatst deze in de bredere context van hoe 4D is gestructureerd, gelicentieerd en geïmplementeerd.
Belangrijkste punten
- 4D is een geïntegreerde database-plus-ontwikkelomgeving: tabellen, formulieren, methoden en implementatie bevinden zich in één product in plaats van in een aan elkaar geplakte stack.
- Het klassieke plug-in trio — 4D Write (tekstverwerking), 4D Calc (spreadsheet) en 4D Draw (tekenen) — breidde 4D uit tot een “geïntegreerd applicatie”-systeem, niet alleen een database.
- Plug-ins verschijnen in formulieren als gebieden, dus hun inhoud gedraagt zich als elk ander veld: het kan worden opgeslagen, weergegeven en er kan naar worden verwezen vanuit 4D-code.
- Hot links zorgen ervoor dat gegevens die in de ene plug-in worden gewijzigd, onmiddellijk worden bijgewerkt in een andere; dit is het mechanisme dat cross-module documenten mogelijk maakte.
- Modern 4D heeft deze mogelijkheden grotendeels opgenomen in het kernproduct en de component-/plug-in-architectuur, maar de ontwerpideeën leggen nog steeds uit hoe 4D-formulieren en objecten vandaag de dag werken.
- De keuze om een plug-in (of een moderne component) te gebruiken is een build-vs-buy beslissing: weeg licenties, implementatiecomplexiteit en of de functionaliteit thuishoort in de datalaag of de presentatielaag.
Hoe 4D is gestructureerd
Om de plug-ins te begrijpen, is het nodig om de lagen te begrijpen die 4D aan een ontwikkelaar blootlegt:
- Structuur — het schema: tabellen, velden, veldtypen, relaties en indexen. Dit is de datalaag.
- Formulieren — de presentatielaag. Formulieren bevatten objecten (velden, knoppen, variabelen en plug-ingebieden) die visueel zijn opgemaakt.
- Methoden — de logische laag. Objectmethoden, formuliermethoden en project-/databasemethoden bevatten de 4D-code die op gebeurtenissen reageert.
- Plug-ins en componenten — optionele modules die mogelijkheden toevoegen die de kern niet standaard biedt.
Het belangrijke architectonische punt is dat een plug-ingebied gewoon een ander object op een formulier is. Dat betekent dat een tekstverwerkingsdocument, een spreadsheet of een tekening aan een veld kan worden gebonden, in code met naam kan worden aangeroepen en als gegevens kan worden behandeld. Dit is een wezenlijk ander model dan het behandelen van een document als een ondoorzichtige bestandsbijlage.
Het klassieke plug-intrio
De originele documentatie beschreef 4D Write, 4D Calc en 4D Draw als modules die “samen met 4D de 4D-omgeving vormen”. Elk werd afzonderlijk gelicentieerd, historisch gezien tegen een bescheiden prijs per platform, en elk breidde een andere functionaliteit uit.
4D Write — Tekstverwerking
4D Write breidt de tekstverwerkingsmogelijkheden van uw 4D-databases uit. Hiermee kunt u documenten zoals brieven, rapporten, memo’s en notities rechtstreeks in uw 4D-formulieren opnemen.
Gerelateerd: — Een spreadsheet-eenvoudige interface bovenop een echte relationele database, met automatiseringen, weergaven en deelbare interfaces..
- In een formulier verschijnt een 4D Write-gebied als onderdeel van uw gegevens, net als een naam of elk ander stukje informatie.
- Als aparte applicatie kunt u 4D Write in externe vensters gebruiken, waar uw werk onafhankelijk van uw database kan zijn of kan worden gekoppeld aan informatie in uw database of in andere plug-ins.
Praktische toepassingen zijn onder meer brieven in mailmerge-stijl aangestuurd door recordgegevens, opgemaakte rapportteksten en uitgebreide notities gekoppeld aan een klant- of caserecord.
4D Calc — Spreadsheet
4D Calc voegt spreadsheetmogelijkheden toe aan uw 4D-databases. Waar 4D Write proza verwerkt, verwerkt 4D Calc rasters van getallen en formules.
- Handig voor budgettering, schattingen en elke tabellarische berekening die een gebruiker verwacht te bewerken als een spreadsheet.
- Omdat het een plug-ingebied is, kan het blad bij het record worden opgeslagen en kan er vanuit 4D-code naar worden verwezen.
4D Draw — Tekenen
4D Draw breidt de tekenmogelijkheden van uw 4D-databaseformulieren uit en stelt u in staat om aangepaste tekeningen in uw formulieren op te nemen.
Als u aan het winkelen bent: — Een die aansluit op de bredere Zoho-suite en prijzen per gebruiker in plaats van per app..
- Bij gebruik in een formulier verschijnt een 4D Draw-gebied als onderdeel van uw gegevens, net als elk ander stukje informatie.
- U kunt tekeningen openen of importeren in PICT-formaat (van andere objectgeoriënteerde tekenprogramma’s), MacPaint-formaat en Encapsulated PostScript (EPSF)-formaat.
Deze importformaten zijn een nuttig historisch kenmerk: ze weerspiegelen het op Macintosh gerichte desktop publishing-tijdperk waarin 4D voor het eerst volwassen werd. Modern 4D-werk maakt in plaats daarvan doorgaans gebruik van platform-native beeldverwerking en standaardformaten zoals PNG, JPEG en PDF, maar het onderliggende idee — een tekenbaar gebied dat aan een record is gebonden — blijft bestaan.
Waarom “geïntegreerde applicaties” ertoe deden
De oorspronkelijke framing is de moeite waard om te behouden omdat deze de ontwerpfilosofie verklaart: met deze plug-ins wordt 4D een systeem dat geïntegreerde applicaties kan bedienen, naast een database die informatie kan opslaan en manipuleren.
De plug-ins zijn toegankelijk vanuit 4D, waar ze zelfstandig, met data in 4D en met elkaar kunnen werken. Het bindweefsel is de hot link:
Hot links zijn dynamisch — informatie die in de ene plug-in wordt gewijzigd, wordt onmiddellijk bijgewerkt in een andere.
Een concreet voorbeeld: een 4D Calc-blad berekent een totaal, een 4D Write-brief verwijst naar dat totaal, en beide worden in hetzelfde record opgeslagen. Verander een getal op het blad en de brief weerspiegelt dit zonder handmatige kopieerstap. Dat is de belofte van geïntegreerde toepassingen in het klein.
Plug-ins versus moderne componenten: hoe te beslissen
Het plug-inmodel is geëvolueerd. Moderne 4D wordt geleverd met een componentarchitectuur en een groot aantal ingebouwde opdrachten, en veel mogelijkheden die ooit een afzonderlijke aankoop vereisten, zijn nu native of beschikbaar als componenten. Wanneer u vandaag besluit hoe u een functionaliteit wilt toevoegen, gebruikt u deze lijst met criteria:
| Criterium | Geef de voorkeur aan een ingebouwde / native functie | Geef de voorkeur aan een plug-in of component |
|---|---|---|
| Geschiktheid gegevensmodel | De functionaliteit is kernonderdeel (tekst, getallen, datums, relaties) | De functionaliteit is gespecialiseerd (rich text, grafieken, apparaatintegratie) |
| Implementatie | U wilt een enkele, eenvoudige installatie | U kunt aanvullende licenties en versiebeheer beheren |
| Onderhoud | U wilt dat 4D SAS het onderhoudt | Een derde partij onderhoudt het en u accepteert die afhankelijkheid |
| Draagbaarheid | U wilt mogelijk van platform wisselen of naar het web verhuizen | De functionaliteit is desktopspecifiek en dat is acceptabel |
| Kosten | Het budget is krap | De functionaliteit rechtvaardigt de licentie |
Een praktische regel: als de functionaliteit thuishoort in de gegevenslaag (informatie opslaan en opvragen), geef dan de voorkeur aan native functies. Als het thuishoort in de presentatielaag (hoe een document of tekening eruitziet), is een plug-in of component vaak het juiste hulpmiddel.
Praktische begeleiding voor nieuwe 4D-ontwikkelaars
Als u vandaag de dag 4D leert, is de geschiedenis van de plug-ins geen triviale kwestie — het leert u gewoonten die nog steeds van toepassing zijn:
- Bind objecten bewust aan velden. Bepaal of een formulierobject een weergave is van opgeslagen gegevens of een tijdelijke variabele. Dit is dezelfde beslissing die de plug-ingebieden afdwongen.
- Houd logica in methoden, niet in de lay-out. Formulierobjecten moeten presenteren; methoden moeten beslissen.
- Denk na over de voortplanting van updates. Het hot-link-idee gaat eigenlijk over het vermijden van verouderde kopieën van gegevens. In moderne apps betekent dit het normaliseren van gegevens en er naar verwijzen in plaats van deze te dupliceren.
- Respecteer het licentiemodel. 4D heeft historisch gezien een scheiding aangebracht tussen de ontwikkelomgeving, de implementatie/runtime en optionele modules. Begrijp wat uw gebruikers nodig hebben voordat u zich aan een architectuur committeert.
- Plan voor het web. 4D kan web- en REST-clients bedienen; als toegang op afstand waarschijnlijk is, ontwerp dan vanaf het begin uw structuur en methoden met dat in gedachten.
Waar 4D zich in het low-code-landschap bevindt
4D dateert al tientallen jaren vóór de moderne ‘low-code’-categorie, maar behoort tot dezelfde familie van ideeën: een visuele ontwerper plus een scripttaal plus een beheerde runtime. Het is de moeite waard om het te vergelijken met aangrenzende tools en standaarden die u misschien al kent:
- FileMaker (nu Claris FileMaker) — een vergelijkbaar geïntegreerd database- en UI-product met een sterke aanhang van citizen-developers.
- Microsoft Access — relationele desktopdatabase met formulieren en macro’s, veel gebruikt voor apps voor kleine teams.
- Low-code platforms zoals die worden gevolgd door analistenbureaus — breder, cloud-first en vaak zwakker op het gebied van diepgaande relationele modellering.
- SQL-standaarden — de querytaal en SQL-ondersteuning van 4D verbinden het met de bredere relationele wereld; zie het Wikipedia-artikel over SQL voor de standaardwoordenschat.
- Relationeel model — de theoretische basis onder al deze instrumenten; het artikel relationeel model is een goede opfrisser.
Voor gezaghebbende achtergrondinformatie over databasesystemen in het algemeen publiceren de Association for Computing Machinery en de IEEE Computer Society veelgebruikte curricula en standaardmateriaal. Voor webgerelateerde zaken zoals HTTP en REST is het World Wide Web Consortium de canonieke referentie.
Veelvoorkomende valkuilen en kanttekeningen
- Verwar een plug-ingebied niet met een bestandsveld. Een plug-ingebied is een interactief object; een bestands- of afbeeldingsveld is opslag. Ze kunnen worden gecombineerd, maar ze zijn niet hetzelfde.
- Let op platform-aannames. De importformaten PICT en MacPaint in 4D Draw zijn legacy Mac-formaten. Bouw er geen moderne workflow omheen.
- Beheer de versies van uw afhankelijkheden. Plug-ins en componenten moeten overeenkomen met uw 4D-versie. Een mismatch is een veelvoorkomende oorzaak van opstartfouten.
- Budgetteer voor de runtime. Ontwikkelingslicenties en implementatie-/runtimelicenties zijn afzonderlijke zaken in het 4D-model; plan voor beide.
- Test hot-link-achtig gedrag expliciet. Telkens wanneer twee weergaven van dezelfde gegevens kunnen uiteenlopen, schrijft u een test die bewijst dat ze synchroon blijven.
Veelgestelde vragen
Waar wordt 4D Write voor gebruikt?
4D Write voegt tekstverwerkingsmogelijkheden toe aan een 4D-database. Hiermee kunt u documenten zoals brieven, rapporten, memo’s en notities in uw formulieren insluiten, waarbij het document zich gedraagt als elk ander stukje gegevens. U kunt het ook in externe vensters openen, onafhankelijk van de database of gekoppeld aan database-informatie.
Wat is het verschil tussen 4D Calc en een normaal 4D-veld?
Een normaal veld slaat één enkele waarde op, terwijl 4D Calc een spreadsheetgebied biedt met formules en een raster van cellen. Het is handig wanneer gebruikers verwachten dat ze tabelberekeningen rechtstreeks kunnen bewerken. Omdat het een plug-ingebied is, kan het blad nog steeds worden opgeslagen op een record en kan er vanuit een record naar worden verwezen.
Welke bestandsformaten kan 4D Draw importeren?
4D Draw kan tekeningen in PICT-formaat openen of importeren vanuit andere objectgeoriënteerde tekentoepassingen, MacPaint-formaat en Encapsulated PostScript (EPSF)-formaat. Dit zijn verouderde desktop-publishing-formaten, dus moderne projecten gebruiken doorgaans in plaats daarvan standaard afbeeldings- en PDF-formaten.
Wat is een hot link in 4D?
Een hot link is een dynamische verbinding tussen plug-ins waarbij informatie die in de ene plug-in wordt gewijzigd, onmiddellijk in een andere wordt bijgewerkt. Het is het mechanisme dat ervoor zorgt dat een spreadsheet, een document en een tekening in hetzelfde record consistent blijven zonder handmatig kopiëren.
Heb ik deze plug-ins vandaag de dag nog steeds nodig om een 4D-applicatie te bouwen?
Niet noodzakelijkerwijs. Modern 4D bevat van nature veel mogelijkheden en ondersteunt een componentarchitectuur, dus veel van wat ooit een afzonderlijke plug-in vereiste, is nu ingebouwd of beschikbaar als component. De plug-inconcepten blijven nuttig omdat ze uitleggen hoe 4D-vormobjecten en databinding werken.
Hoe moet een beginner kiezen tussen native functies en een plug-in?
Geef de voorkeur aan native functies wanneer de mogelijkheid thuishoort in de datalaag — het opslaan, opvragen en relateren van informatie. Overweeg een plug-in of component wanneer de mogelijkheid gespecialiseerd en presentatiegericht is, zoals rijke documenten of tekeningen, en wanneer u de extra licenties en het onderhoud dat daarmee gepaard gaat kunt accepteren.
Veelgestelde vragen
Waar wordt 4D Write voor gebruikt?
4D Write voegt tekstverwerkingsmogelijkheden toe aan een 4D-database. Hiermee kunt u documenten zoals brieven, rapporten, memo's en notities in uw formulieren insluiten, waarbij het document zich gedraagt als elk ander stukje gegevens. U kunt het ook in externe vensters openen, onafhankelijk van de database of gekoppeld aan database-informatie.
Wat is het verschil tussen 4D Calc en een normaal 4D-veld?
Een normaal veld slaat één enkele waarde op, terwijl 4D Calc een spreadsheetgebied biedt met formules en een raster van cellen. Het is handig wanneer gebruikers verwachten dat ze tabelberekeningen rechtstreeks kunnen bewerken. Omdat het een plug-ingebied is, kan het blad nog steeds worden opgeslagen op en kan er vanuit een record naar worden verwezen.
Welke bestandsformaten kan 4D Draw importeren?
4D Draw kan tekeningen in PICT-indeling openen of importeren vanuit andere objectgeoriënteerde tekentoepassingen, MacPaint-indeling en Encapsulated PostScript (EPSF)-indeling. Dit zijn oudere desktop-publishing-formaten, dus moderne projecten gebruiken in plaats daarvan doorgaans standaard afbeeldings- en PDF-formaten.
Wat is een hotlink in 4D?
Een hotlink is een dynamische verbinding tussen plug-ins waarbij informatie die in de ene plug-in wordt gewijzigd, onmiddellijk in een andere wordt bijgewerkt. Het is het mechanisme dat ervoor zorgt dat een spreadsheet, een document en een tekening in dezelfde record consistent blijven zonder handmatig kopiëren.
Heb ik deze plug-ins vandaag nog nodig om een 4D-applicatie te bouwen?
Niet noodzakelijkerwijs. Moderne 4D bevat van nature veel mogelijkheden en ondersteunt een componentarchitectuur. Veel van wat ooit een afzonderlijke plug-in vereiste, is nu ingebouwd of beschikbaar als component. De plug-inconcepten blijven nuttig omdat ze uitleggen hoe 4D-vormobjecten en databinding werken.
Hoe moet een beginner kiezen tussen native features en een plug-in?
Geef de voorkeur aan native features als de mogelijkheid thuishoort in de datalaag: het opslaan, opvragen en relateren van informatie. Overweeg een plug-in of component als de mogelijkheden gespecialiseerd en presentatiegericht zijn, zoals rijke documenten of tekeningen, en als u de extra licenties en het onderhoud kunt accepteren die daarmee gepaard gaan.
Probeer FileMaker 45 dagen gratis
Het langlopende relationele databaseplatform voor teams die aangepaste apps nodig hebben op desktop, internet en mobiel vanuit één bestand.