The future of app development
Corso di Omnis Studio per esperti in presenza a Firenze. 1 e 2 ottobre 2025
Italian Omnis Developer Conference 2025 (ODC 25)
Luogo: Grand Hotel Adriatico Via Maso Finiguerra, 9, 50123 Firenze FI Firenze centro (pochi minuti a piedi dalla stazione centrale)
Data: Mercoledì 1 ottobre 2025 e Giovedì 2 ottobre 2025
Orario: 9.00-17.30
Titolo: Corso di Omnis Studio per esperti
Focus: essere della maggiore utilità possibile agli sviluppatori che utilizzano Omnis.
Contenuti:
Di seguito gli argomenti che saranno approfonditi durante i due giorni, in quest’ambito (molto ampio come si vede) daremo maggiore spazio agli argomenti d’interesse per i partecipanti in aula e l’ordine degli argomenti qui indicato con tutta probabilità cambierà in funzione delle esigenze didattiche che emergeranno.
– Best Practice su come costruire il layout di una applicazione jsClient Web o Mobile.
Verrà presentato un esempio completo che approfondisce come sfruttare al meglio i seguenti argomenti per costruire maschere Responsive e per dare delle linee guida nella creazione di Maschere Web o Mobile:
– SubForm
– Layout BreakPoint
– Eventi evLayoutChanged, evScreenorientation
– Come gestire le proprietà $width, $height, $edgefloat
– Best Pratiche su come fare ad estendere le funzionalità JSClient utilizzando codice Javascript.
Verranno presentati diversi esempi di integrazione in modo progressivo che partiranno dall’integrazione di Javascript nel codice Omnis, fino ad arrivare ad integrare script javascript e classi CSS ad hoc.
– Applicazioni Mobile tramite Wrapper. Accesso al Database locale SqlLite.
Esempi su come interagire con il Database SqlLite con la app in modalità Offline, ma soprattutto Online…
– Applicazioni JSClient Web e Mobile. Capire e Accedere al Local Storage.
Spiegazione dei seguenti comandi:
– Do $cinst.$clientcommand(“savepreference”,row)
– Do $cinst.$clientcommand(“loadpreference”,row).
Esempi di modalità di utilizzo con diverse sorprese molto interessanti.
– Librerie Private
Esempi di utilizzo e approfondimenti relativamente al comando:
$root.$modes.$getapiobject
Quando e come utilizzarlo.
– Applicazioni JSClient Web e Mobile. Eseguire chiamate HTTP dal Client.
Verrà mostrato un esempio su come eseguire chiamate HTTP direttamente dal cliente (senza passare dal Server Omnis) tramite una classe RemoteObject Omnis.
Molto utile se la vostra applicazione si basa su dati esterni di terze parti che vengono richiamati tramite chiamate ad API RESTFul. In questo caso si trarrebbe vantaggio dal recuperarli direttamente tramite il dispositivo dell’utente anziché tramite il server, risparmiando così larghezza di banda e risorse hardware.
– Analisi delle specifiche OpenAPI e creazione di una classe OW3 HTTP Worker
Verrà presentata una procedura guidata, attualmente in fase di sviluppo, che prende una specifica OpenAPI basata su JSON (chiamate RESTFul API – GET, POST, DELETE…) e genera un oggetto OW3 HTTP Worker in grado di chiamare i metodi dalla specifica OpenAPI.
– Best Practice per l’integrazione con Python.
Verrà mostrato un esempio completo nel caso in cui si vogliano implementare delle funzionalità non presenti in omnis ma disponibili in librerie Python.
– Come recuperare le Librerie Python.
– Come integrarle in omnis tramite OW3 Python Worker
– Best Practice per l’integrazione con Node.js.
Verrà mostrato un esempio completo nel caso in cui si vogliano implementare delle funzionalità non presenti in omnis ma disponibili in librerie Node.js.
– Come recuperare le Librerie Note.js.
– Come integrarle in omnis tramite OW3 JavaScript Worker
– Deploy di Omnis Studio in ambiente cloud
– Gestione container e immagini Docker
– Stack con MySQL e Omnis Studio Headless
– Multithreading versus Multiprocessing
- Comprendere le differenze tra Multithreading e Multiprocessing, illustrandone vantaggi, svantaggi e casi d’uso tipici
- Adottare il Multithreading come approccio predefinito per migliorare la reattività e la concorrenza dell’applicazione
- Ricorrere al Multiprocessing solo quando strettamente necessario, ad esempio per operazioni CPU-intensive che beneficiano dell’esecuzione parallela su più core