Autore: Nicolas Brachfogel

Nicolas Brachfogel
- Proprietario del prodotto e sviluppatore senior - Nicolas Brachfogel è entrato in 4D nel 2017 come Senior Developer (4D Server e networking). In qualità di Product Owner per gestire il rilascio di Apple Silicon, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali, nonché di assicurarsi che le implementazioni delle funzionalità soddisfino le esigenze dei clienti. Diplomato all'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas ha iniziato la sua carriera come sviluppatore di software nel 2001. Dopo diversi anni di codifica in Java e C++, si è specializzato nello sviluppo di client-server per aziende di videogiochi. Come sviluppatore/architetto di server, ha lavorato con successo alle architetture server di molti giochi (Dofus Arena, Drakerz, Trivial Pursuit Go!).
Prodotto blank

Nuova classe per eseguire connessioni TCP

Tradotto automaticamente da Deepl

Con il rilascio di 4D 20 R8, è arrivata una caratteristica che ha cambiato le carte in tavola: la classe TCPConnection. Questa moderna classe sfrutta la sintassi orientata agli oggetti e supporta la gestione delle connessioni di rete asincrone, offrendo una nuova e potente alternativa ai comandi Internet di 4D. Utilizzando TCPConnection, è possibile connettersi praticamente a qualsiasi cosa, che si tratti di server, stampanti, registratori di cassa o dispositivi industriali, rendendolo uno strumento versatile per gestire requisiti di rete unici.

In questa versione è disponibile la funzionalità client TCP, che consente di connettersi a server esterni e di scambiare dati senza problemi.

Prodotto blank

Notarizzazione su macOS: modifiche alla struttura dei componenti

Tradotto automaticamente da Deepl

Il processo di notarizzazione di macOS continua ad evolversi. Sfortunatamente, la struttura interna dei componenti 4D progettata con 4D v11 – intesa a consentire la compatibilità multipiattaforma – non soddisfa più i requisiti introdotti da Apple per i Mac basati sul silicio, rendendo sempre più difficile l’autenticazione dei componenti.

Per semplificare il processo di distribuzione, abbiamo aggiornato la struttura dei componenti a partire da 4D 20 R8. Questa nuova struttura di cartelle rende l’autenticazione e la distribuzione semplici come la distribuzione di un’applicazione. Tuttavia, c’è un’avvertenza importante: la struttura aggiornata non è compatibile con le versioni precedenti di 4D (ad esempio, 4D 20 R7 e precedenti), mentre i componenti più vecchi rimarranno compatibili con le versioni più recenti di 4D.

Anche il componente Build4D è stato aggiornato per riflettere la nuova struttura. Quando si costruiscono i componenti, occorre prestare attenzione e assicurarsi di utilizzare la versione corretta di Build4D.

Promemoria importante: I componenti costruiti con 4D 20 R7 o versioni precedenti possono presentare errori durante la notarizzazione. La soluzione consigliata è l’aggiornamento a 4D 20 R8.

Prodotto blank

Crittografia. Autenticazione e convalida dell’autorità di certificazione

Tradotto automaticamente da Deepl

Nelle ultime versioni, le funzionalità di sicurezza di 4D sono state notevolmente ampliate, in particolare nell’area dei certificati. Tra queste figurano i certificati generati automaticamente per la comunicazione client-server, il supporto per i certificati ECDSA e, con 4D 20 R7, la convalida dell’autorità di certificazione per la comunicazione client-server delle applicazioni inglobate. Alcuni clienti richiedono il massimo livello di sicurezza, il che evidenzia l’importanza di queste funzioni.

Tuttavia, la sicurezza può essere complessa e ci sono state richieste di spiegazioni sul funzionamento di una connessione TLS/SSL e sul ruolo dei certificati. Per questo motivo, prima di addentrarci nelle nuove funzionalità, è utile suddividere i concetti di base della sicurezza e le loro interazioni.

Prodotto blank

Introduzione ai singleton di sessione

Tradotto automaticamente da Deepl

I singleton sono una delle caratteristiche principali di 4D 20 R5. In precedenza, gli sviluppatori potevano sfruttare due tipi di singleton:

  • il singleton di processo, che è unico per ogni processo ma diverso tra i vari processi,
  • e il singleton condiviso, che è unico per l’intera applicazione.

