dicembre 16, 2020 · UI5

Creazione di una webapp in OpenUI5

OpenUI5 è un framework HTML/CSS/Javascript per la creazione di applicazioni web orientate al business; è la controparte open source di SAPUI5, e come questo è sviluppato e mantenuto da SAP.

E' pensato per implementare il paradigma MVC (model, view, controller); questo significa che, a far le cose per bene, ogni schermata è composta di due file: un file Javascript che implementa le funzionalità (controller), e un file XML che descrive l'interfaccia utilizzando i componenti messi a disposizione dal framework (view).

In questo primo step vediamo come inizializzare una nuova applicazione, che potrà poi essere servita da un qualunque server web. Useremo tool installati in locale (in contrapposizione con la modalità che va per la maggiore nel mondo SAP, che consiste nell'utilizzare un'IDE proprietaria web-based).

La struttura base di un'applicazione UI5 è abbastanza articolata, quindi, a meno che non si voglia seguire il walkthrough ufficiale per costruirla da zero (cosa consigliabile la prima volta, a onor del vero), conviene utilizzare un tool che inizializza per noi il progetto a partire da un template standard. Il tool in questione è Yeoman, e i template sono forniti direttamente da SAP.

Per prima cosa installiamo le dipendenze globali:

npm install -g yo @sapui5/generator-sapui5-templates generator-easy-ui5

L'inizializzazione vera e propria, da lanciare nella cartella di progetto, è:

yo easy-ui5 newwebapp

Il tool interattivo presenta alcune domande:

? How do you want to name this project? provaUI5
? Which namespace do you want to use? it.tutorial
? On which platform would you like to host the application? Static webserver
? Which view type do you want to use? XML
? How do you want to name your main view? MainView
? Where should your UI5 libs be served from? Local resources (OPENUI5)
? Would you like to create a new directory for the project? Yes

A questo punto yo crea una cartella con il nome scelto (namespace + nome applicazione) nel percorso corrente. In questa cartella viene inizializzato un progetto NPM con un template di applicazione e gli script di sviluppo e build già pronti per essere usati.

Possiamo già vederla all'opera spostandoci nella cartella del progetto e lanciando lo start di npm.

cd it.tutorial.provaUI5
npm start

Npm si occuperà di terminare l'installazione delle dipendenze mancanti e poi avvierà un server di sviluppo sulla porta 8080 con hot reload. Contestualmente dovrebbe essersi aperta la pagina iniziale anche nel browser.

Possiamo provare a eseguire una prima build per vedere che sia tutto a posto. Fermiamo il server di sviluppo (Ctrl+C) e lanciamo:

npm run build:ui

Possiamo provare a servire l'applicazione in locale con un serverino http minimale:

npm install -g http-server
npx http-server uimodule/dist

Sempre alla porta 8080 di localhost adesso dovremmo vedere la build di produzione della nostra piccola e spoglia app. Congratulazioni, il primo passo è fatto.

I successivi sono: