Spring til hovedindhold
HPO Software Trin-for-trin guides til 4D-databaser og low-code app-udvikling — fra din første tabel til en færdig business app.

Nogle links på dette websted er affiliate-links: Hvis du køber gennem dem, kan vi modtage en kommission uden ekstra omkostninger for dig. Dette påvirker aldrig vores anbefalinger. Se vores affiliate-oplysning for detaljer. Affiliate-oplysning.

4. dimension læringsgrundlag

Konceptet med en runtime er en af de vigtigste — og mest misforståede — idéer i 4th Dimension (4D)-verdenen. Det er kernen i, hvordan du forvandler en database, du har bygget til dig selv, til en distribuerbar applikation, som andre kan bruge, uden at give dem nøglerne til din kildekode eller tvinge dem til at købe en fuld udviklingslicens. Dette afsnit forklarer, hvad runtimes er, hvordan 4D og FileMaker Pro (FMP) greb dem forskelligt an, og hvilke praktiske begrænsninger du skal forstå, før du planlægger en implementering.

Key Takeaways

  • En runtime bundter en strippet motor med dine udviklede filer, så slutbrugere kan køre din applikation uden at eje det fulde udviklingsprodukt.
  • I 4D er runtime-oprettelse indbygget i Standard Edition og kan distribueres royaltyfrit og uden “binding”.
  • 4D Runtime er en separat, redistribuerbar applikation, der kører fortolkede databaser og tilbyder ingen designmuligheder.
  • 4D Runtime er single-user by design — den kan ikke netværksforbindes, fordi al 4D-netværksdrift kræver en server og betalte klientpladser.
  • FileMaker Pros tilgang krævede en Developer Edition og et bindingstrin, og dets runtime-filer kunne heller ikke netværksforbindes.

Hvad en Runtime egentlig er

En runtime er en distributionsmodel. Når du udvikler en database, arbejder du inde i et komplet udviklingsmiljø, der inkluderer struktureditoren, formulardesigneren, metodeeditoren og alle andre designværktøjer. Det miljø er kraftfuldt — og dyrt, og farligt at udlevere til en slutbruger, der ved et uheld (eller bevidst) kan ændre din struktur.

En runtime løser alle tre problemer på én gang:

  • Omkostninger — slutbrugeren behøver ikke at købe det fulde udviklingsprodukt.
  • Beskyttelse — designmiljøet er fjernet, så strukturen og metoderne ikke kan redigeres.
  • Fokus — brugeren ser kun den applikation, du havde til hensigt, at de skulle se, med dine brugerdefinerede menuer og brugerflade.

Afvejningen er funktionalitet. En runtime er bevidst begrænset i forhold til det fulde produkt. At forstå præcis hvordan den er begrænset — og om det har betydning for dit projekt — er hele pointen.

Hvordan 4D og FileMaker Pro adskilte sig

Både 4D og FMP tilbød runtimes, men mekanikken var ret anderledes. Sammenligningen nedenfor afspejler de to produkters tilstand, som dokumenteret på det tidspunkt.

Aspekt4D (Standard Edition)FileMaker Pro
Runtime-oprettelseIndbyggetKrævede en separat Developer Edition
Binding påkrævetNejJa — filer bundet til motoren
RoyaltyRoyalty-fri distributionStyret af vilkårene for Developer Edition
Netværk af runtimeIkke understøttetIkke understøttet, selv med FMP Server
Designmuligheder i runtimeIngenIngen

Den vigtigste arkitektoniske forskel er binding. FMP krævede, at du bandt dine filer til runtime-motoren, og denne motor ville kun fungere med filer, der var blevet bundet til den. 4D tog en løsere tilgang: runtime-motoren er simpelthen en separat applikation, der kan åbne de databaser, du har designet til den, uden et bindingstrin. Denne fleksibilitet er en af grundene til, at 4D-udviklere havde tendens til at finde runtime-distribution mindre besværlig.

