Mokabyte

Dal 1996, architetture, metodologie, sviluppo software

  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti
  • Argomenti
    • Programmazione & Linguaggi
      • Java
      • DataBase & elaborazione dei dati
      • Frameworks & Tools
      • Processi di sviluppo
    • Architetture dei sistemi
      • Sicurezza informatica
      • DevOps
    • Project Management
      • Organizzazione aziendale
      • HR
      • Soft skills
    • Lean/Agile
      • Scrum
      • Teoria della complessità
      • Apprendimento & Serious Gaming
    • Internet & Digital
      • Cultura & Società
      • Conferenze & Reportage
      • Marketing & eCommerce
    • Hardware & Tecnologia
      • Intelligenza artificiale
      • UX design & Grafica
  • Ultimo numero
  • Archivio
    • Archivio dal 2006 ad oggi
    • Il primo sito web – 1996-2005
  • Chi siamo
  • Ventennale
  • Libri
  • Contatti

Nel numero:

179 dicembre
, anno 2012

AlloyUI e applicazioni web

I parte: Introduzione al framework

Avatar
Marco Napolitano

Marco nasce verso la fine degli anni Settanta e si trova presto alle prese con monitor e tastiera di un vecchio Olivetti M24 (a tutt

MokaByte

AlloyUI e applicazioni web

I parte: Introduzione al framework

Picture of Marco Napolitano

Marco Napolitano

  • Questo articolo parla di: Frameworks & Tools, Programmazione & Linguaggi

Cominciamo questa nuova serie con un articolo che ha l’obiettivo di illustrare i concetti fondamentali che stanno alla base di Alloy UI: dall’uso della sandbox, alla manipolazione del DOM e alle chiamate Ajax. Come vedremo, si tratta di un framework dotato di interessanti caratteristiche e funzionalità.

Cos’è Alloy UI

Alloy UI è un framework, sviluppato da Liferay Inc. e introdotto a partire dalla versione 6.0, che si pone l’obiettivo di fornire allo sviluppatore una API semplice e robusta per lo sviluppo di applicazioni web; l’introduzione di Alloy all’interno di Liferay sostituisce l’utilizzo di jQuery utilizzato fino a quel momento.

Si potrebbe definire un framework a tutto tondo in quanto abbraccia tutti i livelli di operatività di un browser: struttura, stile e comportamento. Ciascuno di questi aspetti si concretizza all’interno del framework con elementi specifici, come risulta immediatamente anche dalla homepage del prodotto con le sue famose 3 casette:

Struttura

Fornisce un insieme di taglib per creare form HTML e per disporre gli elementi nella pagina.

Fornisce supporto a HTML5 anche all’interno di Internet Explorer.

Stile

Fornisce supporto a CSS3.

Sfrutta il concetto di progressive enhancement.

Comportamento

Basato sul framework YUI3.

Consente la gestione di DOM, eventi, Ajax, …

Fornisce widget per realizzare dialog, tree, tabs, autocomplete, …

Cos’è YUI

Come recita il sito stesso: YUI is a free, open source JavaScript and CSS library for building richly interactive web applications. Si tratta infatti di un framework sviluppato da Yahoo, molto diffuso, ben documentato e supportato dalla comunità; Alloy estende YUI3, introducendo alcune nuove funzionalità e semplificandone altre.

YUI ha la peculiarità di essere modulare e leggero, in quanto progettato appositamente per la velocità; uno dei punti più interessanti del framework è infatti la possibilità di caricare in memoria i plugin necessari solamente all’occorrenza e non tutti al caricamento della pagina.

È però importante ricordare che non tutte le funzionalità di YUI sono presenti all’interno di Alloy; infatti le tempistiche di rilascio dei 2 framework sono diverse e sebbene YUI si evolva velocemente (al momento in cui si scrive è stata rilasciata la versione 3.7.3), Alloy viene rilasciato insieme a Liferay con maggiore lentezza: è infatti “solo” la 3.4.0 la versione di YUI su cui Alloy si basa attualmente (ossia nella versione rilasciata con Liferay 6.1.1).

Infine è bene precisare che Alloy, pur essendo il framework di riferimento di Liferay, non è vincolato ad essere usato solamente al suo interno; è infatti possibile scaricare unicamente le librerie di Alloy ed utilizzarle nei propri progetti web.

Sandbox

La sandbox è un concetto ereditato direttamente da YUI che consente di fornire struttura al codice Javascript.

  • Consente di dichiarare tutti i moduli (genericamente YUI/Alloy) necessari;
  • risolve automaticamente le dipendenze tra i moduli, pertanto non è necessario dichiararli esplicitamente tutti;
  • i moduli vengono caricati on demand e non tutti al caricamento della pagina;
  • i moduli vengono caricati e messi in cache, pertanto nessun modulo viene caricato duplicato;
  • la visibilità dei dati è confinata alla sandbox, quindi si evitano conflitti e l’utilizzo massivo di variabili globali.

Creazione della sandbox

Sia in YUI che in Alloy è presente un oggetto Javascript globale (e sempre disponibile) che rappresenta un po’ il punto di partenza di tutte le attività; il nome dell’oggetto cambia a seconda del framework di riferimento:

  • YUI per il framework di Yahoo;
  • AUI per il framework di Liferay.

Per creare una nuova sandbox è sufficiente invocare il metodo factory:

var A = AUI();

Una volta creata l’istanza della sandbox, è possibile eseguire il proprio codice al suo interno utilizzando la funzione use:

A.use(moduli_da_usare, funzione_di_callback);

Il primo parametro rappresenta un elenco dei moduli che devono essere agganciati alla sandbox (e caricati secondo quanto visto in precedenza); al termine dell’aggancio viene eseguita la funzione di callback, in modo asincrono, che conterrà la nostra logica applicativa. Vediamo un esempio pratico:

AUI().use('event', 'node', function(A) {
       A.one('#console').html('Ciao mondo!');
});

Come si può vedere, la sandbox utilizza due moduli distinti: event e node. Inoltre la funzione di callback riceve come unico parametro l’istanza della sandbox che andrà poi ad utilizzare internamente.

Taglib

Una delle taglib più importanti fornite da Alloy è quella che consente di definire e di lavorare con la sandbox: . Il suo utilizzo è pensato come sostituto del tag HTML standard

 

Avatar
Marco Napolitano

Marco nasce verso la fine degli anni Settanta e si trova presto alle prese con monitor e tastiera di un vecchio Olivetti M24 (a tutt

Facebook
Twitter
LinkedIn
Avatar
Marco Napolitano

Marco nasce verso la fine degli anni Settanta e si trova presto alle prese con monitor e tastiera di un vecchio Olivetti M24 (a tutt

Picture of Marco Napolitano

Marco Napolitano

Marco nasce verso la fine degli anni Settanta e si trova presto alle prese con monitor e tastiera di un vecchio Olivetti M24 (a tutt
Tutti gli articoli
Nello stesso numero
Loading...

L’evoluzione di Java: verso Java 8

VII parte: Java SE 8. Quasi Lamdba'

D2R Server per mappare e importare ontologie da DB relazionali

III parte: Dump, importazione di modelli, Jena e consigli utili

Appunti di UX design

III parte: Iniziare una professione nuova

Progettazione, sviluppo e gestione del change con modelli UML, framework e strumenti open source

IV parte: Requisiti del piano della configurazione

Command Query Responsibility Segregation pattern

III parte: Introduzione ad Axon framework

Liferay Symposium 2012, Milano

Resoconto della giornata

Nella stessa serie
Loading...

AlloyUI e applicazioni web

IV parte: Creare un modulo personalizzato

AlloyUI e applicazioni web

III parte: Funzioni per l‘auto-complete

AlloyUI e applicazioni web

II parte: Validation Framework

Mokabyte

MokaByte è una rivista online nata nel 1996, dedicata alla comunità degli sviluppatori java.
La rivista tratta di vari argomenti, tra cui architetture enterprise e integrazione, metodologie di sviluppo lean/agile e aspetti sociali e culturali del web.

Imola Informatica

MokaByte è un marchio registrato da:
Imola Informatica S.P.A.
Via Selice 66/a 40026 Imola (BO)
C.F. e Iscriz. Registro imprese BO 03351570373
P.I. 00614381200
Cap. Soc. euro 100.000,00 i.v.

Privacy | Cookie Policy

Contatti

Contattaci tramite la nostra pagina contatti, oppure scrivendo a redazione@mokabyte.it

Seguici sui social

Facebook Linkedin Rss
Imola Informatica
Mokabyte