2009-11-10 13 views

risposta

36

Play! è una ventata di aria fresca in Java e scavalca tutto il cruft Enterprise che si è evoluto nel corso degli anni. Persino lo spazio dei nomi non è solo un gioco di com.playframework. Dovrebbe essere una risposta a Rails, Django ecc. Ed è basato su MVC. È necessario che Java rimanga rilevante in tutti i negozi aziendali, ma profondi e ben radicati.

Play! riduce l'eccessiva astrazione e la dolorosa configurazione della vecchia Java. È uno stack completo che non fa affidamento o gioca alla vecchia metodologia Servlet/EJB come ha tentato di fare Restlet (rendendo il REST più semplice in Servlet). Giocare! è un ottimo framework Java basato su REST che è un contendente valido per altre piattaforme MVC framework.

È molto RESTful ed è facile associare un parametro a un metodo java. Hanno anche reso JPA molto più facile da usare attraverso il loro spazio dei nomi di gioco.

play.db.jpa.Model

public void messages(int page) { 
    User connectedUser = User.find("byEmail", connected()); 
    List<Message> messages = Message.find(
     "user = ? and read = false order by date desc", 
     connectedUser 
    ).from(page * 10).fetch(10); 
    render(connectedUser, messages); 
} 

Python viene utilizzato per lo scripting invece che costruisce con Maven che potrebbe salvare qualche vita.

Non sono stato così entusiasta di un framework Java da Red5 o Restlet. Un bonus è che hanno modi semplici per ottenere la tua app su Google AppEngine, utilizzando anche la versione Java di GAE.

6

The Play! framework è un ottimo software e l'ambiente gonfio di JavaEE deve essere ispirato.

Mi sono trasferito da Java -> Django a causa del ciclo veloce "modifica file"/"ricarica browser" e il gioco! quadro mi fa tornare alla mia lingua Java preferita.

Potrebbe anche essere paragonato in alcuni termini a quello che Grails e in generale i linguaggi dinamici in Java (Groovy è utilizzato in Play!) Stanno cercando di importare: semplicità, velocità e affidabilità.

+0

Ho pensato che i test delle unità riducessero la necessità di codice, generazione, distribuzione, cicli di test in JavaEE, quando si arriva al browser, si è certi che funzioni. – n002213f

+2

sì, ma i test unitari sono utili per testare la logica di business, nient'altro (testare l'interfaccia Web è sempre un problema). Quindi, nessuna scelta, se si vuole essere efficienti nello sviluppo dell'interfaccia web, l'unico modo è aumentare la velocità dei cicli di build/deploy. – Lastnico

5

Sono anche un utente Django. Ho appena visitato il framework Play e scuriamo la sua documentazione. Ha il design semplicistico di cui Django è stato conosciuto. Ha persino il supporto per i motori delle applicazioni integrato. Sono sicuro che molti sviluppatori Java lo supporteranno, e ci vuole solo del tempo per vedere fantastici plugin dalla community.

8

Ho utilizzato Play! ora per alcuni mesi e in effetti sono arrivato ad amare il quadro. Ho faticato un po 'con Rails e Django, soprattutto perché non sono un fan delle lingue tipizzate dinamicamente; tuttavia, non c'era mai un buon framework di sviluppo web per Java per competere con questi. In termini di produttività, Rails e Django erano i leader per la corsa agli armamenti MVC in corso. Giocare! è fantastico, è conciso, scalabile, potente e ha una grande comunità che cresce in continuazione. Se stai ancora usando un linguaggio come Python o Ruby, puoi usare Play! anche con Scala. Sto davvero cercando di entrare in Scala adesso perché penso che abbia un grande futuro ed è molto divertente da usare. Ad ogni modo, consiglierei di provarlo!

+0

così gioca bene con rail/django nella corsa agli armamenti MVC? – rogerdpack

0

Abbiamo recentemente iniziato a utilizzare Play per creare un servizio web per varie applicazioni mobili.Vengo da un ambiente Java. Posso dirti che la curva di apprendimento non è poi così ripida - letteralmente in un'ora ho avuto il webservice già in esecuzione con l'API di base. Una settimana dopo eravamo su Amazon Web Services. Sicuramente vedo un futuro per Play in quanto semplifica lo sviluppo web per gli sviluppatori Java.

Un paio di cose che ho notato tuttavia (versione delle risorse, ecc.) Non sono ancora integrate nel framework, ma sono sicuro che saranno lì in tempo. Direi che vale sicuramente la pena provare con Play.

0

Provengo da uno sfondo java molto forte. Quindi la mia risposta qui potrebbe essere un po 'parziale.

Play finalmente porta alla comunità java ciò che django è stato per tutti questi anni nella comunità Python, ma solo in un modo migliore. Play è costruito sulla jvm quindi l'eredità tutte le chicche da una solida piattaforma che si è dimostrata negli anni quella più affidabile e scalabile che consente di scrivere ed eseguire applicazioni su larga scala.

Voglio dire che ho provato django. La sua popolarità tra la comunità web mi ha reso curioso e volevo provarlo.

Stranamente non l'ho trovato facile da usare come mi aspettavo. Tante configurazioni. Anche le biblioteche possono fare la stessa cosa e spesso non giocano molto bene l'una con l'altra. Un modo troppo magico. Inoltre, non avere la sicurezza del tipo rende molto difficile gestire e mantenere l'applicazione web su larga scala. Non fraintendetemi, sono abbastanza sicuro che la gente sia riuscita a farlo, ma nella mia esperienza trovo ancora java/scala più adatto per questo, specialmente quando condividete il codice base con molti altri sviluppatori.

Il supporto IDE per Java è imbattibile. Se implementi TDD, ti ritrovi a rielaborare il codice e a spostare le cose quotidianamente. E gli IDE java ti danno tutto questo potere. Con tipo di sicurezza e altro ancora.

Il mio take away è che finché ti ritrovi a scrivere una semplice applicazione/prototipo/giocattolo CRUD senza nemmeno pensare troppo a funzioni avanzate e su larga scala, allora probabilmente puoi trovare alcuni vantaggi nell'usare python/django. Altrimenti l'intero ecosistema java vince a mani basse. E il gioco è la ciliegina sulla torta.