Relateret: — En regneark-simpel grænseflade, der sidder oven på en rigtig relationel database, med automatiseringer, visninger og delbare grænseflader..

4D Runtime i detaljer

Med 4D er muligheden for at oprette runtimes indbygget i Standard Edition. Du kan lave ubegrænsede runtime-versioner og distribuere dem royaltyfrit. Der er ikke noget bindingstrin. 4D Runtime-motoren er en separat applikation, ligesom 4D Standard, men den tillader kun brugen af de oprettede 4D-programmer — der er ingen designmuligheder overhovedet.

4D Runtime er betegnet som redistribuerbar i henhold til 4th Dimension License Agreement og kan frit distribueres i henhold til vilkårene i den licens. 4D Runtime består kun af den applikation, der bærer dette navn.

Et par adfærdsmæssige detaljer betyder enormt meget i praksis:

Hvis du handler: — En lavkode-appbygger, der tilsluttes den bredere Zoho-suite og priser pr. bruger i stedet for pr. app..

  • 4D Runtime kan kun køre fortolkede databaser. Hvis du vil distribuere en kompileret database, skal du bruge den separat købte 4D Runtime Classic, som tillader runtimes af kompilerede versioner.
  • Når du starter 4D Runtime, er knappen Ny ikke til stede i dialogboksen Åbn database. Du kan ikke oprette en ny database fra runtimen.
  • Open Database-dialogen giver dig kun mulighed for at åbne fortolkede strukturer, og kun databaser designet til at køre i Custom Menus-miljøet.
  • Hvis du åbner en database, der ikke har nogen menulinje, afsluttes 4D Runtime automatisk. Dette er et hårdt krav, ikke en advarsel.
  • Du kan ikke gå ind i User-miljøet eller Design-miljøet. Hvis du forsøger at nå Design-miljøet — for eksempel ved at bruge Option-f-genvejen — lukker 4D Runtime automatisk.

Det sidste punkt er værd at internalisere. Runtimen afviser ikke høfligt; den terminerer. Dette er en bevidst sikkerhedsmekanisme, men det betyder, at din database skal være korrekt konfigureret før du bygger runtimen, ellers vil dine brugere ramme en mur med det samme.

Hvorfor Runtimes ikke kan netværksforbindes

Dette er den begrænsning, der overrasker folk mest: 4D-runtimes kan ikke netværksforbindes. Ved første øjekast virker dette som en alvorlig begrænsning. Men det giver mening, når du først forstår 4D’s licensarkitektur.

Alt netværk med 4D kræver en Server. Klienterne selv kan frit distribueres, men der skal stadig købes en licens til hver plads. Fordi server-og-klient-modellen allerede eksisterer som den understøttede vej til flerbrugeradgang, er det eneste formål med runtimen enkeltbrugerbrug. Runtimen konkurrerer ikke med Serveren — den optager en helt anden niche.

Så beslutningstræet er ligetil:

  • Enkeltbruger, ingen server → en runtime er det rigtige distributionsmiddel.
  • Flere samtidige brugere → du har brug for 4D Server og klientlicenser, ikke en runtime.

At forsøge at tvinge en runtime ind i en flerbrugerrolle er en blindgyde. Planlæg din arkitektur omkring dette fra starten.

Sådan beslutter du, om en runtime passer til dit projekt

Før du forpligter dig til en runtime-distribution, skal du gennemgå disse kriterier ærligt:

Relateret: — En kodefri databasebygger rettet mod portaler, mapper og interne værktøjer - med faste priser i stedet for gebyrer pr. bruger..

  1. Er det til enkeltbruger? Hvis mere end én person har brug for samtidig adgang til delte data, er en runtime det forkerte værktøj.
  2. Fortolket eller kompileret? Standard 4D Runtime kører kun fortolkede databaser. Hvis du har brug for kompileret distribution, skal du budgettere med 4D Runtime Classic.
  3. Bruger din database brugerdefinerede menuer? Det skal den, og den skal have en menulinje, ellers vil runtimen lukke ved åbning.
  4. Har du fjernet alle design-tidsafhængigheder? Enhver metode eller formular, der forudsætter designadgang, vil fejle.
  5. Forstår du licensvilkårene? Videredistribution er tilladt, men det er reguleret af 4th Dimension License Agreement — læs den i stedet for at antage.