Con 4D 20 R7, stiamo rilasciando un nuovo tipo di singleton: il singleton di sessione!

Prodotto blank

QUIC Network Layer è pronto per la produzione!

Tradotto automaticamente da Deepl

Con la beta di 4D 20, vi abbiamo presentato il nostro nuovo livello di rete: Il livello di rete QUIC.

All’epoca era ancora in fase di sviluppo e quindi rimosso dalla versione ufficiale. Oggi siamo entusiasti di annunciare che il livello di rete QUIC è uscito dalla fase beta ed è ufficialmente pronto per la produzione!

Dopo rigorosi test di carico e il prezioso feedback dei primi utilizzatori, la stabilità e le prestazioni di QUIC sono state convalidate, superandopersino ServerNet in aree chiave. Ora che QUIC ha raggiunto la parità di funzionalità con ServerNet in 4D 20 R5, è il momento ideale per prendere in considerazione il passaggio.

Ma prima lasciate che vi spieghi meglio questa grande novità.

Prodotto blank

Supporto di REST e Qodly per i singleton

Tradotto automaticamente da Deepl

Con 4D 20 R5 abbiamo rilasciato i singleton. Con 4D 20 R6, ora è possibile chiamare direttamente le funzioni esposte dei singleton condivisi tramite chiamate REST. Allo stesso modo, è possibile utilizzare le funzioni esposte dei singleton condivisi negli eventi quando si progettano le pagine Qodly. Vediamo di approfondire queste nuove funzionalità.

Prodotto blank

Gestione delle richieste HTTP con gli agenti HTTP

Tradotto automaticamente da Deepl

In 4D 19 R6 abbiamo introdotto le classi HTTP per modernizzare la sintassi e migliorare le funzionalità dei nostri comandi client HTTP. Partendo da questa base, 4D 20 R6 introduce una nuova potente funzionalità: Gli agenti HTTP. Questi agenti consentono agli sviluppatori di personalizzare e ottimizzare le connessioni ai server HTTP, gestendo la persistenza e il riutilizzo delle connessioni per le richieste HTTP.

Prodotto blank

Deprecazione del livello di rete legacy

Tradotto automaticamente da Deepl

Per gestire la comunicazione tra 4D Client e 4D Server, 4D propone 3 diversi livelli di rete:

  • Legacy,
  • ServerNet,
  • e QUIC.

Il livello di rete Legacy è stato introdotto 30 anni fa in 4D v3. È stato originariamente sviluppato per AppleTalk, migliorato per ISDN, quindi aggiunto a IPX e infine a TCP/IP.

È stato creato per un uso Client/Server molto diverso da quello che 4D fa oggi: è a thread singolo, ottimizzato per reti lente senza crittografia e disponibile per molti protocolli di rete diversi. In quanto tale, non è affatto ottimizzato per le moderne comunicazioni di rete e supporta un numero molto limitato di funzionalità.

Per questo motivo, con 4D 20 R5, abbiamo deciso di rendere obsoleto il livello di rete Legacy e prevediamo di rimuoverlo presto. Vi invitiamo a passare subito a ServerNet se lo state ancora utilizzando. Lasciate che vi spieghi quali vantaggi otterrete dal passaggio.

Prodotto blank

QUIC ora corrisponde alle capacità di ServerNet

Tradotto automaticamente da Deepl

Il livello di rete QUIC ora supporta lo stesso numero di funzionalità del livello di rete ServerNet. Con 4D 20 R5 abbiamo aggiunto il supporto per IPv6, broadcast e Single Sign-on su Windows.

Naturalmente, continueremo a migliorarlo nelle prossime versioni per renderlo il miglior livello di rete che 4D abbia mai avuto.

Ma per il momento, lasciatemi parlare un po’ di più delle ultime funzionalità che abbiamo aggiunto.

Prodotto blank

Classi condivise

Tradotto automaticamente da Deepl

Volete un modo semplificato di usare gli oggetti condivisi, seguendo la sintassi classica degli oggetti e chiamando automaticamente use/end use quando necessario?

Allacciate le cinture: arrivano le classi condivise!