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.