Hvis du kan svare ja til alle fem med sikkerhed, er en runtime en ren, royaltyfri måde at levere dit arbejde på.

Praktisk forberedelsestjekliste

At bygge en runtime handler mindre om en enkelt kommando og mere om at forberede din database, så den opfører sig korrekt, når designmiljøet er væk. En nyttig tjekliste:

  • Design en ordentlig menulinje og styr applikationen gennem Custom Menus-miljøet.
  • Test i brugermiljøet først. Hvis din database opfører sig forkert der, vil den opføre sig endnu værre i en runtime.
  • Fjern eller beskyt enhver kode, der forudsætter designadgang, inklusive alt, der udløses af genveje i designtilstand.
  • Bekræft, at databasen åbner rent uden dialogbokse, der forventer en “New”-knap.
  • Beslut fortolket vs. kompileret tidligt, fordi det afgør, om du har brug for 4D Runtime Classic.
  • Dokumenter licensforpligtelserne, som du videregiver til dine brugere.

Det gennemgående tema er, at runtimen er uforsonlig over for antagelser. Alt, hvad det fulde miljø lod dig slippe af sted med, skal være løst på forhånd.

Vores valg: — Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil..

Hvor runtimes passer ind i den bredere 4D-historie

Runtimes er én del af et større implementeringsbillede, der inkluderer systemkrav, programstrukturer, netværksforskelle, compileren, webhosting, datadiagrammer, plug-ins og hjælpeprogrammer. Hver af disse interagerer med beslutningen om runtime:

  • Compileren bestemmer, om du kan levere fortolket eller har brug for en kompileret runtime.
  • Netværk bestemmer, om en runtime overhovedet er levedygtig.
  • Plug-ins skal være kompatible med den runtime-motor, du distribuerer.
  • Webhosting er en helt separat leveringskanal, adskilt fra desktop-runtime-distribution.

At tænke på runtimen som muligheden for “enkeltbruger desktop-levering” — side om side med serverbaseret flerbruger-implementering og web-implementering — holder hele landskabet sammenhængende. For baggrund om selve platformen, se Wikipedia-artiklen om 4th Dimension, og for den bredere kategori af værktøjer, der lader små teams bygge forretningsapplikationer, er Wikipedia-oversigten over low-code development platforms en nyttig reference. FileMaker, det andet produkt der diskuteres her, er dokumenteret på FileMaker.

Ofte stillede spørgsmål

Hvad er en 4D runtime?

En 4D runtime er en nedskaleret, redistribuerbar version af 4D-applikationen, der kan køre de databaser, du har udviklet, men som ikke tilbyder designmuligheder. Det giver dig mulighed for at distribuere dit arbejde til slutbrugere uden at kræve, at de køber det fulde udviklingsprodukt. Den er indbygget i 4D Standard Edition og kan distribueres royaltyfrit.

Kan en 4D runtime bruges af flere personer over et netværk?

Nej. 4D runtimes kan ikke netværkes. Alt netværk i 4D kræver en Server, og mens klienter kan distribueres frit, skal der købes en licens for hver plads. På grund af dette er runtimens eneste formål enkeltbrugerbrug, og flerbruger-implementeringer bør bruge 4D Server i stedet.

Hvad er forskellen mellem 4D Runtime og 4D Runtime Classic?

Standard 4D Runtime kan kun køre fortolkede databaser. Hvis du har brug for at distribuere en runtime af en kompileret database, skal du købe 4D Runtime Classic separat. Valget mellem dem afhænger helt af, om du har til hensigt at levere fortolket eller kompileret kode.

