Grunderna i lärande i fjärde dimensionen
4D, ursprungligen en förkortning för 4th Dimension, är ett relationsdatabashanteringssystem och en applikationsutvecklingsmiljö från 4D SAS (tidigare ACI). Det parar ihop en proprietär relationsdatabasmotor med ett integrerat, objektorienterat språk (4D Langage, historiskt “4D” eller “4D-kod”) och en visuell formulärdesigner. För små IT-team och medborgarutvecklare är lockelsen att en enda miljö täcker datalagring, affärslogik, användargränssnitt och distribution – du behöver inte sätta ihop en databasserver, ett separat front-end-ramverk och en webbstack bara för att leverera en fungerande företagsapp.
Den här sidan är en del av serien 4th Dimension Learning Basics. Den fokuserar på plugin-modulerna som historiskt utökade 4D bortom ren datahantering – 4D Write, 4D Calc och 4D Draw – och placerar dem i ett bredare sammanhang av hur 4D är strukturerat, licensierat och distribuerat.
Viktiga punkter
- 4D är en integrerad databas- och utvecklingsmiljö: tabeller, formulär, metoder och distribution finns i en produkt snarare än i en hoplappad stack.
- Den klassiska plugin-trion — 4D Write (ordbehandling), 4D Calc (kalkylblad) och 4D Draw (ritning) — utökade 4D till ett system för “integrerade applikationer”, inte bara en databas.
- Plugins visas inuti formulär som områden, så deras innehåll beter sig som vilket annat fält som helst: det kan lagras, visas och refereras från 4D-kod.
- Hot links gör att data som ändras i en plugin uppdateras omedelbart i en annan, vilket är mekanismen som gjorde dokument över moduler möjliga.
- Modern 4D har till stor del absorberat dessa funktioner i kärnprodukten och dess komponent-/plugin-arkitektur, men designidéerna förklarar fortfarande hur 4D-formulär och -objekt fungerar idag.
- Att välja om man ska använda en plugin (eller en modern komponent) är ett build-vs-buy-beslut: väg licensiering, distributionskomplexitet och om funktionaliteten hör hemma i datalagret eller presentationslagret.
Hur 4D är uppbyggt
För att förstå plugin-programmen krävs en förståelse för de lager som 4D exponerar för en utvecklare:
- Struktur — schemat: tabeller, fält, fälttyper, relationer och index. Detta är datalagret.
- Formulär — presentationslagret. Formulär innehåller objekt (fält, knappar, variabler och plugin-områden) som är visuellt upplagda.
- Metoder — logiklagret. Objektmetoder, formulärmetoder och projekt-/databasmetoder innehåller 4D-koden som svarar på händelser.
- Plugins och komponenter — valfria moduler som lägger till funktioner som kärnan inte tillhandahåller nativt.
Den viktiga arkitektoniska poängen är att ett plugin-område bara är ett annat objekt på ett formulär. Det betyder att ett ordbehandlingsdokument, ett kalkylblad eller en ritning kan bindas till ett fält, refereras till med namn i koden och behandlas som data. Detta är en väsentligt annorlunda modell än att behandla ett dokument som en ogenomskinlig filbilaga.
Den klassiska plugin-trion
Den ursprungliga dokumentationen beskrev 4D Write, 4D Calc och 4D Draw som moduler som “tillsammans med 4D bildar 4D-miljön”. Var och en licensierades separat, historiskt till ett blygsamt pris per plattform, och var och en utökade en specifik förmåga.
4D Write — Ordbehandling
4D Write utökar ordbehandlingsmöjligheterna i dina 4D-databaser. Det låter dig inkludera dokument som brev, rapporter, PM och anteckningar direkt i dina 4D-formulär.
Relaterat: — Den långvariga relationsdatabasplattformen för team som behöver anpassade appar på skrivbordet, webben och mobilen från en enda fil..
- I ett formulär visas ett 4D Write-område som en del av din data, precis som ett namn eller annan information.
- Som en separat applikation kan du använda 4D Write i externa fönster, där ditt arbete kan vara oberoende av din databas eller kopplat till information i din databas eller i andra plugins.
Praktiska användningsområden inkluderar brev av typen brevbild (mail-merge) som drivs av postdata, formaterade rapportkroppar och rika anteckningar bifogade till en kund- eller ärendepost.
4D Calc — Kalkylblad
4D Calc lägger till kalkylbladsfunktioner i dina 4D-databaser. Där 4D Write hanterar prosa, hanterar 4D Calc rutnät med tal och formler.
- Användbart för budgetering, uppskattningar och alla tabellberäkningar som en användare förväntar sig att kunna redigera som ett kalkylblad.
- Eftersom det är ett plugin-område kan bladet lagras med posten och refereras från 4D-kod.
4D Draw — Ritning
4D Draw utökar ritmöjligheterna i dina 4D-databasformulär och gör det möjligt att inkludera anpassade ritningar i dina formulär.
Vårt val: — Ett enkelt kalkylarksgränssnitt som sitter ovanpå en riktig relationsdatabas, med automatiseringar, vyer och delbara gränssnitt..
- När det används i ett formulär visas ett 4D Draw-område som en del av din data, precis som all annan information.
- Du kan öppna eller importera ritningar i PICT-format (från andra objektorienterade ritprogram), MacPaint-format och Encapsulated PostScript (EPSF)-format.
Dessa importformat är en användbar historisk markör: de återspeglar den Macintosh-centrerade desktop publishing-eran då 4D först mognade. Modernt 4D-arbete använder vanligtvis plattformsbaserad bildhantering och standardformat som PNG, JPEG och PDF istället, men den bakomliggande idén – ett ritbart område bundet till en post – består.
Varför “integrerade applikationer” var viktiga
Den ursprungliga inramningen är värd att bevara eftersom den förklarar designfilosofin: med dessa plugins blir 4D ett system som kan driva integrerade applikationer, såväl som en databas som kan lagra och manipulera information.
Plugins nås inifrån 4D, där de kan arbeta självständigt, med data i 4D och med varandra. Bindväven är den heta länken (hot link):
Heta länkar är dynamiska – information som ändras i en plugin uppdateras omedelbart i en annan.
Ett konkret exempel: ett 4D Calc-ark beräknar en totalsumma, ett 4D Write-brev refererar till den summan, och båda lagras i samma post. Ändra en siffra i arket så reflekteras det i brevet utan ett manuellt kopieringssteg. Det är det integrerade applikationslöftet i miniatyr.
Plug-ins kontra moderna komponenter: Hur man väljer
Plug-in-modellen har utvecklats. Modern 4D levereras med en komponentarkitektur och en stor uppsättning inbyggda kommandon, och många funktioner som en gång krävde ett separat köp är nu inbyggda eller tillgängliga som komponenter. När du bestämmer dig för hur du ska lägga till en funktion idag, använd den här kriterielistan:
| Kriterium | Föredra en inbyggd / nativ funktion | Föredra en plug-in eller komponent |
|---|---|---|
| Datamodellens passform | Funktionen är kärnverksamhet (text, siffror, datum, relationer) | Funktionen är specialiserad (rik text, diagram, enhetsintegration) |
| Driftsättning | Du vill ha en enda, enkel installation | Du kan hantera ytterligare licensiering och versionshantering |
| Underhåll | Du vill att 4D SAS ska underhålla den | En tredje part underhåller den och du accepterar det beroendet |
| Portabilitet | Du kan komma att byta plattform eller flytta till webben | Funktionen är skrivbordsspecifik och det är acceptabelt |
| Kostnad | Budgeten är knapp | Funktionen motiverar sin licenskostnad |
En praktisk regel: om funktionen hör hemma i datalagret (lagring och sökning av information), föredra inbyggda funktioner. Om den hör hemma i presentationslagret (hur ett dokument eller en ritning ser ut) är en plug-in eller komponent ofta rätt verktyg.
Praktisk vägledning för nya 4D-utvecklare
Om du lär dig 4D idag är plug-in-historiken inte bara trivia – den lär ut vanor som fortfarande gäller:
- Bind objekt till fält medvetet. Bestäm om ett formulärobjekt är en visning av lagrad data eller en övergående variabel. Detta är samma beslut som plug-in-områdena tvingade fram.
- Behåll logik i metoder, inte i layout. Formulärobjekt ska presentera; metoder ska besluta.
- Tänk på uppdateringsspridning. Hot-link-idén handlar egentligen om att undvika inaktuella kopior av data. I moderna appar innebär det att normalisera data och referera till den istället för att duplicera den.
- Respektera licensmodellen. 4D har historiskt separerat utvecklingsmiljön, driftsättningen/runtime och valfria moduler. Förstå vad dina användare behöver innan du bestämmer dig för en arkitektur.
- Planera för webben. 4D kan serva webb- och REST-klienter; om fjärråtkomst är sannolikt, designa din struktur och dina metoder med det i åtanke från början.
Var 4D placerar sig i lågkodslandskapet
4D föregick den moderna kategorin “lågkod” med årtionden, men den tillhör samma familj av idéer: en visuell designer plus ett skriptspråk plus en hanterad runtime. Det är värt att jämföra den med angränsande verktyg och standarder som du kanske redan känner till:
- FileMaker (nu Claris FileMaker) — en jämförbar integrerad databas- och UI-produkt med en stark följarskara av medborgarutvecklare.
- Microsoft Access — relationsdatabas för skrivbordet med formulär och makron, flitigt använd för appar i små team.
- Lågkodsplattformar som de som spåras av analysföretag — bredare, molnfokuserade och ofta svagare på djupgående relationsmodellering.
- SQL-standarder — 4D:s frågespråk och SQL-stöd kopplar det till den bredare relationsvärlden; se Wikipedia-artikeln om SQL för standardordförrådet.
- Relationsmodell — den teoretiska grunden bakom alla dessa verktyg; artikeln om relational model är en bra uppfräschning.
För auktoritativ bakgrund om databassystem i allmänhet publicerar Association for Computing Machinery och IEEE Computer Society allmänt använda läroplaner och standardmaterial. För webbrelaterade frågor som HTTP och REST är World Wide Web Consortium den kanoniska referensen.
Vanliga fallgropar och varningar
- Blanda inte ihop ett plug-in-område med ett filfält. Ett plug-in-område är ett interaktivt objekt; ett fil- eller bildfält är lagring. De kan kombineras, men de är inte samma sak.
- Se upp för plattformsantaganden. Importformaten PICT och MacPaint i 4D Draw är äldre Mac-format. Bygg inte ett modernt arbetsflöde kring dem.
- Versionera dina beroenden. Plug-ins och komponenter måste matcha din 4D-version. En missmatchning är en vanlig orsak till startfel.
- Budgetera för runtime. Utvecklingslicenser och licenser för driftsättning/runtime är separata frågor i 4D:s modell; planera för båda.
- Testa explicit beteende av hot-link-stil. Varje gång två vyer av samma data kan divergera, skriv ett test som bevisar att de förblir synkroniserade.
Vanliga frågor
Vad används 4D Write till?
4D Write lägger till ordbehandlingsfunktioner till en 4D-databas. Det låter dig bädda in dokument som brev, rapporter, PM och anteckningar i dina formulär, där dokumentet beter sig som vilken annan data som helst. Du kan också öppna det i externa fönster, antingen oberoende av databasen eller länkat till databasinformation.
Vad är skillnaden mellan 4D Calc och ett normalt 4D-fält?
Ett normalt fält lagrar ett enda värde, medan 4D Calc tillhandahåller ett kalkylbladsområde med formler och ett rutnät av celler. Det är användbart när användare förväntar sig att redigera tabellberäkningar direkt. Eftersom det är ett plug-in-område kan arket fortfarande lagras i och refereras från en post.
Vilka filformat kan 4D Draw importera?
4D Draw kan öppna eller importera ritningar i PICT-format från andra objektorienterade ritprogram, MacPaint-format och Encapsulated PostScript (EPSF)-format. Dessa är äldre desktop-publiceringsformat, så moderna projekt använder vanligtvis standardbild- och PDF-format istället.
Vad är en het länk i 4D?
En hetlänk är en dynamisk koppling mellan plug-ins där information som ändrats i en plug-in uppdateras omedelbart i en annan. Det är mekanismen som gör att ett kalkylblad, ett dokument och en ritning på samma post förblir konsekventa utan manuell kopiering.
Behöver jag fortfarande dessa plug-ins för att bygga en 4D-applikation idag?
Inte nödvändigtvis. Modern 4D innehåller många funktioner nativt och stöder en komponentarkitektur, så mycket av det som en gång krävde en separat plug-in är nu inbyggt eller tillgängligt som en komponent. Plug-in-koncepten förblir användbara eftersom de förklarar hur 4D-formulärobjekt och databindning fungerar.
Hur ska en nybörjare välja mellan inbyggda funktioner och en plug-in?
Föredra inbyggda funktioner när funktionaliteten hör hemma i datalagret – lagring, sökning och relatering av information. Överväg en plug-in eller komponent när funktionaliteten är specialiserad och presentationsorienterad, såsom avancerade dokument eller ritningar, och när du kan acceptera den extra licensiering och det underhåll som följer med den.
Vanliga frågor
Vad används 4D Write till?
4D Write lägger till ordbehandlingsfunktioner till en 4D-databas. Det låter dig bädda in dokument som brev, rapporter, PM och anteckningar i dina formulär, där dokumentet beter sig som vilken annan data som helst. Du kan också öppna den i externa fönster, antingen oberoende av databasen eller länkad till databasinformation.
Vad är skillnaden mellan 4D Calc och ett normalt 4D-fält?
Ett normalt fält lagrar ett enda värde, medan 4D Calc tillhandahåller ett kalkylbladsområde med formler och ett rutnät med celler. Det är användbart när användare förväntar sig att redigera tabellberäkningar direkt. Eftersom det är ett insticksområde kan arket fortfarande lagras på och refereras från en post.
Vilka filformat kan 4D Draw importera?
4D Draw kan öppna eller importera ritningar i PICT-format från andra objektorienterade ritprogram, MacPaint-format och EPSF-format (Encapsulated PostScript). Dessa är äldre desktop-publiceringsformat, så moderna projekt använder vanligtvis standardbild- och PDF-format istället.
Vad är en het länk i 4D?
En hetlänk är en dynamisk koppling mellan plugin-program där information som ändras i ett plugin uppdateras omedelbart i en annan. Det är mekanismen som låter ett kalkylblad, ett dokument och en ritning på samma post förbli konsekvent utan manuell kopiering.
Behöver jag fortfarande dessa plugin-program för att bygga en 4D-applikation idag?
Inte nödvändigtvis. Modern 4D innehåller många funktioner inbyggt och stöder en komponentarkitektur, så mycket av det som en gång krävde en separat plug-in är nu inbyggd eller tillgänglig som en komponent. Instickskoncepten förblir användbara eftersom de förklarar hur 4D-formobjekt och databindning fungerar.
Hur ska en nybörjare välja mellan inbyggda funktioner och en plug-in?
Föredrar inbyggda funktioner när kapaciteten hör hemma i datalagret - lagring, sökning och relaterad information. Överväg ett plugin-program eller en komponent när kapaciteten är specialiserad och presentationsorienterad, till exempel omfattande dokument eller ritningar, och när du kan acceptera den extra licensiering och underhåll som följer med den.
Bygg en anpassad app gratis i 15 dagar
En appbyggare med låg kod som ansluts till den bredare Zoho-sviten och priser per användare snarare än per app.