Nuova classe per eseguire comunicazioni UDP
4D 20 R8 ha introdotto la classe TCPConnection, che offre un modo asincrono e orientato agli oggetti per gestire le connessioni client TCP. Poi è arrivata 4D 20 R9 con la classe TCPListener per costruire server TCP. E ora, con 4D 20 R10, completiamo il quadro con la nuova classe UDPSocket, che consente di gestire le comunicazioni UDP tra 4D e qualsiasi macchina remota, sia come client che come server. Ciò è particolarmente utile per l’IoT, il monitoraggio in tempo reale o gli scambi di broadcasting. E la ciliegina sulla torta? Questa classe supporta le comunicazioni UDP preemptive e asincrone.
Infine, questa nuova funzionalità segna il passo finale nella sostituzione del plugin Internet Commands.
Entriamo nei dettagli.
Gestione degli eventi del calendario con Microsoft 365 o Google in 4D: Creare, aggiornare, eliminare
Il lavoro con gli eventi del calendario è una parte fondamentale di molte applicazioni aziendali. Che si tratti di organizzare una riunione di gruppo o di gestire il ciclo di vita di un evento, è essenziale poter creare, aggiornare ed eliminare gli eventi in modo programmatico.
In questo post del blog illustreremo come eseguire queste operazioni utilizzando le classi Office365.calendar o Google.calendar fornite in 4D 20 R10, alimentate dalle API Microsoft Graph e Google Calendar.
Ordinare gli UUID con la versione 7
A partire da 4D 20 R10, gli UUID generati da 4D sono ora in versione 7. Questo aggiornamento consente di ordinare gli UUID in ordine cronologico. Vediamo come funziona.
Gestione ricorsiva delle dipendenze: Più intelligente, più profonda, più sicura
Dopo il lancio della regola della versione Follow 4D, siamo entusiasti di introdurre un nuovo livello di automazione e affidabilità in 4D 20 R10: la risoluzione delle dipendenze completamente ricorsiva.
Sia che stiate aggiungendo, aggiornando o rimuovendo un componente, il Dependency Manager agisce ora in modo ricorsivo, garantendo che ogni azione intrapresa si rifletta accuratamente nell’intero albero delle dipendenze.
Tipizzazione più rigorosa degli oggetti in base alla classe
Con 4D 20 R10, la tipizzazione degli oggetti compie un importante passo avanti, offrendo maggiore sicurezza e controllo sul codice. Invece di verificare semplicemente se un valore è un oggetto, 4D ora verifica che sia un’istanza di una classe specifica. Questo sblocca un completamento automatico più intelligente, una convalida in linea e controlli di compilazione più severi, aiutandovi a individuare tempestivamente gli errori e a scrivere codice più chiaro e manutenibile.
I vantaggi non si fermano alle variabili e ai risultati delle funzioni. Questo miglioramento si applica anche al modello di dati: ora è possibile assegnare una classe definita dall’utente o nativa (come il nuovo 4D.Vector per l’implementazione dell’IA) direttamente a un campo oggetto nell’editor delle strutture. 4D comprende quindi la forma completa dell’oggetto, dal momento della progettazione a quello dell’esecuzione, consentendo un’esperienza di sviluppo più sicura e affidabile.
ORDA – Iniziare con l’evento toccato
ORDA è una caratteristica principale a lungo termine che apre un mondo di nuove possibilità in 4D.
Continuiamo a migliorare ORDA per fornire un codice potente. In questo modo, le vostre applicazioni diventano facili da sviluppare e mantenere. E soprattutto sono ottimizzate con ottime prestazioni per gli utenti finali.
Ecco perché siamo lieti di introdurre in 4D 20 R10 una nuova funzionalità relativa agli eventi sui dati in memoria.
In un tipico percorso utente, i dati necessari all’utente vengono caricati in memoria. Poi vengono sottoposti a modifiche in base alle azioni dell’utente e infine vengono salvati quando l’utente fa clic su un pulsante Salva.
Che ne dite di attivare automaticamente la logica di business quando alcuni dati cambiano in memoria? È ora possibile formattare o preparare i dati il prima possibile prima dell’azione di salvataggio , per avere i dati in uno stato pronto per il salvataggio.
Questo avviene grazie all’evento ORDA toccato sui dati e il vantaggio è notevole.
Volete saperne di più? Continuate a leggere!
Copia-incolla più intelligenti per proteggere i vostri dati
Per motivi di sicurezza e integrità, l’azione di copia-incolla è stata leggermente modificata in base ai contesti in cui vengono eseguite queste azioni. Diamo un’occhiata più da vicino!
ORDA – Iniziare con il costruttore di entità
Il linguaggio 4D supporta il concetto di classi e, di conseguenza, il concetto di constructor.
D’altra parte, il livello di astrazione ORDA, attraverso le classi di modelli di dati, offre un grande vantaggio commerciale. Permette di scrivere codice orientato al business e di “pubblicarlo” proprio come un’API. Datastore, classi di dati, selezioni di entità ed entità sono tutti disponibili come oggetti di classe che possono contenere funzioni, attributi calcolati e alias.
Questo porta le applicazioni a seguire facilmente i principi MVC con un codice potente e ottimizzato.
Per lavorare con un approccio completamente orientato agli oggetti, a partire da 4D 20 R10, le classi di entità possono ora avere un constructor(). Avete bisogno di impostare i valori iniziali quando una nuova entità viene istanziata? Ora è possibile! Continuate a leggere per saperne di più …
Creazione di moduli al volo con i nuovi comandi di origine dati
Nello sviluppo di un’applicazione, spesso è necessario creare moduli in modo dinamico. Ad esempio, si potrebbe voler generare al volo un modulo di ricerca, adattato alle esigenze dell’utente. In 4D esistono due approcci principali per la creazione di moduli dinamici: costruire l’intero modulo in modo programmatico o aggiungere oggetti a un layout di modulo esistente. Per quanto riguarda la seconda opzione, fino ad ora era possibile duplicare gli oggetti con OBJECT DUPLICATEe modificare l’origine dati con OBJECT SET DATA SOURCEutilizzando un approccio classico basato sui puntatori.
Con 4D 20 R10, nuovi e potenti comandi, OBJECT SET DATA SOURCE FORMULA e OBJECT Get data source formulaconsentono agli sviluppatori di vincolare una formula come origine dati degli oggetti del modulo. Inoltre, è possibile assegnare dinamicamente le formule alle proprietà chiave delle caselle di riepilogo con il comando LISTBOX SET PROPERTY come l’elemento corrente, la posizione dell’elemento corrente e gli elementi selezionati.
Questo apre la strada a un approccio più moderno, flessibile e leggibile, grazie soprattutto a espressioni come Form.xx o le classi.
Collegare le applicazioni web a sistemi di terze parti
Oggi le applicazioni web sono diventate parte integrante della nostra vita, offrendo comode funzionalità che fanno risparmiare tempo e semplificano le attività quotidiane. Ad esempio, la creazione di account su varie piattaforme è una delle azioni più frequenti degli utenti sui siti web.
Gli utenti si aspettano che questo tipo di processo sia rapido e accessibile, sia che si tratti di casa, che di pendolarismo o di relax in spiaggia.
Dietro questa semplicità si nasconde una realtà più complessa. Queste operazioni richiedono spesso l’integrazione con sistemi di terze parti, come i servizi di verifica delle e-mail. Ciò introduce sfide legate alla sicurezza, alla continuità dell’esperienza utente e alla protezione dagli attacchi man-in-the-middle.
Per gli sviluppatori, garantire un’esperienza fluida significa gestire le interazioni tra i sistemi esterni e la sessione web 4D. Ciò comporta il mantenimento del contesto dell’utente, recuperando dati, privilegi e l’esatta fase del suo percorso per completare il processo.
Sembra complicato? Non deve esserlo! Scoprite come costruire applicazioni web robuste che comunicano in modo sicuro ed efficiente con sistemi di terze parti con 4D 20R9.
Contattateci
Avete domande, suggerimenti o volete semplicemente entrare in contatto con i blogger di 4D? Lasciateci un messaggio!
* La vostra privacy è molto importante per noi. Fare clic qui per visualizzare il nostro Politica