Dimitri De Franciscis

Consulente software freelance

Primary links

  • Homepage
  • Chi sono
  • Pubblicazioni
  • Curriculum Vitae
  • Libri e guide
  • Fotografia
  • Pittura
  • Contattami
Home Can you Play?

Impariamo ad usare The Play Framework - I parte

Submitted by dimitri on Mar, 02/03/2010 - 16:09
  • Informatica
  • analisi
  • balsamiq
  • controller
  • framework
  • hibernate
  • java
  • jpa
  • mockup
  • model
  • mvc
  • play
  • view
  • web application

Introduzione

Il mondo Java, si sa, è stato da sempre molto affollato. Il problema maggiore, in questo ecosistema, è sempre stata la complessità: bisogna destreggiarsi fra una moltitudine di file di configurazione, linguaggi (oltre a Java bisogna anche conoscere SQL e/o JPQL, XML, JSP o JSF, HTML, CSS, javascript ...), specifiche e convenzioni, il tutto peggiorato dalla constatazione che ben poche implementazioni dello standard JEE sono veramente conformi al 100% e di conseguenza "intercambiabili"; i motivi che vanno da omissioni nella specifica stessa, alla necessità di migliori performance, a veri e propri bug.

Le tecnologie JEE comunque hanno prodotto e continuano a produrre ottime applicazioni di fascia alta, ma solo da poco hanno cominciato ad accorgersi che anche i progetti cosiddetti "minori" hanno bisogno di essere valorizzate. Troppo tardi forse, perché nel frattempo molti contendenti si sono affacciati sulla scena, e promettono di essere molto agguerriti!

Play Framework[1] è uno di questi. In questa serie di articoli vedremo che vantaggi porta, come si installa, come si usa. Se conoscete la "pesantezza" del mondo JEE sarete sicuramente sorpresi dal vedere quanto Play sia "agile", anche nel confronto con le recenti (siamo a Marzo 2010) migliorie apportate a JEE 5 e JEE 6.

Installazione

I requisiti per poter sviluppare con Play sono:

  • JDK 5 (detto anche 1.5) o successivo. Su Linux è necessario che il JDK sia quello della sun (Sun-JDK) oppure OpenJDK, non GCJ;
  • definire la variabile JAVA_HOME in modo che punti al JDK;
  • Python 2.4 o successivo
    • Linux: dovrebbe essere già installato di default;
    • Windows: una distribuzione di Python è inclusa nel download di Play;
  • solo per seguire il tutorial: un sistema di controllo delle versioni come Subversion, Bazaar, Git, CVS, o altro.

Una volta scaricato il pacchetto ed estratti i contenuti in una directory di vostra scelta, troverete due script: play e play.bat. 

  • Note per Linux e altri sistemi Unix-like (MacOSX, BSD, ecc.) : fate in modo che lo script play (uno script Python) sia eseguibile, tramite il comando:
    chmod +x play
  • Note per Windows: in questo caso, ma più in generale per tutte le applicazioni Java, evitare l'uso di spazi nei nomi delle directory, ad esempio "C:\Program Files\Play" e simili;

In ogni caso si consiglia di aggiungere questa directory al PATH di sisterma, in modo da non dover digitare ogni volta il percorso completo.

Il comando play

Se provate ad eseguire il comando play ora, vi comparirà una schermata simile a questa:

~        _            _
~  _ __ | | __ _ _  _| |
~ | '_ \| |/ _' | || |_|
~ |  __/|_|\____|\__ (_)
~ |_|            |__/
~
~ play! 1.0, http://www.playframework.org
~
~ Usage: play cmd [app_path] [--options]
~
~ with, new Create a new application
~ run Run the application in the current shell
~ help Show play help
~

Questo comando è il punto di accesso a tutta una serie di funzioni amministrative che saranno utilizzate durante lo sviluppo del vostro progetto; molti di voi noteranno una certa somiglianza con altri framework molto famosi come Ruby On Rails e Grails, e di certo la somiglianza non è casuale. Play si ispira infatti a questi framework, più che altro dal punto di vista "filosofico": semplicità, automazione, e soprattutto una spartana shell a riga di comando senza wizard colorati e fuorvianti!

