Alla scoperta di Wisej.
di Gabriele Del Giovine
Capitolo 2.
Creare un’applicazione con Wisej.
2.1 Le tipologie di applicazioni Wisej.
Wisej consente di realizzare una molteplicità di tipi di Applicazioni Web. Nell’installazione di base sono presenti diversi template, ognuno dei template è disponibile per il .NET framework classico 4.8 e per .NET 5/6. Di seguito il loro elenco ed una breve descrizione della tipologia.
2.1.1 Web Application.
Crea una applicazione Web con una pagina principale dove possono essere posizionati i controlli dell’interfaccia utente. La pagina riempie tutta la superficie del browser. La navigazione da pagina a pagina avviene semplicemente creando nuovi oggetti Web Page invocandole con il metodo Show().
2.1.2 Web Page Application.
Crea una applicazione Web con una pagina che viene mostrata all’interno del browser. La Web Page Application presenta le tipiche caratteristiche di una finestra di un OS Desktop con bordi, caption e bottoni di riduzione ad icona, massimizzazione e chiusura. Il modello è quello delle Windows Forms ed è implementato anche il meccanismo delle finestre MDI con una finestra contenitore per le altre finestre.
2.1.3 Web Desktop Application.
Crea una applicazione che riproduce un contenitore di un desktop personalizzabile. L’aspetto è quello di un desktop Windows e la sua taskbar. Si possono aggiungere elementi alla taskbar, mostrare finestre flottanti ecc. L’uso di tale template è utile quando occorre creare applicazioni complesse e molto ricchie di funzionalità, anche molto diverse fra di loro, applicazioni che costituiscono di fatto l’ambiente di lavoro dell’utente.
2.1.4 Web User Control.
Crea un progetto di oggetti Wisej (custom control) che possono essere usati in altre applicazioni Wisej come componenti.
2.1.5 PWA Progressive Web Application.
Creano una applicazione Web con una pagina principale similmente alla Web Page Application. Esse aggiungono però tutta la parte JavaScript ed i files di manifesto necessari perché il browser le riconosca come applicazioni PWA rendendo possibile una maggiore velocità di esecuzione ed interazione con il dispositivo in cui la parte client viene eseguita.
2.2 Creare una Web Application.
Una volta installato Wisej nel vs. ambiente di sviluppo Visual Studio vi troverete quindi disponibili i vari template Wisej.
Selezioniamo “Wisej 3 Web Application (.NET Framework) per creare una nuova Web Application usando il Framework .NET 4.8 classico. Le applicazioni “multipiattaforma” rese possibili dal .NET 5/6 saranno oggetto di un apposito capitolo in seguito.
Avremo quindi il ns. Visual Studio (sto usando la versione 2019, ma il discorso vale ovviamente per la 2022) con aperto il ns. progetto/soluzione:
2.2.1 L’uso del Package Manager NuGet.
Iniziamo ad osservare in “Esplora Soluzioni” la sezione relativa al progetto “WisejWebApplication” (è il nome che abbiamo dato al ns. progetto) per trovare degli elementi interessanti. Iniziamo dal nodo “Riferimenti”. Notate che oltre ai classici riferimenti troviamo il riferimento ad un package NuGet denominato “Wisej-3”. Wisej dalla versione 2.5 usa il gestore di componenti NuGet in modo da facilitare la loro gestione/aggiornamento. Andando infatti nel menu Visual Studio “Strumenti – Gestione Pachetti NuGet – Gestione Pacchetti NuGet per la soluzione” o più correttamente facendo click con il tasto destro del mouse sul Nodo principale del progetto “WisejWebApplication” e selezionando la voce di menu “Gestisci Pacchetti NuGet” vi verrà proposta questa schermata
Di default l’origine pacchetto NuGet è locale e fa riferimento alla cartella in cui avete installato Wisej nella vs. postazione di sviluppo:
Per gestire al meglio il package NuGet va fatta questa modifica nelle opzioni Visual Studio :
2.2.2 Il tipo di progetto .NET.
Andando ad osservare le proprietà del progetto osserviamo questo:
Si tratta quindi di una “Libreria di classi” basata su .NET 4.8 e priva di un oggetto di avvio.
2.3 I files principali dell’applicazione.
2.3.1 Il file Web.Config.
Tecnicamente un’applicazione Wisej è lato server un’applicazione .NET molto simile ad un’applicazione ASP.NET. Condivide con ASP.NET il fatto di essere ospitata dall’interno di un Web Server e ne condivide il fatto di avere il medesimo sistema di gestione della configurazione, basato sul file Web.Config. Tale file è sostanzialmente quello usato da ASP.NET e funziona esattamente secondo gli stessi principi e segue le medesime regole: esso contiene la configurazione dell’applicazione. Al suo interno sono riportati i riferimenti alla configurazione in termini di licenze di Wisej (sezione “configuration – appSettings”) e dei vari moduli ed handlers .NET usati da Wisej (sezioni httpModules, modules, handlers)
2.3.2 I files propri dell’applicazione Wisej.
In “Esplora Soluzioni” nella sezione relativa al progetto “WisejWebApplication” troviamo una serie di files che costituiscono la parte comune di tutte le Web Application Wisej, i files “Default.html”, “Default.json”, “Program.cs” (o “Program.vb” se usate Vb.Net) e la cartella “Themes”.
2.3.2.1 Il file Default.html.
Default.html viene usato perché, come accennato un’applicazione Wisej è sostanzialmente un’applicazione ASP.NET e può essere ospitata in un processo di esecuzione assieme ad altri componenti ASP.NET e condividerne oggetti come contesti di sicurezza, Application e Session (questo tema sarà oggetto di una più approfondita discussione data l’importanza). La sua funzione è quindi quella di caricatore dell’applicazione Wisej. Non è obbligatorio che si chiami Default.html dato che segue la configurazione relativa ai default documents presente nel Web.Config.
Osserviamone il contenuto standard:
<!DOCTYPE html>
<html>
<head>
<title>WisejWebApplication</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge;IE=11" />
<script src="wisej.wx"></script>
</head>
<body>
</body>
</html>
Il caricatore vero è proprio è il file “wisej.wx” che contiene il runtime JavaScript necessario al client browser. Il file viene generato dinamicamente in memoria nel momento del primo avvio dell’applicazione.
2.3.2.2 Il file Default.json.
Questo file contiene i parametri di configurazione dei moduli/handler Wisej, incluso l’assembly con il metodo di avvio dell’applicazione (parametro “startup”) ed il nome della pagina di html di default (parametro “url”).
2.3.2.3 Il file Program.cs (o .vb).
Il file “Program.cs” o il file contenente il sorgente del metodo invocato dal parametro “startup” specificato nel file “default.json” contiene il codice .NET di avvio dell’applicazione Wisej. Da quel metodo poi vengono invocati gli altri metodi dell’applicazione. Solitamente il codice in esso contenuto è molto semplice e contiene la creazione dell’oggetto che implementa la pagina principale dell’applicazione o comunque il codice di predisposizione dell’applicazione stessa, come ad esempio il caricamento di parametri di configurazione qualora non si voglia usare il file Web.Config oppure reperimento di parametri di query string, identità dell’utente eccetera.
using System;
using Wisej.Web;
namespace WisejWebApplication
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
Window1 window = new Window1();
window.Show();
}
//
// You can use the entry method below
// to receive the parameters from the URL in the args collection.
//
//static void Main(NameValueCollection args)
//{
//}
}
}
2.3.2.4 La cartella Themes.
La cartella Themes contiene i temi ed i mixin (frammenti di temi) realizzati con il Wisej Themes Editor che per necessità applicativa devono compiere un “override” del tema di default indicato nel file “Web.Config” o nel metodo di avvio. I Temi saranno oggetti di una trattazione dedicata.
2.4 L’ambiente di esecuzione durante lo sviluppo.
Wisej nella sua esecuzione lato server è un’applicazione .NET e nello specifico un’applicazione ASP.NET seguendo i canoni propri di .NET.
Nella fase di sviluppo possono essere usati i Web Server IISExpress (usato come default) oppure il server IIS installato localmente. Relativamente al filesystem l’applicazione si trova in una cartella che contiene i files di bootstrap (default.html, default.json) e una sottocartella “bin” con gli assembly .NET referenziati. Nel caso della nostra prima Web Application avremo questa situazione:
Le cartelle “de”,”es”,”it” ecc presenti nella cartella “bin” contengono i files di risorsa di Wisje in funzione della lingua scelta dall’utente.
2.4 L’ambiente di esecuzione a runtime.
A runtime l’ambiente è simile a quello di sviluppo con alcune differenze:
In ambiente Windows viene usato il web server IIS completo e non la versione IISExpress;
Nel file Web.Config deve essere specificata la chiave di licenza server di Wisej;
Nella struttura di filesystem debbono essere riportati i soli files di bootstrap (Web.Config, defaulti.html, default.json, la cartella Themes e nella sottocartella “bin” solo i files necessari all’esecuzione.
2.5 Eseguire l’applicazione nell’ambiente di sviluppo.
Come in tutte le applicazioni sviluppate in Visual Studio è sufficiente lanciare la compilazione e l’esecuzione in debug usando il tasto funzione “F5” o l’icona di avvio presente sulla barra dei menu.
Per l’esecuzione della parte client potete scegliere quale browser usare fra Microsoft Edge, Firefox, Chrome ed Internet Explorer. Una volta compilato ed avviato la nostra Web Page application comparirà nel ns. browser
Nel prossimo capitolo inizieremo ad esplorare le varie superfici di disegno di Wisej ed inizieremo ad esplorare i vari oggetti visuali e non visuali messi a disposizione.
Note legali e diritti d’autore.
Wisej è un prodotto di proprietà di © Ice Tea Group LLC https://www.wisej.com
L’autore del testo, Gabriele Del Giovine, permette di distribuire, modificare, creare opere derivate dall'originale, anche a scopi commerciali, a condizione che venga riconosciuta una menzione di paternità adeguata, indicato se sono state effettuate delle modifiche.
Tags:
No responses yet