giovedì 10 novembre 2011

Applicazioni Web con il quadro Gioca

Il quadro gioco si definisce come un'alternativa pulita ai gonfio impresa stack Java . Mi piace questa definizione e, dopo essere stato consigliato di provarlo, ho indicato alcuni Pomodori per la codifica di un paio di Ciao, Mondo applicazioni in Play.

Cosa dicono i documenti

Le prime impressioni dalla documentazione è molto buona: Play è una struttura stack completo già si integrano con Hibernate, strumenti memcached ed altri. Questo non è necessariamente la scelta migliore per il lungo termine, ma è una felicità per un programmatore PHP che vuole sperimentare una nuova piattaforma di debug senza eccezioni (sempre che l'integrazione funziona bene.)
Il quadro è scritto in puro Java, in modo che possa interfacciarsi con qualsiasi JAR. Comunque supporta anche Scala codice nativo, ed è per questo che ho scelto per i miei esperimenti. Lo sviluppo di applicazioni web alla Scala da zero richiede di impostare gli script per la compilazione noioso fonti e la distribuzione del file JAR destra. Ancora una volta, la soluzione migliore non è necessariamente di esternalizzare tutto a un quadro, ma nel mio caso è il percorso di minor resistenza.
Il gioco è anche un sistema condiviso nulla, come le applicazioni PHP. È scalabile automaticamente moltiplicando i casi (se ho capito bene, senza fare affidamento su un server di singola applicazione).

Ciao mondo in Java

Scaricare e decomprimere Gioca dove vuoi. Il gioco utility a riga di comando sarà utilizzato per creare nuovi progetti, e deve essere sylinked sul nostro cammino.
Una utility a riga di comando è meglio di automazione di Eclipse, a mio parere: è sempre possibile riutilizzare e integrare queste utilità negli script, mentre di solito non è così con le caratteristiche dell'IDE. Inoltre vorrei utilizzare una struttura non importa quale è il mio IDE: quando ho lavorato con SMILA sono stata costretta a scrivere codice in Eclipse.
Il quadro gestisce la compilazione e il processo di distribuzione stessa. non ho potuto dirlo meglio.
Creazione di un'applicazione e di partenza è davvero semplice, e non produce eccezioni:
1.nuovo gioco helloworld
2.giocare correre helloworld
Se si guardano le helloworld / cartella, si vedrà no. Classe file. Il codice sorgente è compilato da gioco dopo ogni modifica, fino a quando è in esecuzione. Inizialmente, un'applicazione vuota verrà visualizzata una pagina di aiuto.

Caratteristiche di base

Percorsi sono facili da aggiungere, anche se la sintassi avanzata richiede un po 'di studiare. Tuttavia, i percorsi sono davvero integrati e non sarai mai scrivere un URL te stesso, ma solo referr URL come leva per la loro azione corrispondente con * class.method *.
Classi controller sono statici, che è un po 'strano, ma non molto importante dal momento che non ho mai scrivere codice molto in loro. Essi accettano parametri HTTP come parametri di metodo (come Symfony2):
1.pubblico static void sayHello ( @ obbligatori myName String) {
2./ / call con questo url? myName =...
Come potete vedere, Play fornisce le annotazioni per la validazione di input, ma non reindirizzare lontano dall'azione di default: si ha il controllo su ciò che accade dopo una validazione fallita.
I modelli sono resi passandoli loro dipendenze dei dati; Gioca dispone di un linguaggio semplice per i template, che supporta l'ereditarietà per fornire layout.
Il tutorial di Ciao mondo per le applicazioni Java contiene alcuni screenshot e tutto il codice che si desidera controllare.

Scrivere codice Scala 

Supporto alla Scala è fornita da un modulo aggiuntivo, che può essere installato direttamente tramite linea di comando:
1.giocare installare scala
2.nuovo gioco helloworldscala - con scala
3.giocare correre
Le classi di questa applicazione sarà scritto a Scala:
1.Applicazione oggetto si estende controller {
2.importare views.Application._
3. 
4.def index = {
5.html.index ( "L'applicazione Scala è pronto!" )
6.}
7. 
8.}
Dopo aver aggiunto un po 'di logica nel controller, sembra che questo:
01.def sayHello = {
02.myName val = params.get ( "myName" )
03.se (myName == "" ) {
04.lampo + = ( "errore" -> "! Ops, inserisci il tuo nome" )
05.Azione (indice)
06.else {
07.html.sayHello (params.get ( "myName" ))
08.}
09.}
Il modulo Scala è dotato di un motore diverso modello: modello hanno tipi come (String) => Html nel caso di un singolo parametro. Non si estenderà un modello per costruire un layout, ma includerla e passando come argomento Html:
1.@ principali (titolo) {
2.Ciao, mondo
3.}
Questo modello viene stampato Ciao, mondo all'interno del layout, che è costruito nel principale modello. Modelli esterni sono solo gli altri oggetti in cui è possibile passare i parametri come il titolo della pagina.
Il mondo ciao Scala ad esempio offre la stessa applicazione al mondo Java ciao, ma attuate con codice Scala. Ho camminato attraverso di essa e ancora una volta ho raggiunto la fine, senza eccezioni, che non è facile per uno sviluppatore PHP nel mondo JVM. Significa forse il quadro è abbastanza matura per chiunque di utilizzare, e la precisione è scritto con la documentazione è veramente utile per lo sviluppatore ingenuo.
Anche eccezioni sono ben visualizzati e focalizzati:

Conclusioni

Gioca sarà sicuramente la mia scelta per JVM applicazioni basate su web. E 'facile lavorare con e promette di non essere un salasso per la produttività. E 'certamente il modo più veloce per ottenere il codice Scala accessibile via HTTP: non avrete nemmeno bisogno di un IDE per iniziare.

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.