2009-11-10 13 views

Antwort

36

Spielen! ist ein Hauch von frischer Luft in Java und umgeht alle Enterprise Cruft, die im Laufe der Jahre entwickelt hat. Auch der Namespace ist einfach nicht com.playframework abspielen. Es soll eine Antwort auf Rails, Django usw. sein und basiert auf MVC. Es wird benötigt, damit Java in allen, aber tief verwurzelten Enterprise-Shops relevant bleibt.

Spielen! reduziert die Überabstraktion und die schmerzhafte Konfiguration von altem Java. Es ist ein kompletter Stack, der sich nicht auf die alte Servlet/EJB-Methode verlässt oder spielt, wie es Restlet versuchte (macht REST in Servlets einfacher). Abspielen! ist ein großartiges REST-basiertes Java-Framework, das ein gültiger Kandidat für MVC-Frameworks anderer Plattformen ist.

Es ist sehr RESTful und es ist einfach, einen Parameter an eine Java-Methode zu binden. Sie haben JPA auch durch ihren Play-Namespace viel einfacher zu verwenden gemacht.

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 for scripting baut stattdessen verwendet wird, aus mit Maven, die ein paar Leben retten könnte.

Ich war nicht so begeistert von einem Java-Framework seit Red5 oder Restlet. Ein Bonus ist, dass sie einfache Möglichkeiten haben, Ihre App mit der Java-Version von GAE auf Google AppEngine zu nutzen.

6

Das Spiel! Framework ist ein wirklich gutes Stück Software, und die JavaEE aufgeblähte Umgebung sollte inspiriert werden.

Ich zog von Java -> Django wegen des schnellen Zyklus "Datei ändern"/"Browser neu laden", und das Spiel! Framework bringt mich zurück zu meiner Lieblings-Java-Sprache.

Es könnte auch in gewisser Hinsicht mit dem verglichen werden, was Grails und allgemein dynamische Sprachen in Java (Groovy wird in Play verwendet!) Zu importieren versuchen: Einfachheit, Geschwindigkeit und Zuverlässigkeit.

+0

Ich dachte Unit Tests reduzieren die Notwendigkeit für Code, Build, Bereitstellung, Testzyklen in JavaEE, bis Sie den Browser erreichen, sind Sie sicher, dass es funktioniert. – n002213f

+2

ja, aber Komponententests sind nützlich, um die Geschäftslogik zu testen, nichts anderes (Testen der Web-Schnittstelle ist immer ein Schmerz). Also, keine Wahl, wenn Sie in Web-Interface-Entwicklung effizient sein wollen, ist die einzige Möglichkeit, die Geschwindigkeit der Build/Deploy-Zyklen zu erhöhen. – Lastnico

5

Ich bin auch ein Django Benutzer. Ich habe gerade den Play-Rahmen besucht und über seine Dokumentation geblättert. Es hat das simple Design von Django. Es hat sogar App-Engine-Unterstützung eingebaut. Ich bin mir sicher, dass viele Java-Entwickler es unterstützen werden, und es braucht nur einige Zeit, um coole Plugins aus der Community zu sehen.

8

Ich habe Play verwendet! jetzt für ein paar Monate und tatsächlich haben den Rahmen zu lieben. Ich habe ein wenig mit Rails und Django gekämpft, hauptsächlich weil ich kein Fan von dynamisch geschriebenen Sprachen bin. Es gab jedoch nie ein wirklich gutes Webentwicklungs-Framework für Java, um mit diesen zu konkurrieren. In Bezug auf die Produktivität waren Rails und Django die Anführer des MVC Wettrüstens, das vor sich ging. Abspielen! Es ist großartig, es ist prägnant, skalierbar, leistungsstark und es hat eine großartige Community, die ständig wächst. Wenn Sie wirklich eine Sprache wie Python oder Ruby verwenden möchten, können Sie Play! mit Scala auch. Ich versuche gerade jetzt, in Scala zu kommen, weil ich denke, dass es eine große Zukunft hat und es viel Spaß macht, es zu benutzen. Wie auch immer, ich würde es empfehlen, es auszuprobieren!

+0

Spielt das Spiel gut mit Rails/Django im MVC Wettrüsten? – rogerdpack

0

Wir haben vor kurzem begonnen, Play für den Aufbau eines Webservice für verschiedene mobile Anwendungen zu verwenden.Ich komme aus einer Java-Umgebung. Ich kann Ihnen sagen, dass die Lernkurve nicht allzu steil ist - buchstäblich in einer Stunde hatte ich den Webservice bereits mit Basis API laufen. Eine Woche später waren wir auf Amazon Web Services. Ich sehe definitiv eine Zukunft für Play, da es die Web-Entwicklung für Java-Entwickler vereinfacht.

Ein paar Dinge, die mir aufgefallen sind (Versionsverwaltung von Assets usw.) sind immer noch nicht im Framework integriert, aber ich bin mir sicher, dass sie rechtzeitig da sein werden. Ich würde sagen, dass es definitiv einen Versuch wert ist, Play zu spielen.

0

Ich komme aus einem sehr starken Java-Hintergrund. Also meine Antwort hier könnte ein wenig voreingenommen sein.

Spiel bringt endlich in die Java-Community, was Django seit all den Jahren in der Python-Community gewesen ist, aber nur um ein Vielfaches besser. Play ist auf der Grundlage von JVM Vererbung all die Leckerbissen von einer soliden Plattform, die im Laufe der Jahre als die zuverlässigste und skalierbare, die ermöglicht, Anwendungen im Maßstab zu schreiben und zu laufen, bewiesen hat.

Ich möchte sagen, dass ich django versucht habe. Seine Popularität in der Web-Community hat mich neugierig gemacht und ich wollte es versuchen.

Seltsamerweise fand ich es nicht so einfach zu bedienen, wie ich es erwartet hatte. So viele Konfigurationen. Auch können Bibliotheken dasselbe tun und oft nicht gut miteinander spielen. Eine Art zu viel Magie. Darüber hinaus macht es nicht sehr schwierig, die Sicherheit zu verwalten und zu pflegen Web-Anwendung im großen Maßstab. Versteh mich nicht falsch, ich bin mir ziemlich sicher, dass die Leute es geschafft haben, aber nach meiner Erfahrung finde ich java/scala immer noch am besten geeignet, besonders wenn du die Codebasis mit vielen anderen Entwicklern teilst.

IDE-Unterstützung für Java ist es unschlagbar. Wenn du TDD implementierst, wirst du selbst Code umbauen und Dinge auf der täglichen Basis bewegen. Und Java IDEs geben Ihnen all diese Kraft. Mit Typ Sicherheit und mehr.

Mein Take-away ist, dass solange Sie eine einfache CRUD-Anwendung/Prototyp/Spielzeug schreiben, ohne zu viel von erweiterten Funktionen und großem Maßstab zu denken, dann können Sie wahrscheinlich einige Vorteile bei der Verwendung von Python/Django finden. Ansonsten gewinnt das gesamte Java-Ökosystem. Und das Spiel ist das Sahnehäubchen.