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 sugli affiliati per i dettagli. Informativa sulle affiliazioni.

Nozioni di base sull'apprendimento della quarta dimensione

Il concetto di runtime è una delle idee più importanti – e più fraintese – nel mondo di 4th Dimension (4D). È il fulcro del modo in cui trasformi un database che hai creato per te stesso in un’applicazione distribuibile che altre persone possono utilizzare, senza consegnare loro le chiavi del codice sorgente o costringerle ad acquistare una licenza di sviluppo completa. Questa sezione spiega cosa sono i runtime, come 4D e FileMaker Pro (FMP) li hanno affrontati in modo diverso e quali vincoli pratici è necessario comprendere prima di pianificare una distribuzione.

Punti chiave

  • Un runtime raggruppa un motore ridotto con i file sviluppati, in modo che gli utenti finali possano eseguire l’applicazione senza possedere il prodotto di sviluppo completo.
  • In 4D, la creazione di runtime è integrata nella Standard Edition e può essere distribuita senza royalty e senza “binding”.
  • 4D Runtime è un’applicazione separata e ridistribuibile che esegue database interpretati e non offre alcuna funzionalità di progettazione.
  • 4D Runtime è per utente singolo per progettazione — non può essere collegato in rete, poiché ogni rete 4D richiede un Server e postazioni client a pagamento.
  • L’approccio di FileMaker Pro richiedeva una Developer Edition e una fase di binding, e nemmeno i suoi file runtime potevano essere collegati in rete.

Cos’è realmente un runtime

Un runtime è un modello di distribuzione. Quando sviluppi un database, lavori all’interno di un ambiente di sviluppo completo che include l’editor della struttura, il progettista dei moduli, l’editor dei metodi e ogni altro strumento di progettazione. Quell’ambiente è potente — ed è costoso, e pericoloso da consegnare a un utente finale che potrebbe accidentalmente (o deliberatamente) alterare la tua struttura.

Un runtime risolve tutti e tre i problemi contemporaneamente:

  • Costo — l’utente finale non ha bisogno di acquistare il prodotto di sviluppo completo.
  • Protezione — l’ambiente di progettazione viene rimosso, quindi la struttura e i metodi non possono essere modificati.
  • Focus — l’utente vede solo l’applicazione che intendevi fargli vedere, con i tuoi menu e la tua interfaccia personalizzati.

Il compromesso è la funzionalità. Un runtime è deliberatamente limitato rispetto al prodotto completo. Capire esattamente come è limitato — e se questo sia importante per il tuo progetto — è il punto fondamentale.

Differenze tra 4D e FileMaker Pro

Sia 4D che FMP offrivano i runtime, ma la meccanica era piuttosto diversa. Il confronto riportato di seguito riflette lo stato dei due prodotti come documentato all’epoca.

Aspetto4D (Standard Edition)FileMaker Pro
Creazione runtimeIntegrataRichiedeva una Developer Edition separata
Binding richiestoNoSì — file legati al motore
RoyaltyDistribuzione senza royaltyRegolata dai termini della Developer Edition
Networking del runtimeNon supportatoNon supportato, nemmeno con FMP Server
Funzionalità di progettazione nel runtimeNessunaNessuna

La differenza architettonica chiave è il binding. FMP richiedeva di legare i file al motore runtime, e quel motore avrebbe funzionato solo con i file che erano stati legati ad esso.

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

4D ha adottato un approccio più flessibile: il motore runtime è semplicemente un’applicazione separata in grado di aprire i database progettati per esso, senza alcun passaggio di binding. Questa flessibilità è una delle ragioni per cui gli sviluppatori 4D tendevano a trovare la distribuzione dei runtime meno complicata.

Il runtime 4D in dettaglio

Con 4D, la possibilità di creare runtime è integrata nella Standard Edition. Puoi creare versioni runtime illimitate e distribuirle senza royalty. Non esiste alcun passaggio di binding. Il motore 4D Runtime è un’applicazione separata, proprio come 4D Standard, ma consente solo l’uso dei programmi 4D creati — non esiste alcuna funzionalità di progettazione.

4D Runtime è designato come ridistribuibile secondo il Contratto di Licenza di 4th Dimension e può essere distribuito liberamente secondo i termini di tale licenza. 4D Runtime consiste esclusivamente nell’applicazione che porta questo nome.

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..

Alcune specifiche comportamentali sono enormemente importanti nella pratica:

  • 4D Runtime può eseguire solo database interpretati. Se desideri distribuire un database compilato, hai bisogno di 4D Runtime Classic, acquistato separatamente, che consente i runtime di versioni compilate.
  • Quando avvii 4D Runtime, il pulsante Nuovo non è presente nella finestra di dialogo Apri Database. Non è possibile creare un nuovo database dall’interno del runtime.
  • La finestra di dialogo Apri Database consente di aprire solo strutture interpretate, e solo database progettati per essere eseguiti nell’ambiente Menu Personalizzati.
  • Se apri un database che non ha una barra dei menu, 4D Runtime si chiude automaticamente. Questo è un requisito tassativo, non un avviso.
  • Non è possibile accedere all’ambiente Utente, né all’ambiente di Progettazione. Se provi a raggiungere l’ambiente di Progettazione — ad esempio, usando la scorciatoia Option-f — 4D Runtime si chiude automaticamente.