Startup del progetto

In questa serie di articoli vedremo creeremo un'applicazione completa per la gestione della propria forma fisica, che chiameremo -molto fantasiosamente- GymTrack. Affronteremo lo sviluppo di questa applicazione molto seriamente, utilizzando tutti gli accorgimenti che si convengono ad un vero progetto professionale!

Per prima cosa bisogna creare la struttura delle directory con il comando:
play new gymtrack

Alla domanda "What is the application name?" risponderemo "GymTrack", Play quindi si occuperà di creare e configurare un'applicazione minimale. Verranno create diverse directory:

  • gymtrack: la directory di base del progetto;
    • app: contiene l'applicazione vera e propria, con i vari modelli, controller, e view;
    • conf: file di configurazione;
    • lib: librerie opzionali;
    • public: file e risorse pubbliche come immagini, CSS e sorgenti javascript;
    • test: test unitari e funzionali.

 

Spostiamoci ora nella directory gymtrack (cd gymtrack) ed facciamo partire il server con il comando:
play run

L'applicazione sarà ora raggiungibile all'indirizzo:
http://localhost:9000/

dove potrete ammirare la schermata di default della nuova applicazione!

 

Analisi dell'applicazione

Prima di tuffarsi a testa bassa nello sviluppo è necessario fissare degli obiettivi e dare delle priorità. L'utilizzo di mockup design si è molto affermato negli utlimi anni, perché consente a personale tecnico e non di discutere su un terreno comune ed evitare il più possibile fraintendimenti e iniziative personali, problemi che si presentano ovunque ci siano delle mancanze nella comunicazione nel team.

Per i nostri mockup utilizzeremo il celebre Balsamiq Mockups per la sua estrema semplicità e il design volutamente "scarabocchiato" che non lascia spazio a commenti del tipo "lì ci voglio più blu, la scritta la voglio in questo carattere, ecc."

Gli use case della nostra applicazione saranno i seguenti:

  • homepage pubblica;
  • pagina di login;
  • dashboard dell'utente, con statistiche e un pannello di comando;
  • form di inserimento attività.

 

Homepage pubblica:

 

 

Pagina di login:

 

 

Dashboard:

 

 

Form di inserimento attività:

 

 

Salvare il proprio lavoro

Abbiamo dichiarato all'inizio dell'articolo che uno degli obiettivi è di realizare un progetto di qualità professionale, diventa quindi indispensabile a questo punto salvare il proprio lavoro su un sistema di controllo delle versioni (VCS). Ce ne sono tanti ormai, ad esempio Subversion, Bazaar, Git, il caro vecchio (e per molti versi superato) CVS, e molti altri; il tutorial ufficiale di Play utilizza Bazaar, ma voi siete liberi di utilizzare ciò che vi pare.

Quale sia il vostro VCS, è importante che le directory tmp e logs vengano ignorate nelle operazioni di add e commit.

In queste directory infatti vengono creati e modificati file temporanei e log, utilizzati solamente durante l'esecuzione dell'applicazione e quindi non utili agli altri sviluppatori o per tenere traccia dell'evoluzione dei sorgenti.

< Can you Play? su Impariamo ad usare The Play Framework - II parte >
  • Aggiungi un commento
  • 1466 letture
  • Share this

Play! framework forum

Submitted by Anonymous on Mar, 04/05/2010 - 17:13.
Hi, nice article, really. So I invite you to join us at http://www.myplayforum.com, a new Play framework community. See you soon! :)
Hey, I also appreciate Balsamiq Mockups, great tool!
  • rispondi

Potresti essere interessato anche a...

  • Impariamo ad usare The Play Framework - II parte
  • Impariamo ad usare The Play Framework - III parte
  • Impariamo ad usare The Play Framework - IV parte
  • Can you Play?
  • Ajax o non Ajax?

Navigazione

  • Contenuti recenti
  • Cerca
  • Tags
  • Articoli più letti

Seguimi

Follow @megadix

Dimitri De Franciscis - Consulente software freelance

Secondary links

  • Note legali
  • Pubblicità su www.megadix.it

Copyright De Franciscis Dimitri - p.iva 05327790969

RoopleTheme