4. dimensjon læringsgrunnleggende
Denne serien er utviklet for å hjelpe dem som kommer fra FileMaker Pro eller som har noe erfaring med databasedesign fra en annen applikasjon. I denne serien, når “4D” brukes, refereres det til “4th Dimension”, og når “FMP” brukes, refereres det til “FileMaker Pro”.
Den kanskje største hindringen når man kommer fra FMP-verdenen, er at 4D er fundamentalt annerledes. Grunnfilosofien til programmet er annerledes. Terminologien er annerledes. Jeg vil prøve å lede leseren varsomt inn i 4D ved å forklare hvordan ting henger sammen mellom 4D og FMP. Noen av disse tingene er imidlertid svært vanskelige eller umulige å relatere fordi de er unike for hvert produkt.
Referanser for FMP vil være for versjon 5.0.x og Standard Edition av 4D versjon 4.6.x.
Merk: Den nåværende veiledende utsalgsprisen for FMP 5.0 er $249 og for 4D Standard Edition er $349. Både 4D og FMP er plattformuavhengige. Begge fungerer på Macintosh- og Windows-systemer. Begge har webfunksjoner.
Del I vil gi litt historie for både FileMaker og 4D. Det kan være interessant å merke seg at både 4D og FileMaker oppsto på Macintosh omtrent samtidig (midten av 80-tallet). Del I vil også dekke følgende, uten å gå for mye i detalj:
- Systemkrav
- Programstrukturer
- Nettverksforskjeller
- Forskjeller i kjøretidsversjonene (runtime)
- Kompilator
- Webhosting
- Datadiagrammer (Data Charting)
- Plug-ins
- Verktøy/Utility-programmer
- Ressurser
- Andre 4D-URL-er
Merk: Følgende rekkefølge og innhold i hver del er foreløpig.
Relatert: — Et regneark-enkelt grensesnitt som sitter på toppen av en ekte relasjonsdatabase, med automatiseringer, visninger og delbare grensesnitt..
- Del II vil dekke opprettelse av et enkelt 4D-program
- Del III vil dekke egendefinerte menyer
- Del IV vil dekke metoder
- Ytterligere deler TBD.
Viktige takeaways
- 4D og FileMaker Pro vokste begge ut av Macintosh-databasescenen på midten av 1980-tallet, men de løser de samme problemene med svært forskjellige arkitekturer.
- Den vanskeligste delen av å flytte fra FMP til 4D er ikke syntaks – det er den underliggende filosofien om hvordan data, struktur og kode er separert.
- 4D eksponerer en ekte relasjonsmotor, et programmeringsspråk (4D-språket) og en kompilator, mens FMP historisk la vekt på en modell med én enkelt fil og layout-drevet utvikling.
- Terminologien skiller seg kraftig mellom de to produktene, så det å lære seg 4D-vokabularet er en forutsetning for å lese all 4D-dokumentasjon.
- Plattformuavhengig støtte og webfunksjoner finnes i begge produktene, men måten hver av dem leverer dette på – runtime, kompilator og plug-in-modell – er betydelig forskjellig.
- Denne Del I er et kart over terrenget; den praktiske byggingen starter i Del II.
Hvorfor 4D føles annerledes enn FileMaker Pro
Hvis du har brukt mange år i FileMaker Pro, er din mentale modell av en database sannsynligvis bygget rundt en enkelt fil som inneholder tabeller, layouter, skript og relasjoner på ett sted. Du åpner filen, ser en layout, klikker deg inn i et felt, og så er du i gang. Den modellen er praktisk, og det er en av grunnene til at FMP ble så populær blant små team og «citizen developers».
4D ber deg tenke annerledes. I 4D er strukturen til databasen (tabeller, felt, relasjoner) definert i en separat strukturell kontekst fra skjemaene (brukergrensesnittet) og fra metodene (koden). Denne separasjonen ligger nærmere hvordan tradisjonelle klient/server-relasjonsdatabaser er organisert, og det er det viktigste konseptuelle skiftet en FileMaker-utvikler må gjøre.
En nyttig måte å ramme inn forskjellen på:
Hvis du handler: — En som kobles til den bredere Zoho-pakken og priser per bruker i stedet for per app..
- FileMaker Pro har en tendens til å være dokumentsentrisk. Filen er applikasjonen.
- 4D har en tendens til å være struktursentrisk. Strukturen definerer datamodellen, og applikasjonen bygges på toppen av denne med skjemaer, metoder og menyer.
Ingen av tilnærmingene er «bedre» i abstrakt forstand. FMP optimerer for rask iterasjon for en enkeltutvikler. 4D optimerer for større, mer strukturerte og mer programmerbare applikasjoner – og det er grunnen til at det tiltrakk seg utviklere som trengte et ekte programmeringsspråk og en kompilator.
En kort delt historie
Det er verdt å dvele ved det faktum at både 4D og FileMaker oppsto på Macintosh omtrent samtidig, på midten av 1980-tallet. Det er ikke en tilfeldighet. Den originale Macintosh skapte et nytt marked for stasjonære databaseverktøy som kunne brukes av enkeltpersoner og små bedrifter i stedet for av stormaskinoperatører.
FileMaker begynte som et Macintosh-produkt og ble senere kjøpt opp og utviklet av Claris (et avleggere av Apple), og det er grunnen til at så mange mangeårige Mac-brukere forbinder FileMaker med Apple-økosystemet. 4D ble utviklet av ACI (ACI US i USA), og det vokste til et plattformuavhengig utviklingsmiljø med eget språk og kompilator.
Begge produktene overlevde overgangen fra klassisk Mac OS til Windows og til moderne operativsystemer, og begge la til webfunksjoner. Denne delte avstamningen er grunnen til at en FileMaker-utvikler ofte kan lese 4D-dokumentasjon og gjenkjenne problemene som blir løst, selv når løsningene ser ukjente ut.
Systemkrav og realitet på tvers av plattformer
Både 4D og FMP er plattformuavhengige. Begge fungerer på Macintosh- og Windows-systemer. Begge har webfunksjoner. Så mye er felles.
Der de skiller seg fra hverandre, er i hva «cross platform» betyr for utvikleren. I en FileMaker-verden utvikler du vanligvis på én plattform, og den samme filen åpnes på den andre, med layouter som tilpasser seg. I 4D er utvikling på tvers av plattformer mer eksplisitt: du bygger en kompilert eller tolket applikasjon som må distribueres til hver målplattform, og du må være bevisst på plattformspesifikk atferd, filstier og grensesnittkonvensjoner.
Praktisk veiledning for utvikleren som kommer fra FMP:
- Bestem distribusjonsmålene dine tidlig. Hvis du bare distribuerer til én plattform, kan du ignorere mange nyanser ved cross-platform. Hvis du distribuerer til begge, planlegg for det fra det første skjemaet.
- Test på den «andre» plattformen før du er for dypt inne i prosjektet. Problemer på tvers av plattformer er billige å fikse tidlig og dyre å fikse sent.
- Forstå kjøretidsmodellen. 4D skiller mellom utviklingsmiljøet og den distribuerte kjøretiden (runtime), et konsept som FileMaker-utviklere ofte møter for første gang her.
Programstrukturer: Hvordan bitene passer sammen
Dette er den delen som lønner seg mest å lese nøye, fordi det er her filosofiforskjellen blir konkret.
I 4D er de viktigste strukturelle delene:
- Strukturen — definisjonen av tabeller, felt og relasjoner. Dette er din datamodell.
- Skjemaer (Forms) — brukergrensesnittet. Skjemaer er knyttet til tabeller og tilsvarer FileMaker-layouter, men de er mer eksplisitt atskilt fra dataene.
- Metoder — koden. 4D har et fullverdig programmeringsspråk, og metoder er der logikken bor.
- Menyer — tilpassede menyer, som del III av denne serien vil dekke i detalj.
I FileMaker Pro er disse hensynene mer sammenblandede. En layout kan inneholde både presentasjon og logikk (via script-triggere og beregninger), og selve filen er beholderen for alt.
Den praktiske konsekvensen er at du i 4D vil bruke mer tid på å designe før du bygger. Det føles tregere i starten og raskere senere. FileMaker belønner det å hoppe rett inn; 4D belønner det å planlegge strukturen først.
En grov sammenligning:
| Hensyn | FileMaker Pro (5.0.x) | 4D (Standard Edition 4.6.x) |
|---|---|---|
| Datamodell | Tabeller og relasjoner inne i filen | Struktur definert separat fra UI |
| Brukergrensesnitt | Layouter | Skjemaer |
| Logikk | Skript og beregninger | Metoder (fullverdig språk) |
| Menyer | Innebygde menyer, begrenset tilpasning | Egendefinerte menyer (dekket i del III) |
| Distribusjon | Åpne filen | Kjøretid og kompilerte distribusjonsalternativer |
| Utvidelse | Plug-ins | Plug-ins |
Nettverksforskjeller
Nettverk er et av områdene der de to produktene divergerer på måter som betyr noe for reelle distribusjoner.
FileMaker Pros nettverksmodell er bygget rundt å åpne en delt fil over et nettverk, der FileMaker Server eller peer-to-peer-deling håndterer samtidig tilgang. Den er designet for å være enkel: du deler en fil, andre åpner den.
4Ds nettverksmodell gjenspeiler dens klient/server-arv. 4D-applikasjoner distribueres vanligvis som en klient som kobler seg til en serverprosess, og utvikleren har mer kontroll – og mer ansvar – over hvordan data beveger seg mellom dem. Dette er viktig fordi det påvirker ytelsesoptimalisering, låsing av poster (record locking) og hvordan du designer skjemaer som viser store datasett.
For utvikleren som kommer fra FMP, er nøkkelspørsmålene man bør stille:
- Hvor mange samtidige brukere vil faktisk koble seg til?
- Vil applikasjonen kjøre over et LAN, et WAN eller det åpne Internett?
- Hvor mye data vil hvert skjema hente over nettverket, og kan dette reduseres?
Dette er spørsmål FileMaker-utviklere ofte kan utsette. I 4D har de en tendens til å dukke opp tidligere.
Kjøretider, kompilatoren og hvorfor de betyr noe
To av de mest karakteristiske 4D-konseptene – og to av de minst kjente for FileMaker-utviklere – er runtime (kjøretid) og kompilatoren.
En runtime er en versjon av applikasjonen din som kan distribueres til brukere som ikke eier 4D-utviklingsmiljøet. Det er slik 4D-utviklere leverer frittstående applikasjoner. FileMaker har et analogt konsept i runtime-løsninger, men 4Ds runtime-modell er mer sentral for hvordan produktet brukes kommersielt.
Kompilatoren tar den tolkede 4D-koden din og kompilerer den til en raskere og mer beskyttet form. Kompilering handler ikke bare om hastighet; det handler også om å beskytte kildekoden når du distribuerer en applikasjon. For utviklere som bare har jobbet i FileMaker, der filen er applikasjonen og kilden i praksis er filen, er dette en genuint ny idé.
Slik bestemmer du om du skal kompilere:
- Kompiler når du distribuerer til sluttbrukere og ønsker ytelse og kildebeskyttelse.
- Hold det tolket under utvikling, der den raskere redigerings- og testsyklusen betyr mer enn rå hastighet.
- Planlegg kompilering tidlig, fordi kode som kompileres rent, vanligvis er bedre strukturert kode.
Webhosting, datavisualisering og plug-ins
Begge produktene har webfunksjoner, men de nærmer seg nettet annerledes. FileMakers webpublisering la historisk vekt på å servere layouter til en nettleser. 4Ds webfunksjoner er integrert i språket og serveren, noe som gir utviklere mer programmatisk kontroll over hva som serveres og hvordan.
Datavisualisering (Data charting) er et annet område hvor 4D-utviklere historisk sett har benyttet seg av plug-ins og eksterne verktøy for å generere grafer og rapporter. Hvis visualisering er viktig for applikasjonen din, bør du evaluere dette tidlig i stedet for å anta at det er innebygd.
Plug-ins finnes i begge økosystemene. I FileMaker utvider plug-ins beregnings- og skriptmotoren. I 4D utvider plug-ins språket og kan hekte seg dypt inn i applikasjonen. De praktiske rådene er de samme i begge verdener: foretrekk innebygde funksjoner der de finnes, og betrakt plug-ins som avhengigheter du må vedlikeholde på tvers av versjoner.
Verktøy, hjelpeprogrammer og ressurser
Noen få vaner skiller utviklere som trives med 4D fra de som sliter:
- Les den offisielle dokumentasjonen først. 4Ds dokumentasjon er den autoritative kilden for språket og strukturmodellen.
- Bruk utviklerfellesskapet. Diskusjonslister og brukergrupper var, og forblir, der praktisk 4D-kunnskap bor.
- Behold et personlig bibliotek med metoder. Fordi 4D-kode er tekstbasert og gjenbrukbar, lønner et velorganisert metodebibliotek seg på tvers av prosjekter.
- Lær deg vokabularet bevisst. Termer som struktur, form, metode og runtime har spesifikke betydninger i 4D som skiller seg fra FileMaker-motpartene.
For en bredere bakgrunn om relasjonsmodellen som ligger til grunn for begge produktene, forblir E. F. Codds originale arbeid med relasjonsdatabaser den kanoniske referansen, og Wikipedia-artikkelen om relasjonsmodellen er et rimelig utgangspunkt. For historien til Macintosh-plattformen som ga opphav til begge produktene, er Wikipedia-artikkelen om Macintosh en nyttig kontekst. For generell databaseterminologi er Wikipedia-artikkelen om databasestyringssystemer en nyttig orientering.
Anerkjennelser
Spesiell takk til:
- Brendan Coveney, president ACI US, for hans hjelp med historien til 4th Dimension.
- Will Porter (wporter@polytrope.com) fra POLYTROPE SOLUTIONS, Houston, Texas, The XXII Group, for hans hjelp med korrekturlesing og for å holde meg på rett spor.
- James Fortier (jim40er@halcyon.com) for å levere noen av ressursene og hjelpe til med korrekturlesing av dokumentet.
- Douglas Blew (fridays@impluse.net) for forslag.
- Jim Staples (jstaples@acius.com) fra ACI US, Inc., Macom/Press Relations, for korrekturlesing og kommentarer.
- David Graham (davidgraham@mac.com) for utforming av web- og PDF-oppsett for denne veiledningen.
Vanlige spørsmål
Er 4D i utgangspunktet det samme som FileMaker Pro?
Nei. Begge er databaseprodukter på tvers av plattformer som oppsto på Macintosh på midten av 1980-tallet, og begge har web-funksjoner, men deres underliggende filosofier er forskjellige. FileMaker Pro er dokumentsentrisk, der filen er applikasjonen, mens 4D skiller datastrukturen, skjemaene og metodene i distinkte ansvarsområder. Denne separasjonen er grunnen til at 4D føles mer som et tradisjonelt utviklingsmiljø.
Trenger jeg å kunne et programmeringsspråk for å bruke 4D?
Du kan bygge enkle ting uten dyp programmering, men 4Ds virkelige kraft ligger i språket og metodene. Kommer du fra FileMaker, hvor skript og beregninger dekker mye terreng, vil du finne at 4D forventer at du skriver mer kode for tilsvarende funksjonalitet. Gevinsten er mer kontroll og bedre struktur for større applikasjoner.
Hva er en 4D runtime, og hvorfor betyr det noe?
En runtime er en distribuerbar versjon av applikasjonen din som brukere kan kjøre uten å eie hele 4D-utviklingsmiljøet. Det betyr noe fordi det er slik 4D-utviklere leverer frittstående applikasjoner til sluttbrukere. FileMaker har et lignende konsept, men i 4D er runtime-modellen mer sentral for kommersiell distribusjon.
Hvorfor skulle jeg kompilere 4D-applikasjonen min?
Kompilering forbedrer ytelsen og beskytter kildekoden når du distribuerer applikasjonen. Under utviklingen forblir du vanligvis i tolket modus for en raskere redigerings- og testsyklus, og du kompilerer når du er klar til å levere. Kode som kompilerer rent pleier også å være bedre organisert, så det er verdt å planlegge for kompilering tidlig.
Hvor forskjellig er nettverk mellom 4D og FileMaker Pro?
FileMaker Pros nettverk er bygget rundt deling av en fil, med FileMaker Server eller peer-to-peer-deling som håndterer samtidig tilgang. 4Ds nettverk gjenspeiler klient/server-arven, og gir utviklere mer kontroll og mer ansvar over hvordan data beveger seg mellom klient og server. Det påvirker ytelsesjustering, rekordlåsing og hvordan du designer skjemaer som viser store rekordsett.
Hva vil del II av denne serien dekke?
Del II vil dekke å lage et enkelt 4D-program, og gå gjennom prosessen fra struktur til skjema til metode. Del III vil dekke tilpassede menyer, og del IV vil dekke metoder i mer dybde. Ytterligere deler skal bestemmes, og rekkefølgen og innholdet i hver del er foreløpig.
Copyright © 1994-2000 HPO Soft. Alle rettigheter forbeholdt.
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.