Vale la pena interiorizzare quest’ultimo punto. Il runtime non rifiuta educatamente; termina. Questo è un meccanismo di sicurezza deliberato, ma significa che il tuo database deve essere configurato correttamente prima di creare il runtime, altrimenti i tuoi utenti si scontreranno immediatamente con un muro.

Perché i runtime non possono essere collegati in rete

Questo è il vincolo che sorprende di più le persone: i runtime 4D non possono essere collegati in rete. A prima vista sembra una limitazione grave. Ma ha senso una volta compresa l’architettura delle licenze di 4D.

Tutte le reti con 4D richiedono un Server. I Client stessi sono liberi di essere distribuiti, ma è comunque necessario acquistare una licenza per ogni postazione. Poiché il modello server-e-client esiste già come percorso supportato per l’accesso multiutente, l’unico scopo del runtime è l’uso per utente singolo. Il runtime non è in competizione con il Server: occupa una nicchia completamente diversa.

Quindi l’albero decisionale è semplice:

  • Utente singolo, nessun server → un runtime è il giusto veicolo di distribuzione.
  • Più utenti simultanei → sono necessarie licenze 4D Server e client, non un runtime.

Cercare di forzare un runtime in un ruolo multiutente è un vicolo cieco. Pianifica la tua architettura in base a questo fin dall’inizio.

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

Come decidere se un runtime è adatto al tuo progetto

Prima di impegnarti in una distribuzione tramite runtime, valuta onestamente questi criteri:

  1. È per utente singolo? Se più di una persona necessita dell’accesso simultaneo a dati condivisi, un runtime è lo strumento sbagliato.
  2. Interpretato o compilato? 4D Runtime Standard esegue solo database interpretati. Se hai bisogno di una distribuzione compilata, prevedi un budget per 4D Runtime Classic.
  3. Il tuo database utilizza menu personalizzati? Deve farlo, e deve avere una barra dei menu, altrimenti il runtime si chiuderà all’apertura.
  4. Hai rimosso tutte le dipendenze della fase di progettazione? Qualsiasi metodo o modulo che presupponga l’accesso alla progettazione fallirà.
  5. Comprendi i termini della licenza? La ridistribuzione è consentita, ma è regolata dal Contratto di Licenza di 4th Dimension: leggilo anziché dare per scontato.

Se riesci a rispondere a tutte e cinque le domande con sicurezza, un runtime è un modo pulito ed esente da royalty per distribuire il tuo lavoro.

Lista di controllo per la preparazione pratica

Creare un runtime non riguarda tanto un singolo comando quanto la preparazione del database affinché si comporti correttamente una volta rimosso l’ambiente di progettazione. Una lista di controllo utile:

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..

  • Progetta una barra dei menu adeguata e gestisci l’applicazione attraverso l’ambiente dei Menu Personalizzati.
  • Testa prima nell’ambiente Utente. Se il tuo database si comporta male lì, si comporterà ancora peggio in un runtime.
  • Rimuovi o proteggi qualsiasi codice che presupponga l’accesso alla progettazione, inclusi tutti gli elementi attivati dalle scorciatoie della modalità di progettazione.
  • Conferma che il database si apra correttamente senza finestre di dialogo che prevedano un pulsante Nuovo.
  • Decidi tra interpretato e compilato precocemente, perché questo determina se avrai bisogno di 4D Runtime Classic.
  • Documenta gli obblighi di licenza che stai trasferendo ai tuoi utenti.

Il tema ricorrente è che il runtime non perdona le supposizioni. Tutto ciò che l’ambiente completo ti permetteva di trascurare deve essere risolto in anticipo.

Dove i runtime si inseriscono nel contesto più ampio di 4D

I runtime sono un elemento di un quadro di distribuzione più ampio che include requisiti di sistema, strutture dei programmi, differenze di rete, il compilatore, l’hosting web, i grafici dei dati, i plug-in e le utility. Ognuno di questi interagisce con la decisione sul runtime:

  • Il compilatore determina se puoi distribuire in modo interpretato o se necessiti di un runtime compilato.
  • Il networking determina se un runtime sia affatto percorribile.
  • I plug-in devono essere compatibili con il motore runtime che distribuisci.
  • L’hosting web è un canale di consegna completamente separato, distinto dalla distribuzione runtime desktop.

Pensare al runtime come all’opzione di “consegna desktop per utente singolo” — affiancata alla distribuzione multiutente basata su server e alla distribuzione web — mantiene l’intero panorama coerente. Per informazioni sulla piattaforma stessa, consulta l’articolo di Wikipedia su 4th Dimension, e per la categoria più ampia di strumenti che consentono a piccoli team di creare applicazioni aziendali, la panoramica di Wikipedia sulle piattaforme di sviluppo low-code è un riferimento utile. FileMaker, l’altro prodotto qui discusso, è documentato su FileMaker.

