Salta al contenuto principale
HPO Software Guide passo passo per creare database 4D e app low-code: dalla prima tabella a un'applicazione aziendale completa.

Alcuni link in questo sito sono link di affiliazione: se acquisti tramite questi, potremmo ricevere una commissione senza alcun costo aggiuntivo per te. Questo non influisce mai sui nostri consigli. Consulta la nostra informativa sulle affiliazioni per i dettagli. Informativa sulle affiliazioni.

Nozioni di base sull'apprendimento della quarta dimensione

Questa serie è progettata per aiutare coloro che provengono da FileMaker Pro o che hanno esperienza nella progettazione di database con un’altra applicazione. In questa serie, ogni volta che si utilizza “4D”, si fa riferimento a “4th Dimension” e ogni volta che si utilizza “FMP”, si fa riferimento a “FileMaker Pro”.

Forse l’ostacolo più grande per chi proviene dal mondo di FMP è che 4D è fondamentalmente diverso. La filosofia di base del programma è diversa. I termini sono diversi. Cercherò di introdurre gradualmente il lettore a 4D spiegando come le cose si relazionino tra 4D e FMP. Tuttavia, alcune di queste cose sono molto difficili o impossibili da mettere in relazione perché sono uniche per ciascun prodotto.

I riferimenti per FMP si riferiranno alla versione 5.0.x e per la Standard Edition di 4D alla versione 4.6.x.

Nota: l’attuale prezzo di vendita consigliato per FMP 5.0 è di $249 e per la 4D Standard Edition è di $349. Sia 4D che FMP sono multipiattaforma. Entrambi funzionano su sistemi Macintosh e Windows. Entrambi hanno funzionalità Web.

La Parte I fornirà un po’ di storia sia di FileMaker che di 4D. Potrebbe essere interessante notare che sia 4D che FileMaker sono nati su Macintosh all’incirca nello stesso periodo (metà anni ‘80). La Parte I tratterà anche, senza troppi dettagli, quanto segue:

  • Requisiti di sistema
  • Strutture del programma
  • Differenze di rete
  • Differenze nelle versioni runtime
  • Compilatore
  • Web Hosting
  • Data Charting
  • Plug-in
  • Strumenti/Utilità
  • Risorse
  • Altri URL 4D

Nota: l’ordine seguente e i contenuti di ciascuna Parte sono provvisori.

Correlato: — Un'interfaccia semplice come un foglio di calcolo posizionata sopra un vero database relazionale, con automazioni, visualizzazioni e interfacce condivisibili..

  • La Parte II riguarderà la creazione di un semplice programma 4D
  • La Parte III riguarderà i Menu Personalizzati
  • La Parte IV riguarderà i Metodi
  • Parti aggiuntive da definire (TBD).

Punti chiave

  • 4D e FileMaker Pro sono entrambi nati dalla scena dei database Macintosh della metà degli anni ‘80, ma risolvono gli stessi problemi con architetture molto diverse.
  • La parte più difficile del passaggio da FMP a 4D non è la sintassi, bensì la filosofia sottostante su come i dati, la struttura e il codice siano separati.
  • 4D espone un vero motore relazionale, un linguaggio di programmazione (il linguaggio 4D) e un compilatore, mentre FMP storicamente ha enfatizzato un modello a file singolo basato sul layout.
  • La terminologia differisce nettamente tra i due prodotti, quindi l’apprendimento del vocabolario 4D è un prerequisito per leggere qualsiasi documentazione 4D.
  • Il supporto multipiattaforma e le funzionalità Web sono presenti in entrambi i prodotti, ma il modo in cui ciascuno li implementa — runtime, compilatore e modello di plug-in — differisce significativamente.
  • Questa Parte I è una mappa del terreno; la costruzione pratica inizia nella Parte II.

Perché 4D sembra diverso da FileMaker Pro

Se hai trascorso anni in FileMaker Pro, il tuo modello mentale di un database è probabilmente costruito attorno a un singolo file che contiene tabelle, layout, script e relazioni tutto in un unico posto. Apri il file, vedi un layout, fai clic in un campo e inizi a lavorare. Questo modello è conveniente ed è uno dei motivi per cui FMP è diventato così popolare tra i piccoli team e i citizen developer.

4D ti chiede di pensare diversamente. In 4D, la struttura del database (tabelle, campi, relazioni) è definita in un contesto strutturale separato dai form (l’interfaccia utente) e dai metodi (il codice). Questa separazione è più vicina al modo in cui sono organizzati i tradizionali database relazionali client/server, ed è il cambiamento concettuale più importante che uno sviluppatore FileMaker debba compiere.

Un modo utile per inquadrare la differenza:

Se stai facendo acquisti: — Un generatore di app a basso codice che si collega alla più ampia suite Zoho e prezzi per utente anziché per app..

  • FileMaker Pro tende a essere document-centric. Il file è l’applicazione.
  • 4D tende a essere structure-centric. La struttura definisce il modello dati e l’applicazione è costruita sopra di essa con form, metodi e menu.

Nessuno dei due approcci è “migliore” in astratto. FMP ottimizza per una rapida iterazione a singolo sviluppatore. 4D ottimizza per applicazioni più grandi, più strutturate e più programmabili, motivo per cui ha attratto sviluppatori che avevano bisogno di un vero linguaggio di programmazione e di un compilatore.

Una breve storia condivisa

Vale la pena soffermarsi sul fatto che sia 4D che FileMaker siano nati su Macintosh all’incirca nello stesso periodo, a metà degli anni ‘80. Non è una coincidenza. Il Macintosh originale creò un nuovo mercato per gli strumenti di database desktop che potevano essere utilizzati da singoli individui e piccole imprese piuttosto che da operatori di mainframe.

FileMaker iniziò come prodotto Macintosh e fu successivamente acquisito e sviluppato da Claris (una spin-off di Apple), motivo per cui così tanti utenti Mac di lunga data associano FileMaker all’ecosistema Apple. 4D è stato sviluppato da ACI (ACI US negli Stati Uniti) ed è cresciuto fino a diventare un ambiente di sviluppo multipiattaforma con il proprio linguaggio e compilatore.

Entrambi i prodotti sono sopravvissuti alla transizione dal classico Mac OS a Windows e ai moderni sistemi operativi, e entrambi hanno aggiunto funzionalità Web. Questo lignaggio condiviso è il motivo per cui uno sviluppatore FileMaker può spesso leggere la documentazione 4D e riconoscere i problemi che vengono risolti, anche quando le soluzioni appaiono insolite.

Requisiti di sistema e realtà multipiattaforma

Sia 4D che FMP sono multipiattaforma. Entrambi funzionano su sistemi Macintosh e Windows. Entrambi hanno funzionalità Web. Questo aspetto è condiviso.

Il punto in cui divergono è il significato di “cross platform” per lo sviluppatore. Nel mondo FileMaker, in genere si sviluppa su una piattaforma e lo stesso file si apre sull’altra, con layout che si adattano. In 4D, lo sviluppo cross-platform è più esplicito: stai creando un’applicazione compilata o interpretata che deve essere distribuita su ciascuna piattaforma di destinazione, e devi essere consapevole dei comportamenti specifici della piattaforma, dei percorsi dei file e delle convenzioni dell’interfaccia.

Correlato: — Un generatore di rivolto a portali, directory e strumenti interni, con prezzi forfettari anziché tariffe per utente..

Guida pratica per lo sviluppatore proveniente da FMP:

  • Decidi in anticipo i tuoi target di distribuzione. Se distribuisci solo su una piattaforma, puoi ignorare molte sfumature cross-platform. Se distribuisci su entrambe, pianificalo fin dal primo modulo.
  • Testa sull‘“altra” piattaforma prima di approfondire il progetto. I problemi cross-platform sono economici da risolvere all’inizio e costosi da risolvere tardi.
  • Comprendi il modello runtime. 4D distingue tra l’ambiente di sviluppo e il runtime distribuito, un concetto che gli sviluppatori FileMaker spesso incontrano per la prima volta qui.

Strutture del programma: come i pezzi si incastrano

Questa è la sezione che più ripaga una lettura attenta, perché è qui che la differenza filosofica diventa concreta.

In 4D, i principali componenti strutturali sono:

La nostra scelta: — La piattaforma di database relazionale di lunga durata per i team che necessitano di app personalizzate su desktop, Web e dispositivi mobili da un singolo file..

  • La struttura — la definizione di tabelle, campi e relazioni. Questo è il tuo modello di dati.
  • Moduli — l’interfaccia utente. I moduli sono collegati alle tabelle e sono l’equivalente dei layout di FileMaker, ma sono separati in modo più esplicito dai dati.
  • Metodi — il codice. 4D ha un linguaggio di programmazione completo, e i metodi sono il luogo in cui risiede la logica.
  • Menu — menu personalizzati, che la Parte III di questa serie tratterà in dettaglio.

In FileMaker Pro, questi aspetti sono più amalgamati. Un layout può contenere sia la presentazione che la logica (tramite trigger di script e calcoli), e il file stesso è il contenitore di tutto.

La conseguenza pratica è che in 4D passerai più tempo a progettare prima di costruire. Sembra più lento all’inizio e più veloce in seguito. FileMaker premia l’approccio diretto; 4D premia la pianificazione della struttura in primo luogo.

Un confronto approssimativo:

