PureMVC: le ragioni di una scelta

ritratto di Nicola Strisciuglio

In weBeetle, nell'ultimo anno, abbiamo sviluppato molte applicazioni utilizzando Adobe Flex. Alcuni moduli e funzionalità, come ad esempio il Login, si ripetevano in tutte le applicazioni e ci hanno spinto a cercare una soluzione per rendere il nostro codice veramente riutilizzabile. Non si può affrontare lo sviluppo di una serie di applicazioni partendo ogni volta da capo, riscrivendo gli stessi moduli e ripetendo le stesse operazioni: è una perdita di tempo che può, anzi deve, essere evitata per ottimizzare il processo di sviluppo del software.

A questo punto, abbiamo maturato la decisione di utilizzare un framework MVC (Model View Controller), che ci permettesse di garantire il minimo accoppiamento tra i moduli, in modo da rendere il software riutilizzabile ed estendibile. Dopo alcune ricerche, abbiamo ristretto il campo di decisione su PureMVC e Cairngorm, che sono i framework più utilizzati per lo sviluppo di rich internet applications in Flex.

Cairngorm

pro:

  • è sviluppato da Adobe
  • sono disponibili molte risorse

contro:

  • non segue la metodologia DRY (don't repeat yourself)
  • bisogna scrivere molte classi per implementare una sola funzionalità

Lo svantaggio più grande di questo framework è la scrittura di molte classi per l'implementazione di una singola funzionalità. Inoltre, molto codice viene riscritto e ripetuto e, quindi, il software è molto soggetto alla presenza di bugs.

PureMVC

pro:

  • è scritto come framework per Flex, Flash e Air
  • la documentazione e gli esempi sono molto chiari

contro:

  • per gli sviluppatori è necessario utilizzare un sistema di segnalazione diverso da quello nativo di Flex

Le classi da scrivere per implementare una funzionalità sono in numero minore rispetto a Cairngorm. Inoltre, PureMVC implementa un sistema di comunicazione tra i livelli basato sull'invio di messaggi, detti Notification, tra i component. Da questo punto di vista è assicurato un basso livello di accoppiamento tra i moduli. Seguendo le best practices illustrate nella documentazione del framework, il codice risulta molto chiaro e pulito.

In conclusione

Abbiamo scelto PureMVC e non siamo pentiti della nostra scelta. Anzi, siamo veramente entusiasti del framework e della rapidità con cui stiamo sviluppando le applicazioni. Il riutilizzo del codice ha raggiunto il massimo livello in azienda: basti pensare alla funzionalità di login che abbiamo sviluppato una sola volta e che ora stiamo usando in tutti i nostri progetti.