Domande frequenti

Cos’è un runtime 4D?

Un runtime 4D è una versione ridotta e ridistribuibile dell’applicazione 4D che può eseguire i database da te sviluppati ma non offre funzionalità di progettazione. Ti consente di distribuire il tuo lavoro agli utenti finali senza richiedere loro l’acquisto del prodotto di sviluppo completo. È integrato in 4D Standard Edition e può essere distribuito esente da royalty.

È possibile utilizzare un runtime 4D da più persone su una rete?

No. I runtime 4D non possono essere messi in rete. Tutte le reti in 4D richiedono un Server e, sebbene i client siano liberi di essere distribuiti, deve essere acquistata una licenza per ogni postazione. Per questo motivo, l’unico scopo del runtime è l’uso per utente singolo, e per le distribuzioni multiutente si dovrebbe utilizzare 4D Server.

Qual è la differenza tra 4D Runtime e 4D Runtime Classic?

4D Runtime Standard può eseguire solo database interpretati. Se devi distribuire un runtime di un database compilato, devi acquistare separatamente 4D Runtime Classic. La scelta tra i due dipende interamente dal fatto che tu intenda distribuire codice interpretato o compilato.

Perché 4D Runtime si chiude quando provo ad aprire l’ambiente di progettazione?

Questo è previsto dal design. Il runtime rimuove deliberatamente ogni funzionalità di progettazione, quindi il tentativo di accedere all’ambiente di progettazione — ad esempio con la scorciatoia Option-f — ne provoca l’uscita automatica. Allo stesso modo, l’apertura di un database senza barra dei menu provoca un’uscita immediata, poiché il runtime si aspetta database creati per l’ambiente dei Menu Personalizzati.

FileMaker Pro richiede il binding per i suoi runtime?

Sì. FMP richiedeva di associare (bind) i file al motore di runtime, e quel motore funzionava solo con i file ad esso associati. Richiedeva inoltre una Developer Edition separata. 4D, al contrario, non ha passaggi di binding e include la creazione del runtime nella Standard Edition.

Posso creare un nuovo database da 4D Runtime?

No. Quando si avvia 4D Runtime, il pulsante Nuovo non è presente nella finestra di dialogo Apri database. La finestra di dialogo consente di aprire solo strutture interpretate e solo database progettati per essere eseguiti nell’ambiente Custom Menus. La creazione e la progettazione del database devono avvenire preventivamente nell’ambiente di sviluppo completo.

Domande frequenti

Cos'è un runtime 4D?

Un runtime 4D è una versione ridotta e ridistribuibile dell'applicazione 4D che può eseguire i database sviluppati ma non offre funzionalità di progettazione. Ti consente di distribuire il tuo lavoro agli utenti finali senza richiedere loro di acquistare il prodotto di sviluppo completo. È integrato nella 4D Standard Edition e può essere distribuito esente da royalty.

È possibile utilizzare un runtime 4D da più persone su una rete?

No. I runtime 4D non possono essere collegati in rete. Tutte le reti in 4D richiedono un server e, sebbene i client siano liberi di distribuirli, è necessario acquistare una licenza per ogni postazione. Per questo motivo, l'unico scopo del runtime è l'uso per utente singolo e le distribuzioni multiutente dovrebbero invece utilizzare 4D Server.

Qual è la differenza tra 4D Runtime e 4D Runtime Classic?

Standard 4D Runtime può eseguire solo database interpretati. Se è necessario distribuire un runtime di un database compilato, è necessario acquistare separatamente 4D Runtime Classic. La scelta tra loro dipende interamente dal fatto che si intenda fornire codice interpretato o compilato.

Perché 4D Runtime si chiude quando provo ad aprire l'ambiente di progettazione?

Questo è previsto dalla progettazione. Il runtime rimuove deliberatamente tutte le funzionalità di progettazione, quindi il tentativo di accedere all'ambiente di progettazione, ad esempio con la scorciatoia Opzione-f, ne provoca l'uscita automatica. Allo stesso modo, l'apertura di un database senza barra dei menu provoca un'uscita immediata, poiché il runtime prevede database creati per l'ambiente Custom Menus.

FileMaker Pro richiede l'associazione per i suoi runtime?

SÌ. FMP richiedeva di associare i file al motore di runtime e quel motore avrebbe funzionato solo con i file ad esso associati. Richiedeva anche una Developer Edition separata. 4D, al contrario, non ha passaggi vincolanti e include la creazione del runtime nella Standard Edition.

Posso creare un nuovo database da 4D Runtime?

No. Quando si avvia 4D Runtime, il pulsante Nuovo non è presente nella finestra di dialogo Apri database. La finestra di dialogo consente di aprire solo strutture interpretate e solo database progettati per essere eseguiti nell'ambiente dei menu personalizzati. La creazione e la progettazione del database devono avvenire in anticipo nell'ambiente di sviluppo completo.


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.