Mate: un framework MVC per i nostri progetti

14 aprile 2011

Introduzione

Il mondo dello sviluppo in Flash è pieno di sorprese e di risorse. La sua crescita, che attualmente procede più velocemente rispetto al passato, ha portato un interesse da parte degli sviluppatori e, di conseguenza, un aumento di risorse che possono risultare utili per qualsiasi developer. La risorsa che andiamo a prendere in considerazione oggi è un framework per lo sviluppo con Flex. Stiamo parlando del Mate Framework (si pronuncia Mah-Teh).

Figura 1 – Logo di Mate

screenshot

Un framework comodo da usare, assolutamente non intrusivo, che permette di sviluppare delle Rich Internet Application (RIA) facendo riferimento al paradigma MVC (Model View Controller) e ad un modello molto orientato all’uso di tag ed eventi, nella sua applicazione pratica.

Nello svolgimento di questo articolo, per prima cosa daremo uno sguardo alla terminologia e ai concetti principali che dobbiamo conoscere per poter sfruttarne al massimo le funzionalità. Poi inizieremo a vedere com’è strutturato il framework a livello generico, osservandone le peculiarità e come si è evoluto nel corso della sua storia. Da dove è nato e quali sono le eventuali alternative. Avendo una conoscenza basilare teorica potremo procedere al passo successivo, ovvero la realizzazione di un “Hello World” tipico in modo tale da prendere familiarità con la fase di creazione del progetto. Dopo il primo impatto pratico, per finire, daremo uno sguardo veloce ai vari tag previsti dal framework,. Arriveremo, quindi, alla fine di questo percorso con un bagaglio tutto sommato completo e sufficiente per poter fare qualcosa da soli. Non perdiamo altro tempo ed iniziamo!

Event-Driven? MVC?

Avendo a che fare con il Mate Framework, occorre conoscere e tenere a mente alcuni termini e concetti dell’informatica e della programmazione. Eviteremo di perdere troppo tempo, soffermandoci solo nel cercare di capire i due concetti principali e senza dubbio più importanti: la programmazione ad eventi (in inglese “Event-Driven Programming”) e il pattern MVC (sigla corrispondente a Model – View – Controller, in italiano spesso e volentieri tradotto come Modello – Vista – Controllore).

Iniziamo subito dalla programmazione basata sugli eventi. I più “anziani” sicuramente hanno presente la cosiddetta programmazione strutturata: la lista di istruzioni per eccellenza che viene presa ed eseguita, riga per riga, così come vengono viste sullo schermo durante la fase di modifica del codice. Un esempio su tutti? Il caro vecchio C. Da lì in poi la programmazione è cambiata, si è evoluta e col tempo sono nate nuove tecniche e nuovi metodi per avvicinarsi allo sviluppo. La programmazione basata sugli eventi vede, aldilà di qualsiasi astrazione, ogni programma diviso in due parti. Nella prima parte si controllano le condizioni che possono portare ad una determinata situazione (il click con il pulsante del mouse, un tasto sulla tastiera che viene premuto oppure un messaggio proveniente da un altro programma, o un thread dello stesso in esecuzione); nella seconda parte, invece, viene gestito l’insieme di procedure che rappresentano il “cosa fare al verificarsi di quella condizione”. In inglese questa fase si chiama Event Handling, ovvero gestione degli eventi.

Fortunatamente, utilizzando i vari framework (tra cui anche il nostro Mate), non avremo mai bisogno di doverci scrivere da zero una struttura così suddivisa. Come vedremo, anche in questo caso non dovremo fare altro che “contemplare” le varie condizioni da gestire e scrivere di conseguenza il codice. Come si può ben immaginare, la creazione di questo tipo di tecnica ha avuto una diffusione enorme in tutte le applicazioni che prevedono interfacce grafiche: basti pensare alla stretta correlazione (nei suoi esempi più basilari ed intuitivi) di condizione come input da parte dell’utente e relativo evento da richiamare.

Passiamo ora ad un altro termine sicuramente molto in uso tra gli addetti ai lavori e che merita una dovuta spiegazione: il Pattern MVC.

Sostanzialmente, un pattern può essere definito come uno “stile” di programmazione, nello stendere il proprio codice in un determinato modo, con particolari accorgimenti. Non parliamo di precisi algoritmi, semmai di tecniche. Tuttavia, nel corso del tempo alcuni di questi approcci sono diventati oltremodo adatti alla risoluzione di determinati problemi e creazione di programmi specifici. Questi stili sono stati ribattezzati “Pattern”: una soluzione riutilizzabile nel tempo ad un problema considerato comune.

L’MVC è uno di questi pattern. La concezione alla base che lo contraddistingue dagli altri è un’attenta suddivisione del programma in più sezioni logiche. Da una parte troviamo i dati, la logica del funzionamento del programma. Dall’altra ancora tutto ciò che riguarda la presentazione dei dati e l’input dell’utente. Si fa quindi un’ulteriore suddivisione che porta a comprendere il vero significato del nome: il Model equivale ai dati e alle procedure che operano su di essi; la View, come il nome suggerisce, racchiude tutto ciò che concerne l’output proposto all’utente; il Controller, infine, si occupa di gestire tutto ciò che concerne l’input da parte dell’utente.

In questo modo, in programmi complessi con più persone al lavoro, è possibile dividere sensibilmente e senza ripercussioni negative il carico di lavoro, in modo tale da non avere conflitti di nessun genere. Un caso degno di nota è senza dubbio la libreria Swing per Java: un insieme di sistemi MVC dove ogni componente grafico che viene messo a disposizione dell’utente non è altro che una triade logicamente composta da un Model, un View e un Controller.

Ora che abbiamo ben chiaro il tutto, possiamo procedere verso la pratica. Vediamo come scaricare e configurare per la prima applicazione il nostro framework.

Se vuoi aggiornamenti su Mate: un framework MVC per i nostri progetti inserisci la tua e-mail nel box qui sotto:
 
X
Se vuoi aggiornamenti su Mate: un framework MVC per i nostri progetti

inserisci la tua e-mail nel box qui sotto:

Ho letto e acconsento l'informativa sulla privacy

Acconsento al trattamento di cui al punto 3 dell'informativa sulla privacy