AspettoFileMaker Pro (5.0.x)4D (Standard Edition 4.6.x)
Modello datiTabelle e relazioni all’interno del fileStruttura definita separatamente dall’UI
Interfaccia utenteLayoutModuli
LogicaScript e calcoliMetodi (linguaggio completo)
MenuMenu integrati, personalizzazione limitataMenu personalizzati (trattati nella Parte III)
DistribuzioneApri il fileOpzioni di distribuzione runtime e compilate
EstensionePlug-inPlug-in

Differenze di rete

Il networking è una delle aree in cui i due prodotti divergono in modi che contano per le implementazioni reali.

Il modello di rete di FileMaker Pro si basa sull’apertura di un file condiviso su una rete, con FileMaker Server o la condivisione peer-to-peer che gestisce l’accesso simultaneo. È progettato per essere semplice: condividi un file, gli altri lo aprono.

Il modello di rete di 4D riflette la sua eredità client/server. Le applicazioni 4D vengono generalmente distribuite come un client che si connette a un processo server, e lo sviluppatore ha maggiore controllo — e maggiore responsabilità — su come i dati si spostano tra di loro. Ciò è importante perché influisce sull’ottimizzazione delle prestazioni, sul comportamento di blocco dei record e sul modo in cui si progettano i moduli che visualizzano set di record di grandi dimensioni.

Per lo sviluppatore proveniente da FMP, le domande chiave da porsi sono:

  • Quanti utenti simultanei si connetteranno effettivamente?
  • L’applicazione verrà eseguita su una LAN, una WAN o su Internet?
  • Quanti dati estrarrà ogni modulo attraverso la rete, e questo dato può essere ridotto?

Queste sono domande che gli sviluppatori FileMaker possono spesso rimandare. In 4D, tendono a emergere prima.

Runtime, il compilatore e perché sono importanti

Due dei concetti 4D più distintivi — e due dei meno familiari agli sviluppatori FileMaker — sono il runtime e il compilatore.

Un runtime è una versione della tua applicazione che può essere distribuita a utenti che non possiedono l’ambiente di sviluppo 4D. Questo è il modo in cui gli sviluppatori 4D distribuiscono applicazioni standalone. FileMaker ha un concetto analogo nelle soluzioni runtime, ma il modello runtime di 4D è più centrale nel modo in cui il prodotto viene utilizzato commercialmente.

Il compilatore prende il tuo codice 4D interpretato e lo compila in una forma più veloce e protetta. La compilazione non riguarda solo la velocità; riguarda anche la protezione del tuo codice sorgente quando distribuisci un’applicazione. Per gli sviluppatori che hanno sempre lavorato solo in FileMaker, dove il file è l’applicazione e il sorgente è effettivamente il file, questa è un’idea genuinamente nuova.

Come decidere se compilare:

  • Compila quando distribuisci agli utenti finali e desideri prestazioni e protezione del sorgente.
  • Resta in modalità interpretata durante lo sviluppo, dove il ciclo di modifica-test più rapido conta più della velocità pura.
  • Pianifica la compilazione in anticipo, perché il codice che compila senza errori è solitamente un codice meglio strutturato.

Web Hosting, Data Charting e Plug-in

Entrambi i prodotti hanno funzionalità Web, ma approcciano il Web in modo diverso. La pubblicazione Web di FileMaker storicamente enfatizzava l’erogazione di layout a un browser. Le funzionalità Web di 4D sono integrate nel suo linguaggio e nel suo server, il che offre agli sviluppatori un maggiore controllo programmatico su cosa viene erogato e come.

Il data charting (creazione di grafici) è un’altra area in cui storicamente gli sviluppatori 4D hanno fatto ricorso a plug-in e strumenti esterni per renderizzare grafici e report. Se la creazione di grafici è importante per la tua applicazione, valutala in anticipo invece di dare per scontato che sia integrata.

I plug-in esistono in entrambi gli ecosistemi. In FileMaker, i plug-in estendono il motore di calcolo e di scripting. In 4D, i plug-in estendono il linguaggio e possono agganciarsi profondamente all’applicazione. Il consiglio pratico è lo stesso in entrambi i mondi: preferire le funzionalità integrate laddove esistano e trattare i plug-in come dipendenze da mantenere tra le versioni.

Strumenti, utilità e risorse

Alcune abitudini separano gli sviluppatori che prosperano con 4D da quelli che faticano:

  • Leggi prima la documentazione ufficiale. La documentazione di 4D è la fonte autorevole per il linguaggio e il modello di struttura.
  • Utilizza la comunità degli sviluppatori. Le mailing list e i gruppi di utenti erano, e rimangono, il luogo in cui risiede la conoscenza pratica di 4D.
  • Mantieni una libreria personale di metodi. Poiché il codice 4D è basato su testo e riutilizzabile, una libreria di metodi ben organizzata ripaga in tutti i progetti.
  • Impara deliberatamente il vocabolario. Termini come struttura, modulo, metodo e runtime hanno significati specifici in 4D che differiscono dalle loro controparti in FileMaker.