Hvorfor lukker 4D Runtime, når jeg prøver at åbne designmiljøet?

Dette er tilsigtet. Runtimen fjerner bevidst al designkapacitet, så forsøg på at gå ind i designmiljøet — for eksempel med genvejen Option-f — får den til at lukke automatisk. Ligeledes vil åbning af en database uden menulinje medføre en øjeblikkelig lukning, fordi runtimen forventer databaser bygget til Custom Menus-miljøet.

Kræver FileMaker Pro binding til sine runtimes?

Ja. FMP krævede, at du bandt dine filer til runtime-motoren, og denne motor ville kun fungere med filer bundet til den. Det krævede også en separat Developer Edition. 4D har derimod intet bindingstrin og inkluderer runtime-oprettelse i Standard Edition.

Kan jeg oprette en ny database fra 4D Runtime?

Nej. Når du starter 4D Runtime, er knappen Ny ikke til stede i dialogboksen Åbn database. Dialogboksen giver dig kun mulighed for at åbne fortolkede strukturer og kun databaser, der er designet til at køre i Custom Menus-miljøet. Databaseoprettelse og -design skal ske i det fulde udviklingsmiljø på forhånd.

Ofte stillede spørgsmål

Hvad er en 4D runtime?

En 4D-runtime er en afisoleret, omdistribuerbar version af 4D-applikationen, der kan køre de databaser, du har udviklet, men som ikke tilbyder designmuligheder. Det giver dig mulighed for at distribuere dit arbejde til slutbrugere uden at kræve, at de køber det fulde udviklingsprodukt. Den er indbygget i 4D Standard Edition og kan distribueres royaltyfrit.

Kan en 4D runtime bruges af flere personer over et netværk?

Nej. 4D-kørselstider kan ikke forbindes i netværk. Al netværk i 4D kræver en server, og mens klienter frit kan distribuere, skal der købes en licens for hvert sæde. På grund af dette er kørselstidens eneste formål enkeltbrugerbrug, og flerbrugerimplementeringer bør bruge 4D Server i stedet.

Hvad er forskellen mellem 4D Runtime og 4D Runtime Classic?

Standard 4D Runtime kan kun køre fortolkede databaser. Hvis du skal distribuere en runtime af en kompileret database, skal du købe 4D Runtime Classic separat. Valget mellem dem afhænger helt af, om du har til hensigt at sende fortolket eller kompileret kode.

Hvorfor afsluttes 4D Runtime, når jeg forsøger at åbne designmiljøet?

Dette er ved design. Kørselstiden fjerner bevidst al designkapacitet, så forsøg på at komme ind i designmiljøet - for eksempel med Option-f-genvejen - får det til at afslutte automatisk. Ligeledes forårsager åbning af en database uden menulinje en øjeblikkelig afslutning, fordi kørselstiden forventer databaser bygget til Custom Menus-miljøet.

Kræver FileMaker Pro binding til dets kørselstider?

Ja. FMP krævede, at du binder dine filer med runtime-motoren, og denne motor ville kun fungere med filer bundet til den. Det krævede også en separat Developer Edition. 4D har derimod ikke noget bindende trin og inkluderer runtime-oprettelse i Standard Edition.

Kan jeg oprette en ny database fra 4D Runtime?

Nej. Når du starter 4D Runtime, er knappen Ny ikke til stede i dialogboksen Åbn database. Dialogen giver dig mulighed for kun at åbne fortolkede strukturer og kun databaser designet til at køre i brugerdefinerede menuer-miljøet. Databaseoprettelse og -design skal ske i det fulde udviklingsmiljø på forhånd.


Prøv FileMaker gratis i 45 dage

Den langvarige relationsdatabaseplatform til teams, der har brug for tilpassede apps på desktop, web og mobil fra en enkelt fil.