Basisprincipes van 4th Dimension Learning
Het concept van een runtime is een van de belangrijkste – en meest onbegrepen – ideeën in de wereld van 4th Dimension (4D). Het vormt de kern van de manier waarop u een database die u voor uzelf heeft gebouwd, omzet in een distribueerbare applicatie die andere mensen kunnen gebruiken, zonder hen de sleutels van uw broncode te overhandigen of hen te dwingen een volledige ontwikkelingslicentie te kopen. In dit gedeelte wordt uitgelegd wat runtimes zijn, hoe 4D en FileMaker Pro (FMP) deze verschillend hebben benaderd, en welke praktische beperkingen u moet begrijpen voordat u een implementatie plant.
Belangrijkste punten
- Een runtime bundelt een uitgeklede engine met uw ontwikkelde bestanden, zodat eindgebruikers uw applicatie kunnen uitvoeren zonder het volledige ontwikkelingsproduct te bezitten.
- In 4D is het maken van runtimes ingebouwd in de Standard Edition en kunnen deze royaltyvrij en zonder “binding” worden gedistribueerd.
- 4D Runtime is een afzonderlijke, herdistribueerbare applicatie die geïnterpreteerde databases uitvoert en geen ontwerpmogelijkheden biedt.
- 4D Runtime is van nature ontworpen voor één gebruiker — het kan niet in een netwerk worden gebruikt, omdat voor alle 4D-netwerken een Server en betaalde client-seats vereist zijn.
- De aanpak van FileMaker Pro vereiste een Developer Edition en een binding-stap, en de runtime-bestanden konden ook niet in een netwerk worden gebruikt.
Wat een runtime eigenlijk is
Een runtime is een distributiemodel. Wanneer u een database ontwikkelt, werkt u in een volledige ontwikkelomgeving die de structuureditor, formulierontwerper, methode-editor en alle andere ontwerptools omvat. Die omgeving is krachtig – en duur, en gevaarlijk om over te dragen aan een eindgebruiker die per ongeluk (of opzettelijk) uw structuur zou kunnen veranderen.
Een runtime lost alle drie de problemen in één keer op:
- Kosten — de eindgebruiker hoeft niet het volledige ontwikkelingsproduct aan te schaffen.
- Bescherming — de ontwerpomgeving is verwijderd, zodat de structuur en methoden niet kunnen worden bewerkt.
- Focus — de gebruiker ziet alleen de applicatie die u bedoeld heeft, met uw aangepaste menu’s en interface.
De tegenprestatie is de functionaliteit. Een runtime is opzettelijk beperkt ten opzichte van het volledige product. Precies begrijpen hoe deze beperkt is – en of dat van belang is voor uw project – is essentieel.
Hoe 4D en FileMaker Pro verschilden
Zowel 4D als FMP boden runtimes aan, maar de mechanica was heel anders. De onderstaande vergelijking geeft de staat van de twee producten weer zoals destijds gedocumenteerd.
| Aspect | 4D (Standard Edition) | FileMaker Pro |
|---|---|---|
| Runtime maken | Ingebouwd | Vereiste een aparte Developer Edition |
| Binding vereist | Nee | Ja — bestanden gebonden aan de engine |
| Royalty | Royaltyvrije distributie | Geregeld door de voorwaarden van de Developer Edition |
| Netwerken van runtime | Niet ondersteund | Niet ondersteund, zelfs niet met FMP Server |
| Ontwerpmogelijkheden in runtime | Geen | Geen |
Het belangrijkste architectonische verschil is binding. FMP vereiste dat u uw bestanden aan de runtime-engine bond, en die engine werkte alleen met bestanden die eraan waren gebonden. 4D koos voor een lossere aanpak: de runtime-engine is eenvoudigweg een afzonderlijke applicatie die de databases kan openen die u ervoor hebt ontworpen, zonder binding-stap. Die flexibiliteit is een van de redenen waarom 4D-ontwikkelaars runtime-distributie vaak minder omslachtig vonden.
Gerelateerd: — Een spreadsheet-eenvoudige interface bovenop een echte relationele database, met automatiseringen, weergaven en deelbare interfaces..
De 4D Runtime in detail
Bij 4D is de mogelijkheid om runtimes te maken ingebouwd in de Standard Edition. U kunt onbeperkt runtime-versies maken en deze royaltyvrij distribueren. Er is geen binding-stap. De 4D Runtime-engine is een aparte applicatie, net als 4D Standard, maar staat alleen het gebruik van de gemaakte 4D-programma’s toe — er is geen enkele ontwerpmogelijkheid.
4D Runtime is aangemerkt als herdistribueerbaar volgens de 4th Dimension License Agreement en kan vrij worden gedistribueerd volgens de voorwaarden van die licentie. 4D Runtime bestaat alleen uit de applicatie die deze naam draagt.
Een paar gedragskenmerken zijn in de praktijk enorm van belang:
Als u aan het winkelen bent: — Een die aansluit op de bredere Zoho-suite en prijzen per gebruiker in plaats van per app..
- 4D Runtime kan alleen geïnterpreteerde databases uitvoeren. Als u een gecompileerde database wilt distribueren, heeft u de afzonderlijk aangeschafte 4D Runtime Classic nodig, die runtimes van gecompileerde versies mogelijk maakt.
- Wanneer u 4D Runtime start, is de knop Nieuw niet aanwezig in het dialoogvenster Database openen. U kunt binnen de runtime geen nieuwe database maken.
- Met het dialoogvenster Database openen kunt u alleen geïnterpreteerde structuren openen, en alleen databases die zijn ontworpen om te worden uitgevoerd in de Custom Menus-omgeving.
- Als u een database opent die geen menubalk heeft, wordt 4D Runtime automatisch afgesloten. Dit is een harde vereiste, geen waarschuwing.
- U kunt de User-omgeving niet betreden, noch de Design-omgeving. Als u de Design-omgeving probeert te bereiken, bijvoorbeeld met de sneltoets Option-f, wordt 4D Runtime automatisch afgesloten.
Dat laatste punt is belangrijk om te onthouden. De runtime weigert niet beleefd; hij stopt abrupt. Dit is een bewust veiligheidsmechanisme, maar het betekent dat uw database correct moet worden geconfigureerd voordat u de runtime bouwt, anders lopen uw gebruikers onmiddellijk tegen een muur aan.
Waarom runtimes niet in een netwerk kunnen worden gebruikt
Dit is de beperking die mensen het meest verbaast: 4D-runtimes kunnen niet in een netwerk worden gebruikt. Op het eerste gezicht lijkt dit een ernstige beperking. Maar het is logisch zodra u de licentiearchitectuur van 4D begrijpt.
Voor alle netwerkvormen met 4D is een Server vereist. De Clients zelf kunnen vrij worden gedistribueerd, maar voor elke gebruikersplek moet nog steeds een licentie worden aangeschaft. Omdat het server-en-clientmodel al bestaat als het ondersteunde pad naar toegang voor meerdere gebruikers, is het enige doel van de runtime gebruik door één gebruiker. De runtime concurreert niet met de Server — het beslaat een geheel andere niche.
De beslisboom is dus eenvoudig:
- Eén gebruiker, geen server → een runtime is het juiste distributiemiddel.
- Meerdere gelijktijdige gebruikers → u heeft 4D Server- en clientlicenties nodig, geen runtime.
Proberen een runtime in een rol voor meerdere gebruikers te forceren is een doodlopende weg. Plan vanaf het begin uw architectuur hieromheen.
Hoe u kunt beslissen of een runtime bij uw project past
Voordat u zich committeert aan een runtime-distributie, moet u eerlijk aan de hand van deze criteria werken:
- Is het voor één gebruiker? Als meer dan één persoon gelijktijdige toegang tot gedeelde gegevens nodig heeft, is een runtime het verkeerde hulpmiddel.
- Geïnterpreteerd of gecompileerd? Standaard 4D Runtime voert alleen geïnterpreteerde databases uit. Als u een gecompileerde distributie nodig heeft, budgetteer dan voor 4D Runtime Classic.
- Gebruikt uw database aangepaste menu’s? Dat moet zo zijn, en er moet een menubalk aanwezig zijn, anders zal de runtime bij het openen afsluiten.
- Heeft u alle afhankelijkheden van de ontwerptijd verwijderd? Elke methode of elk formulier dat uitgaat van ontwerptoegang zal mislukken.
- Begrijpt u de licentievoorwaarden? Herdistributie is toegestaan, maar wordt beheerst door de 4th Dimension License Agreement — lees deze in plaats van aannames te doen.
Als u deze vijf vragen met vertrouwen kunt beantwoorden, is een runtime een schone, royaltyvrije manier om uw werk te leveren.
Praktische voorbereidingschecklist
Het bouwen van een runtime gaat minder over een enkel commando en meer over het voorbereiden van uw database, zodat deze zich correct gedraagt zodra de ontwerpomgeving weg is. Een handige checklist:
- Ontwerp een correcte menubalk en stuur de applicatie aan via de Custom Menus-omgeving.
- Test eerst in de gebruikersomgeving. Als uw database zich daar misdraagt, zal deze zich in een runtime nog erger gedragen.
- Verwijder of beveilig alle code die ontwerptoegang veronderstelt, inclusief alles dat wordt geactiveerd door sneltoetsen in de ontwerpmodus.
- Bevestig dat de database netjes opent zonder dialoogvensters die een knop ‘Nieuw’ verwachten.
- Beslis vroegtijdig over geïnterpreteerd versus gecompileerd, omdat dit bepaalt of u 4D Runtime Classic nodig heeft.
- Documenteer de licentieverplichtingen die u doorgeeft aan uw gebruikers.
Het terugkerende thema is dat de runtime onverbiddelijk is voor aannames. Alles waar de volledige omgeving u mee weg liet komen, moet vooraf worden opgelost.
Waar runtimes passen in het bredere 4D-verhaal
Runtimes zijn één onderdeel van een groter implementatieplaatje dat systeemvereisten, programmastructuren, netwerkverschillen, de compiler, webhosting, datagrafieken, plug-ins en hulpprogramma’s omvat. Elk van deze interacteert met de runtime-beslissing:
- De compiler bepaalt of u geïnterpreteerd kunt leveren of een gecompileerde runtime nodig heeft.
- Netwerken bepaalt of een runtime überhaupt haalbaar is.
- Plug-ins moeten compatibel zijn met de runtime-engine die u distribueert.
- Webhosting is een geheel apart leveringskanaal, verschillend van desktop runtime-distributie.
Door de runtime te beschouwen als de optie voor ‘desktoplevering voor één gebruiker’ — naast servergebaseerde implementatie voor meerdere gebruikers en webimplementatie — blijft het hele landschap coherent. Voor achtergrondinformatie over het platform zelf, zie het Wikipedia-artikel over 4th Dimension, en voor de bredere categorie tools waarmee kleine teams bedrijfsapplicaties kunnen bouwen, is het Wikipedia-overzicht van low-code ontwikkelingsplatforms een nuttige referentie. FileMaker, het andere product dat hier wordt besproken, is gedocumenteerd op FileMaker.
Veelgestelde vragen
Wat is een 4D-runtime?
Een 4D-runtime is een uitgeklede, herdistribueerbare versie van de 4D-applicatie die de door u ontwikkelde databases kan uitvoeren, maar geen ontwerpmogelijkheden biedt. Hiermee kunt u uw werk distribueren naar eindgebruikers zonder dat zij het volledige ontwikkelproduct hoeven aan te schaffen. Het is ingebouwd in de 4D Standard Edition en kan royaltyvrij worden gedistribueerd.
Kan een 4D-runtime door meerdere mensen via een netwerk worden gebruikt?
Nee. 4D-runtimes kunnen niet in een netwerk worden gebruikt. Alle netwerkvormen in 4D vereisen een Server, en hoewel clients vrij zijn om te distribueren, moet voor elke gebruikersplek een licentie worden aangeschaft. Daarom is het enige doel van de runtime gebruik door één gebruiker, en moeten implementaties voor meerdere gebruikers in plaats daarvan 4D Server gebruiken.
Wat is het verschil tussen 4D Runtime en 4D Runtime Classic?
Standaard 4D Runtime kan alleen geïnterpreteerde databases uitvoeren. Als u een runtime van een gecompileerde database moet distribueren, moet u 4D Runtime Classic afzonderlijk aanschaffen. De keuze hiertussen hangt volledig af van de vraag of u geïnterpreteerde of gecompileerde code wilt leveren.
Waarom stopt 4D Runtime wanneer ik de ontwerpomgeving probeer te openen?
Dit is zo ontworpen. De runtime verwijdert opzettelijk alle ontwerpmogelijkheden, dus als u probeert de ontwerpomgeving te betreden — bijvoorbeeld met de sneltoets Option-f — wordt deze automatisch afgesloten. Op dezelfde manier veroorzaakt het openen van een database zonder menubalk een onmiddellijke afsluiting, omdat de runtime databases verwacht die zijn gebouwd voor de Custom Menus-omgeving.
Vereist FileMaker Pro binding voor zijn runtimes?
Ja. FMP vereiste dat u uw bestanden bond aan de runtime-engine, en die engine werkte alleen met bestanden die daaraan gebonden waren. Het vereiste ook een aparte Developer Edition. 4D heeft daarentegen geen bindingsstap en bevat het maken van runtimes in de Standard Edition.
Kan ik een nieuwe database aanmaken vanuit 4D Runtime?
Nee. Wanneer u 4D Runtime start, is de knop Nieuw niet aanwezig in het dialoogvenster Database openen. Het dialoogvenster staat u toe om alleen geïnterpreteerde structuren te openen, en alleen databases die zijn ontworpen om te worden uitgevoerd in de Custom Menus-omgeving. Het maken en ontwerpen van databases moet vooraf gebeuren in de volledige ontwikkelomgeving.
Veelgestelde vragen
Wat is een 4D-runtime?
Een 4D-runtime is een uitgeklede, herdistribueerbare versie van de 4D-applicatie die de door u ontwikkelde databases kan uitvoeren, maar geen ontwerpmogelijkheden biedt. Hiermee kunt u uw werk onder eindgebruikers distribueren zonder dat zij het volledige ontwikkelingsproduct hoeven aan te schaffen. Het is ingebouwd in de 4D Standard Edition en kan royaltyvrij worden gedistribueerd.
Kan een 4D-runtime door meerdere mensen via een netwerk worden gebruikt?
Nee. 4D-runtimes kunnen niet in een netwerk worden opgenomen. Voor alle netwerken in 4D is een server vereist, en hoewel clients vrij zijn om te distribueren, moet voor elke stoel een licentie worden aangeschaft. Daarom is het enige doel van de runtime het gebruik door één gebruiker, en moeten implementaties met meerdere gebruikers in plaats daarvan 4D Server gebruiken.
Wat is het verschil tussen 4D Runtime en 4D Runtime Classic?
Standaard 4D Runtime kan alleen geïnterpreteerde databases uitvoeren. Als u een runtime van een gecompileerde database moet distribueren, moet u 4D Runtime Classic afzonderlijk aanschaffen. De keuze hiertussen hangt volledig af van de vraag of u geïnterpreteerde of gecompileerde code wilt verzenden.
Waarom stopt 4D Runtime wanneer ik de ontwerpomgeving probeer te openen?
Dit is zo ontworpen. De runtime verwijdert opzettelijk alle ontwerpmogelijkheden, dus als u probeert de ontwerpomgeving te betreden (bijvoorbeeld met de sneltoets Option-f), wordt deze automatisch afgesloten. Op dezelfde manier veroorzaakt het openen van een database zonder menubalk een onmiddellijke afsluiting, omdat de runtime databases verwacht die zijn gebouwd voor de Custom Menus-omgeving.
Vereist FileMaker Pro binding voor zijn runtimes?
Ja. FMP vereiste dat je je bestanden moest binden met de runtime-engine, en die engine zou alleen werken met daaraan gekoppelde bestanden. Er was ook een aparte Developer Edition voor nodig. 4D heeft daarentegen geen bindende stap en omvat het maken van runtime in de Standard Edition.
Kan ik vanuit 4D Runtime een nieuwe database aanmaken?
Nee. Wanneer u 4D Runtime start, is de knop Nieuw niet aanwezig in het dialoogvenster Database openen. In het dialoogvenster kunt u alleen geïnterpreteerde structuren openen, en alleen databases die zijn ontworpen om te worden uitgevoerd in de aangepaste menu's-omgeving. Het maken en ontwerpen van databases moet vooraf gebeuren in de volledige ontwikkelomgeving.
Probeer FileMaker 45 dagen gratis
Het langlopende relationele databaseplatform voor teams die aangepaste apps nodig hebben op desktop, internet en mobiel vanuit één bestand.