4. dimensjon læringsgrunnleggende
Konseptet med en runtime er en av de viktigste – og mest misforståtte – ideene i 4th Dimension (4D)-verdenen. Det er kjernen i hvordan du gjør en database du har bygget for deg selv om til en distribuerbar applikasjon som andre kan bruke, uten å gi dem nøklene til kildekoden din eller tvinge dem til å kjøpe en full utviklingslisens. Denne delen forklarer hva runtimes er, hvordan 4D og FileMaker Pro (FMP) tilnærmet seg dem forskjellig, og hvilke praktiske begrensninger du må forstå før du planlegger en distribusjon.
Viktige takeaways
- En runtime samler en nedstrippet motor med de utviklede filene dine, slik at sluttbrukere kan kjøre applikasjonen din uten å eie hele utviklingsproduktet.
- I 4D er runtime-oppretting innebygd i Standard Edition og kan distribueres royaltyfritt og uten “binding”.
- 4D Runtime er en separat, redistribuerbar applikasjon som kjører tolkede databaser og tilbyr ingen designfunksjonalitet.
- 4D Runtime er enkeltbruker ved design – den kan ikke nettverkskobles, fordi all 4D-nettverksbruk krever en server og betalte klientlisenser.
- FileMaker Pros tilnærming krevde en Developer Edition og et binding-trinn, og deres runtime-filer kunne heller ikke nettverkskobles.
Hva en runtime egentlig er
En runtime er en distribusjonsmodell. Når du utvikler en database, jobber du i et fullstendig utviklingsmiljø som inkluderer strukturredigereren, skjemadesigneren, metoderedigereren og alle andre designverktøy. Det miljøet er kraftig – og dyrt, og farlig å overlevere til en sluttbruker som ved et uhell (eller bevisst) kan endre strukturen din.
En runtime løser alle tre problemene samtidig:
- Kostnad – sluttbrukeren trenger ikke å kjøpe hele utviklingsproduktet.
- Beskyttelse – designmiljøet er fjernet, så strukturen og metodene kan ikke redigeres.
- Fokus – brukeren ser bare applikasjonen du hadde til hensikt at de skulle se, med dine tilpassede menyer og grensesnitt.
Avveiningen er funksjonalitet. En runtime er bevisst begrenset i forhold til hele produktet. Å forstå nøyaktig hvordan den er begrenset – og om det betyr noe for prosjektet ditt – er selve kjernen i det hele.
Hvordan 4D og FileMaker Pro skilte seg fra hverandre
Både 4D og FMP tilbød runtimes, men mekanismene var ganske forskjellige. Sammenligningen nedenfor gjenspeiler tilstanden til de to produktene slik de var dokumentert på det tidspunktet.
| Aspekt | 4D (Standard Edition) | FileMaker Pro |
|---|---|---|
| Runtime-oppretting | Innebygd | Krevde en separat Developer Edition |
| Binding kreves | Nei | Ja – filer bundet til motoren |
| Royalty | Royaltyfri distribusjon | Styrt av vilkårene for Developer Edition |
| Nettverk av runtime | Støttes ikke | Ikke støttet, selv med FMP Server |
| Designfunksjonalitet i runtime | Ingen | Ingen |
Den viktigste arkitektoniske forskjellen er binding. FMP krevde at du bandt filene dine til runtime-motoren, og den motoren ville bare fungere med filer som hadde blitt bundet til den. 4D tok en løsere tilnærming: runtime-motoren er ganske enkelt en separat applikasjon som kan åpne databasene du har designet for den, uten noe binding-trinn. Denne fleksibiliteten er en av grunnene til at 4D-utviklere hadde en tendens til å oppleve runtime-distribusjon som mindre knotete.
Relatert: — Et regneark-enkelt grensesnitt som sitter på toppen av en ekte relasjonsdatabase, med automatiseringer, visninger og delbare grensesnitt..
4D Runtime i detalj
Med 4D er muligheten til å lage runtimes innebygd i Standard Edition. Du kan lage ubegrensede runtime-versjoner og distribuere dem royaltyfritt. Det er ingen binding-trinn. 4D Runtime-motoren er en separat applikasjon, akkurat som 4D Standard, men den tillater kun bruk av de opprettede 4D-programmene – det er ingen designmuligheter overhodet.
4D Runtime er betegnet som redistribuerbar i henhold til 4th Dimension License Agreement og kan distribueres fritt i henhold til vilkårene i den lisensen. 4D Runtime består kun av applikasjonen som bærer dette navnet.
Noen få atferdsspesifikasjoner er svært viktige i praksis:
Hvis du handler: — En som kobles til den bredere Zoho-pakken og priser per bruker i stedet for per app..
- 4D Runtime kan kun kjøre tolkede databaser. Hvis du ønsker å distribuere en kompilert database, trenger du den separat kjøpte 4D Runtime Classic, som tillater runtimes av kompilerte versjoner.
- Når du starter 4D Runtime, er ikke Ny-knappen til stede i Open Database-dialogen. Du kan ikke opprette en ny database fra innsiden av runtimen.
- Open Database-dialogen lar deg kun åpne tolkede strukturer, og kun databaser designet for å kjøre i Custom Menus-miljøet.
- Hvis du åpner en database som ikke har noen menylinje, avsluttes 4D Runtime automatisk. Dette er et absolutt krav, ikke en advarsel.
- Du kan ikke gå inn i User-miljøet, og heller ikke Design-miljøet. Hvis du prøver å nå Design-miljøet – for eksempel ved å bruke snarveien Option-f – avsluttes 4D Runtime automatisk.
Det siste punktet er verdt å merke seg. Runtimen nekter ikke høflig; den avslutter. Dette er en bevisst sikkerhetsmekanisme, men det betyr at databasen din må være riktig konfigurert før du bygger runtimen, ellers vil brukerne dine møte veggen umiddelbart.
Hvorfor runtimes ikke kan nettverkskobles
Dette er begrensningen som overrasker folk mest: 4D-runtimes kan ikke nettverkskobles. Ved første øyekast virker dette som en alvorlig begrensning. Men det gir mening når du forstår 4Ds lisensieringsarkitektur.
All nettverksbruk med 4D krever en Server. Klientene selv kan distribueres gratis, men en lisens for hvert sete må fortsatt kjøpes. Fordi server-og-klient-modellen allerede eksisterer som den støttede veien til flerbrukertilgang, er det eneste formålet med kjøretiden (runtime) enbrukerbruk. Kjøretiden konkurrerer ikke med serveren – den fyller en helt annen nisje.
Så beslutningstreet er enkelt:
- Enkeltbruker, ingen server → en kjøretid er det riktige distribusjonsmiddelet.
- Flere samtidige brukere → du trenger 4D Server og klientlisenser, ikke en kjøretid.
Å prøve å tvinge en kjøretid inn i en flerbrukerrolle er en blindvei. Planlegg arkitekturen din rundt dette fra starten.
Hvordan avgjøre om en kjøretid passer til prosjektet ditt
Før du forplikter deg til en kjøretidsdistribusjon, gå gjennom disse kriteriene ærlig:
- Er det for enkeltbruker? Hvis mer enn én person trenger samtidig tilgang til delte data, er en kjøretid feil verktøy.
- Tolket eller kompilert? Standard 4D Runtime kjører kun tolkede databaser. Hvis du trenger kompilert distribusjon, må du budsjettere for 4D Runtime Classic.
- Bruker databasen egendefinerte menyer? Det må den, og den må ha en menylinje, ellers vil kjøretiden avsluttes ved åpning.
- Har du fjernet alle avhengigheter til design-tid? Enhver metode eller et skjema som forutsetter designtilgang vil feile.
- Forstår du lisensvilkårene? Videreformidling er tillatt, men det styres av lisensavtalen for 4th Dimension – les den i stedet for å anta.
Hvis du kan svare trygt på alle fem, er en kjøretid en ren, royaltyfri måte å levere arbeidet ditt på.
Sjekkliste for praktisk forberedelse
Å bygge en kjøretid handler mindre om en enkelt kommando og mer om å forberede databasen slik at den oppfører seg riktig når designmiljøet er borte. En nyttig sjekkliste:
- Design en skikkelig menylinje og styr applikasjonen gjennom Custom Menus-miljøet.
- Test i brukermiljøet først. Hvis databasen din oppfører seg feil der, vil den oppføre seg enda verre i en kjøretid.
- Fjern eller beskytt enhver kode som forutsetter designtilgang, inkludert alt som utløses av snarveier i designmodus.
- Bekreft at databasen åpnes rent uten dialogbokser som forventer en “New”-knapp.
- Beslutt tolket vs. kompilert tidlig, fordi det avgjør om du trenger 4D Runtime Classic.
- Dokumenter lisensforpliktelsene du overfører til brukerne dine.
Det tilbakevendende temaet er at kjøretiden er uforsonlig overfor antagelser. Alt det fulle miljøet lot deg slippe unna med, må løses på forhånd.
Hvor kjøretider passer i den bredere 4D-historien
Kjøretider er en del av et større distribusjonsbilde som inkluderer systemkrav, programstrukturer, nettverksforskjeller, kompilatoren, webhosting, datadiagrammer, plug-ins og verktøy. Hver av disse samhandler med beslutningen om kjøretid:
- Kompilatoren bestemmer om du kan levere tolket eller trenger en kompilert kjøretid.
- Nettverk avgjør om en kjøretid i det hele tatt er levedyktig.
- Plug-ins må være kompatible med kjøretidsmotoren du distribuerer.
- Webhosting er en helt separat leveringskanal, forskjellig fra distribusjon av stasjonær kjøretid.
Å tenke på kjøretiden som alternativet for “enbruker-skrivebord-levering” – ved siden av serverbasert flerbrukerdistribusjon og web-distribusjon – holder hele landskapet sammenhengende. For bakgrunn om selve plattformen, se Wikipedia-artikkelen om 4th Dimension, og for den bredere kategorien verktøy som lar små team bygge forretningsapplikasjoner, er Wikipedia-oversikten over low-code development platforms en nyttig referanse. FileMaker, det andre produktet som diskuteres her, er dokumentert på FileMaker.
Vanlige spørsmål
Hva er en 4D-kjøretid?
En 4D-runtime er en nedstrippet, redistribuerbar versjon av 4D-applikasjonen som kan kjøre databasene du har utviklet, men som ikke tilbyr noen designmuligheter. Den lar deg distribuere arbeidet ditt til sluttbrukere uten at de trenger å kjøpe det fulle utviklingsproduktet. Den er inkludert i 4D Standard Edition og kan distribueres royaltyfritt.
Kan en 4D-kjøretid brukes av flere personer over et nettverk?
Nei. 4D-kjøretider kan ikke nettverkskobles. All nettverksbruk i 4D krever en Server, og mens klienter kan distribueres gratis, må en lisens kjøpes for hvert sete. På grunn av dette er kjøretidens eneste formål enbrukerbruk, og flerbrukerdistribusjoner bør bruke 4D Server i stedet.
Hva er forskjellen mellom 4D Runtime og 4D Runtime Classic?
Standard 4D Runtime kan bare kjøre tolkede databaser. Hvis du trenger å distribuere en kjøretid av en kompilert database, må du kjøpe 4D Runtime Classic separat. Valget mellom dem avhenger helt av om du har tenkt å levere tolket eller kompilert kode.
Hvorfor avsluttes 4D Runtime når jeg prøver å åpne designmiljøet?
Dette er tilsiktet. Kjøretiden fjerner bevisst all designfunksjonalitet, så forsøk på å gå inn i designmiljøet – for eksempel med Option-f-snarveien – fører til at den avsluttes automatisk. På samme måte vil åpning av en database uten menylinje føre til umiddelbar avslutning, fordi kjøretiden forventer databaser bygget for Custom Menus-miljøet.
Krever FileMaker Pro binding for sine kjøretider?
Ja. FMP krevde at du bandt filene dine til kjøretidsmotoren, og den motoren ville bare fungere med filer som var bundet til den. Det krevde også en separat Developer Edition. 4D har derimot ikke noe bindingstrinn og inkluderer opprettelse av kjøretid i Standard Edition.
Kan jeg opprette en ny database fra 4D Runtime?
Nei. Når du starter 4D Runtime, er ikke Ny-knappen til stede i dialogboksen Åpne database. Dialogboksen lar deg bare åpne tolkede strukturer, og kun databaser designet for å kjøre i Custom Menus-miljøet. Oppretting og design av databaser må skje i det fullstendige utviklingsmiljøet på forhånd.
Ofte stilte spørsmål
Hva er en 4D kjøretid?
En 4D-runtime er en nedstrippet, redistribuerbar versjon av 4D-applikasjonen som kan kjøre databasene du utviklet, men som ikke har noen designmuligheter. Den lar deg distribuere arbeidet ditt til sluttbrukere uten at de trenger å kjøpe hele utviklingsproduktet. Den er innebygd i 4D Standard Edition og kan distribueres royaltyfritt.
Kan en 4D kjøretid brukes av flere personer over et nettverk?
Nei. 4D-kjøretider kan ikke kobles til nettverk. All nettverksbygging i 4D krever en server, og mens klienter er gratis å distribuere, må en lisens kjøpes for hvert sete. På grunn av dette er kjøretidens eneste formål enbrukerbruk, og flerbrukerdistribusjoner bør bruke 4D Server i stedet.
Hva er forskjellen mellom 4D Runtime og 4D Runtime Classic?
Standard 4D Runtime kan bare kjøre tolkede databaser. Hvis du trenger å distribuere en kjøretid for en kompilert database, må du kjøpe 4D Runtime Classic separat. Valget mellom dem avhenger helt av om du har tenkt å sende tolket eller kompilert kode.
Hvorfor avsluttes 4D Runtime når jeg prøver å åpne designmiljøet?
Dette er etter design. Kjøretiden fjerner bevisst all designfunksjon, så forsøk på å gå inn i designmiljøet – for eksempel med Option-f-snarveien – får det til å avsluttes automatisk. På samme måte fører åpning av en database uten menylinje til en umiddelbar avslutning, fordi kjøretiden forventer databaser bygget for Custom Menus-miljøet.
Krever FileMaker Pro binding for kjøretidene?
Ja. FMP krevde at du skulle binde filene dine med kjøretidsmotoren, og den motoren ville bare fungere med filer bundet til den. Det krevde også en egen Developer Edition. 4D, derimot, har ikke noe bindende trinn og inkluderer kjøretidsoppretting i Standard Edition.
Kan jeg opprette en ny database fra 4D Runtime?
Nei. Når du starter 4D Runtime, er ikke Ny-knappen til stede i dialogboksen Åpne database. Dialogen lar deg bare åpne tolkede strukturer, og bare databaser designet for å kjøre i Custom Menus-miljøet. Databaseoppretting og design må skje i hele utviklingsmiljøet på forhånd.
Prøv FileMaker gratis i 45 dager
Den langvarige relasjonsdatabaseplattformen for team som trenger tilpassede apper på skrivebord, nett og mobil fra én enkelt fil.