Per un contesto più ampio sul modello relazionale che sta alla base di entrambi i prodotti, il lavoro originale di E. F. Codd sui database relazionali rimane il riferimento canonico, e l’articolo di Wikipedia sul modello relazionale è un ragionevole punto di partenza.

Per la storia della piattaforma Macintosh che ha dato origine a entrambi i prodotti, l’articolo di Wikipedia sul Macintosh fornisce un utile contesto. Per la terminologia generale dei database, l’articolo di Wikipedia sui sistemi di gestione dei database è un utile orientamento.

Ringraziamenti

Un ringraziamento speciale a:

  • Brendan Coveney, Presidente ACI US, per il suo aiuto con la storia di 4th Dimension.
  • Will Porter (wporter@polytrope.com) di POLYTROPE SOLUTIONS, Houston, Texas, The XXII Group, per il suo aiuto nella correzione di bozze e per avermi mantenuto sulla retta via.
  • James Fortier (jim40er@halcyon.com) per aver fornito alcune risorse e aiutato a correggere le bozze del documento.
  • Douglas Blew (fridays@impluse.net) per i suggerimenti.
  • Jim Staples (jstaples@acius.com) di ACI US, Inc., Macom/Press Relations, per la correzione di bozze e per i commenti.
  • David Graham (davidgraham@mac.com) per aver progettato i layout web e PDF di questa guida.

Domande frequenti

4D è sostanzialmente uguale a FileMaker Pro?

No. Entrambi sono prodotti di database multipiattaforma nati su Macintosh a metà degli anni ‘80 ed entrambi hanno funzionalità Web, ma le loro filosofie sottostanti differiscono. FileMaker Pro è incentrato sul documento, dove il file è l’applicazione, mentre 4D separa la struttura dei dati, i moduli e i metodi in ambiti distinti. Questa separazione è il motivo per cui 4D sembra più un ambiente di sviluppo tradizionale.

È necessario conoscere un linguaggio di programmazione per utilizzare 4D?

Puoi costruire cose semplici senza una programmazione approfondita, ma il vero potere di 4D risiede nel suo linguaggio e nei suoi metodi. Venendo da FileMaker, dove script e calcoli coprono gran parte delle necessità, scoprirai che 4D richiede di scrivere più codice per ottenere funzionalità equivalenti. Il vantaggio è un maggiore controllo e una migliore struttura per applicazioni più grandi.

Cos’è un runtime 4D e perché è importante?

Un runtime è una versione distribuibile della tua applicazione che gli utenti possono eseguire senza possedere l’ambiente di sviluppo 4D completo. È importante perché è il modo in cui gli sviluppatori 4D distribuiscono applicazioni autonome agli utenti finali. FileMaker ha un concetto simile, ma in 4D il modello runtime è più centrale per la distribuzione commerciale.

Perché dovrei compilare la mia applicazione 4D?

La compilazione migliora le prestazioni e protegge il codice sorgente quando distribuisci l’applicazione. Durante lo sviluppo generalmente si resta in modalità interpretata per un ciclo di modifica-test più veloce, e si compila quando si è pronti per la distribuzione. Il codice che viene compilato senza errori tende anche a essere meglio organizzato, quindi vale la pena pianificare la compilazione fin dall’inizio.

Quanto è diverso il networking tra 4D e FileMaker Pro?

Il networking di FileMaker Pro è costruito attorno alla condivisione di un file, con FileMaker Server o la condivisione peer-to-peer che gestiscono l’accesso simultaneo. Il networking di 4D riflette la sua eredità client/server, offrendo agli sviluppatori maggiore controllo e maggiore responsabilità su come i dati si spostano tra client e server. Ciò influisce sull’ottimizzazione delle prestazioni, sul blocco dei record e sul modo in cui si progettano i moduli che visualizzano set di record di grandi dimensioni.

Di cosa tratterà la Parte II di questa serie?

La Parte II riguarderà la creazione di un semplice programma 4D, guidando l’utente nel processo dalla struttura al modulo, fino al metodo. La Parte III tratterà i Menu Personalizzati e la Parte IV approfondirà i Metodi. Ulteriori parti sono da definire, e l’ordine e i contenuti di ogni parte sono provvisori.


Copyright © 1994-2000 HPO Soft. Tutti i diritti riservati.



Prova FileMaker gratuitamente per 45 giorni

La piattaforma di database relazionale di lunga durata per i team che necessitano di app personalizzate su desktop, Web e dispositivi mobili da un singolo file.