• IT
betterdocs-cat-icon 1-svg

Qualcosa è andato storto?

Condividi con noi la tua opinione per migliorare la nostra documentazione.

    Getting Started

    • Introduzione Instant Developer Cloud
    • Composizione della piattaforma
    • Struttura dei progetti
    • La programmazione relazionale
    • Apprendere l’uso di Instant Developer Cloud

    Struttura di un'applicazione

    • Introduzione (applicazione e sessione)
    • Le videate
    • Classi e librerie
    • Risorse e CSS
    • I pacchetti
    • Programmazione asincrona

    Struttura del database

    • Introduzione (struttura del database)
    • Definizione degli schemi relazionali
    • Scrittura di query ed esecuzione di comandi
    • Gestione dei database nel cloud
    • Il Cloud Connector

    Document Orientation

    • Introduzione Document Orientation
    • Definire Documenti e Collection
    • Utilizzo dei documenti
    • Estensione dei documenti

    Datamap

    • Introduzione Datamap
    • Creazione di liste di documenti
    • Modifica dei documenti con videate di dettaglio
    • Datamap innestate e ricorsive

    IonicUI

    • Introduzione IonicUi
    • Le pagine IonicUI
    • Definire il contenuto delle pagine
    • Il page controller
    • Il metodo app.popup
    • Videate come elementi visuali
    • Personalizzazione di IonicUI
    • Configurazione dei ruoli e degli accessi

    Pannelli e Griglie

    • Introduzione (Pannelli e Griglie)
    • Anatomia di un pannello
    • I pannelli a runtime

    Web API e file system

    • Introduzione Web API
    • Il file system
    • Consumare Web API
    • Esporre Web API
    • Web API in formato OData
    • Utilizzare Web API Instant Developer Foundation
    • Web API in formato OpenAPI

    Sincronizzazione

    • Introduzione sistema di sincronizzazione
    • Scambio di messaggi in tempo reale
    • Document Orientation Remota
    • Sincronizzazione del database offline

    Debugging e Test

    • Introduzione Debugging e Test
    • Strumenti e tecniche di debug
    • Test automatico delle applicazioni

    Traduzioni

    • Introduzione (traduzioni)
    • Processo di traduzione
    • Funzionamento del framework di localizzazione
    • Localizzazione di numeri e date

    Integrazioni di componenti esterni

    • Introduzione (integrazioni di componenti esterni)
    • Integrazione di componenti JavaScript
    • Integrazione di librerie di back-end
    • Integrazione di un plugin Cordova

    Launcher e Pubblicazione

    • Introduzione Launcher
    • I plugin nativi
    • Test delle applicazioni nei launcher
    • Pubblicazione sugli store
    • Configurazioni per gli store
    • Fase di build e di invio
    • Gestione dell’applicazione

    Analitiche e Feedback

    • Introduzione Analytics e Feedback
    • Installazione ed uso di Analytics
    • Raccolta dei feedback degli utenti

    Server di Produzione

    • Introduzione server di produzione
    • I server di Instant Developer Cloud
    • I server My Cloud
    • I server Self Managed
    • Tabella comparativa

    Cloud Connector

    • Cos’è il Cloud Connector
    • Installazione Cloud Connector
    • Configurazione
    • Installazione come servizio
    • Esempio di utilizzo
    • Controllo remoto
    • Note

    Team Works

    • Perché non basta GitHub?
    • Team Works: concetti base
    • Organizzazione del lavoro consigliata
    • Risoluzione dei problemi relativi a Team Works
    • Domande sull’utilizzo di Team Works

    Manuale PWA

    • Cos’è una PWA?
    • Creazione di una PWA su Instant Developer Cloud
    • Life Cycle
    • Installazione PWA
    • Funzionalità
    • Plugin
    View Categories

    Classi e librerie

    Contenuti
    • Tipi di librerie e di classi
    • Proprietà e passaggio di parametri
      • Proprietà di sessione (applicazione)
      • Proprietà di videata
      • Proprietà di documento
      • Proprietà di classe

    Nei paragrafi precedenti abbiamo definito due tipi di classi presenti nel progetto: la sessione (app) e le videate (view). Il primo tipo viene gestito autonomamente dal framework, il secondo viene usato per definire l’interfaccia utente dell’applicazione.

    In un progetto Instant Developer Cloud è possibile definire anche altri tipi di classi, sia specializzate che generiche. Le classi specializzate vengono utilizzate per gestire in modo strutturato i dati del database o l’interfaccia verso le webapi, e saranno trattate nei capitoli relativi. 

    Le classi di codice generiche possono essere definite sia a livello di applicazione che all’interno di una libreria. Le librerie sono dei sottoinsiemi riutilizzabili di elementi del progetto; il contenuto di una libreria può essere referenziato da tutte le applicazioni del progetto ed è facilmente esportabile come pacchetto per essere incluso in altri progetti.

    Una classe di codice generica è una classe JavaScript basata su prototype e può contenere proprietà di classe e metodi, sia statici che di istanza. Le proprietà, invece, sono definite solo a livello di istanza, in quanto le proprietà statiche sarebbero condivise fra tutte le sessioni del container generando effetti indesiderabili.

    Per referenziare una classe definita a livello di applicazione è sufficiente usare l’oggetto App, ad esempio:

    let m = new App.MyClass(app);

    Se invece la classe è contenuta in una libreria, si deve anteporre anche il nome di quest’ultima. Ad esempio:

    let m = new App.MyLibrary.MyClass(app);

    Tipi di librerie e di classi #

    Sono disponibili tre diversi tipi di librerie, selezionabili dalla videata delle proprietà delle stesse:

    1. Applicazione: la libreria definisce le interfacce con il framework server o client. Queste librerie non contengono codice specifico ma solo le definizioni; solitamente vengono importate con i pacchetti base del progetto.
    2. Datamodel: questo tipo di libreria definisce l’interfaccia con un determinato tipo di database (o di sistema di memorizzazione dati). Solitamente non vengono mai modificate.
    3. Personalizzata: questo tipo di librerie contiene elementi e codice specifico del progetto in cui sono contenute. È il tipo di default e normalmente è quello che si desidera utilizzare nei propri progetti.

    Anche le classi generiche possono essere di diversi tipi:

    1. Personalizzata: questo tipo di classi sono le più comuni e contengono il codice applicativo specifico del progetto in cui sono contenute.
    2. Stile / Tema: questo tipo di classi servono per personalizzare il tema grafico e lo stile dell’applicazione. In particolare le classi di tipo tema permettono di personalizzare a design time le proprietà del tema dell’applicazione. A tal fine, la proprietà deve avere lo stesso nome di quella del tema e la classe deve essere indicata come la classe “tema” nelle proprietà dell’applicazione.
    tmhRMSzRXI h2gqUzOk8bl3UGCy0zNN1ZsYvDCyowwLOSRmkZppz9Rgbxp7xg4LoYzWEiX65 4cx12kZIYqT69vcNv2 Instant Developer

    Creazione della classe di tipo tema

    eL4cRLlwKXdShhzVGdmVK8iI9SWFH6LoM43tU0h7wNdfMt62D2f8l5IQC0pXfIwIfpgauLIJrKMBy4I2zfkMpe6JbCftow05XPLGMygsQ0Xqgc2TP5tIvRgGWYMY5 nHestUgQNeKI7f etKJB6k5g Instant Developer

    Impostazione della proprietà primary

    VA4 eeZ bwmLfElxoLiinRAaXUhIZnr8zWuX7MseyWme9tjEaYMMadu7sOy00uK2AMsPOpYTxtte 9o3SeoAiLu 0AcOlxtJxU3URqEc 74hCNCqQ23vZC JTUcQSMMZqrLMiWS9dBBou1cBM50sQ Instant Developer

    Impostazione di MyTheme come tema dell’applicazione

    4W cyXz GWHs2Nw0XjrPNDLOJQOFSY8D9UBbKmidjow LYoJ6zHT5buzH0Q0mqM UCpiJgFTolMLvGcfxu lo5wdyU20gF9 w5t6F1RbxuS5 uDvdDRZ5YsVcKb2vgtgB2 6g9GMnTvY5OiaJW3Tw Instant Developer

    Ora il colore primary è definito come red

    1. Elemento: le classi di tipo elemento definiscono l’interfaccia verso un elemento visuale di uno specifico tipo. Per aggiungere al progetto componenti visuali non presenti nelle librerie di tipo è necessario definire una classe di tipo Elemento all’interno di una libreria di tipo Applicazione.
    2. Videata: definisce la classe base di tutte le videate. Non deve essere né usata né modificata. Solitamente viene importata con i pacchetti base del progetto.
    3. Documento: definisce la classe base di tutti i documenti. Non deve essere né usata né modificata. Solitamente viene importata con i pacchetti base del progetto.
    4. Datamodel: definisce un’interfaccia verso un database. Deve essere contenuta in una libreria di tipo Datamodel. Solitamente non viene utilizzata, ma solo importata con i pacchetti base del progetto.

    Proprietà e passaggio di parametri #

    In questo paragrafo abbiamo visto che tutti gli elementi costitutivi di un progetto Instant Developer Cloud sono classi, anche la sessione e le videate.

    Ognuna di queste classi può avere proprietà specifiche, inseribili tramite i comandi dell’IDE. Può essere interessante esemplificare il miglior modo di condividere il valore delle proprietà fra le istanze di queste classi.

    Proprietà di sessione (applicazione) #

    Le proprietà inserite a livello dell’oggetto applicazione vengono memorizzate a livello di ogni singola sessione e possono essere referenziate in tutto il codice applicativo tramite l’espressione app.<nome proprietà>. 

    Un esempio di proprietà che di solito si aggiunge alla sessione è l’oggetto che descrive l’utente collegato. Se ad esempio questa proprietà si chiama loggedUser e la tabella di database corrispondente ha un campo id, si potrà accedere a tale valore in tutta l’applicazione scrivendo app.loggedUser.id.

    Proprietà di videata #

    Le proprietà di videata sono visibili all’interno del codice della videata stessa tramite l’espressione view.<nome proprietà>. Solitamente vengono passate alla videata quando questa si apre tramite le opzioni del metodo di apertura. La videata riceve i parametri nell’evento onLoad.

    Proprietà di documento #

    Un documento è una classe speciale che rappresenta un’entità del framework ORM di Instant Developer Cloud. Le proprietà di un documento possono essere impostate nel costruttore passandole come oggetto. Ad esempio:

    var p = new App.BE.Product(app, {ProductName:”Chai”});

    Proprietà di classe #

    Le proprietà di una classe generica sono visibili all’interno del codice della classe stessa. Le proprietà possono essere impostate dopo aver costruito l’oggetto chiamando un metodo specifico.

    Ti è stato utile?
    Aggiornato il 15 Aprile 2024
    Le videateRisorse e CSS
    Contenuti
    • Tipi di librerie e di classi
    • Proprietà e passaggio di parametri
      • Proprietà di sessione (applicazione)
      • Proprietà di videata
      • Proprietà di documento
      • Proprietà di classe

    Caratteristiche

    • Perché Instant Developer
    • IDE e Ambiente di Sviluppo
    • Pubblicazione Web & Mobile
    • Software Life Cycle & DevOps
    • Database, Integrazione, Sync
    • Collaboration & Workflow

    Soluzioni

    • Freelance
    • Software House
    • Company IT
    • Casi di successo
    • Applicazioni Sviluppate

    Azienda

    • Chi Siamo
    • Contatti
    • Lavora con noi

    Risorse

    • Documentazione
    • Risorse e Tutorial
    • Blog
    • Starter Kit
    • Pricing
    • Inizia Ora
    Crea un account e Inizia Gratis
    • Seguici su Twitter
    • Seguici su Facebook
    • Seguici su LinkedIn
    • Seguici su YoutTubeSeguici su YouTube
    Questo sito è protetto dalla tecnologia reCAPTCHA Enterprise e si applicano l'Informativa sulla privacy e i Termini di servizio di Google.
    Google Policy | Termini
    © Pro Gamma - p.iva, c.f. e iscr. Camera di Commercio Bologna 01985091204 - Sede legale Via D'Azeglio, 51 40123 Bologna - Italia Pro Gamma Instant Developer® è un marchio registrato.
    Privacy Policy | Cookie Policy
    • IT