7 ms·
Play Framework (full stack Java framework with Scala) v1.2 released
- alec 16y agoI tried Play last year and it completely changed the way I thought about Java - hey, it's actually a nice language if you don't make the libraries so stuffy.
- mark_l_watson 16y agoI am doing some work for a Java EE 6 shop right now, and find Play (on my own time) to be refreshing. I am not dissing on Java EE 6, but I think that agile interactive development platforms like Play may end up eating Java EE 6's lunch.
- askedrelic 16y agoI found Play when looking for a monitoring dashboard last year, an intern from Digg released something using the Play framework: https://github.com/digg/awacs https://github.com/digg/awacs It's been not too bad to use.
- larrywright 16y agoMy team has built and released one app built on Play with another about to get started. It's an excellent choice if you need to deploy on the JVM. It's everything you love about Rails, but built on Java.
- lpolovets 16y agoTo echo other comments, Play! + Java is awesome and refreshing. However, I tried Play with Scala a few months ago and found it to be unstable (slower start-up times and regularly occurring segfaults during code reloading). I'm hoping v1.2 is a little better in this regard. Has anyone else tried Play with Scala?
- squidsoup 16y agoIt would be good to know if Play+Scala will have feature parity with Play+Java in the future, or if it's always going to be playing catch up. I'm considering Play for a new project and would prefer to use Scala, but the impression I get is that the Java version is the primary focus.
- peregrine 16y agoI've been using the Play framework in my classes when I need to work in groups of students who only know Java and do not know the web and it has been great! Its quick and easy to get started on and stays out of your way most of the time. Luckily it has a 'eclipse mode' otherwise I think that would have never been a reality.
- robfig 16y agoAfter having chosen Play! for two enterprise projects requiring roughly 1-2 developer years of work, I couldn't be happier with the decision. Play! is by far the best web framework I've ever seen for Java. It is as hot as node.js and socket.io combined! I can't really recommend it highly enough. ====== Strong points: * A life-changingly fast edit-test loop. (Faster than Django!) - Excellent beaning for form parameters (no longer have to mess around with Integer.parseInt(getParameter("objectId"))) - Libraries that obviate the crufty old ones, e.g. instead of Apache WebClient, just use WS.url("google.com ").get(). It has OAuth, Emailers, etc. - Support for new technologies, e.g. WebSockets - Support for non-blocking IO in imperative-looking code. (e.g. you can "waitFor()" a Future, which will cause Play! to suspend your request until the Future is ready, reusing your Thread for another request, and resume where you left off) - Much better interceptor model than J2EE (can apply interceptors to your entire class, to individual methods by annotating, e.g. @Before, @After, @Finally) - A routes file instead of web.xml - Large selection of community modules to do everything from rendering your template as PDF to inlining CoffeeScript in your page. - A framework for running scheduled jobs and for triggering asynchronous jobs from web requests. ====== Weak points: - The default Groovy templates are powerful, but notoriously slow. The template system is supposed to be pluggable, but I haven't yet found a templating technology that feels perfect. - The heavy use of reflection and bytecode manipulation is what makes things so convenient, but I can also imagine it being a turn-off for some. - The Play! codebase is very light on comments. ====== Give it a shot if you haven't already. - Play! Fanboi
- swGooF 16y agoNice summary! I enjoy the Play Framework as well.
- alex_c 16y agoI'm trying to choose a framework for a new project, and Play! has really caught my eye - I'm not really a Java guy, and the whole "enterprise" mindset is a bit of a turnoff for me, so Play is really tempting. One of the concerns internally was that it has a much smaller community than more established frameworks - have you found this to be an issue? Also, it sounds like you used it for a reasonably large project. How does code organization and maintainability compare with traditional frameworks?
- aneth 16y agoI experimented with play prior to 1.0 and loved it, but I went back to rails because I wanted access to more libraries. Search stack overflow for java payment gateway library and you will find my as-yet unanswerred question. The java community seems much more intent on monetizing libraries and having annoying restrictions - in ruby shit is just out there. I actually much prefer Scala as a language (although Play support was not ready then). Ruby is a dog in many ways and common practices in the ruby world are completely against my philosophy, but hey, it works and I know it. I'd definitely recommend checking out Play and Scala.
- rlmw 16y agoCan you be more specific about what Java libraries you're missing? Is it just the payment gateway? I think the following is his question: http://stackoverflow.com/questions/2242653/java-payment-gateway-library http://stackoverflow.com/questions/2242653/java-payment-gate...
- aneth 16y agoThat is my question. At the time there didn't seem to be any easy API for processing payments across multiple processors, e.g. Paypal and Google. The question seems pretty specific: I'm looking for a Java payment gateway library similar to the Rails active_merchant or the libraries available on many other platforms. I've been surprised that I've been unable to find one. I'd like something that supports the major gateways and providers, like Paypal, Google, Amazon, and some direct merchant account providers like Authorize.net. Does such a thing exist in the open source world?
- rudiger 16y agoYou can consider trying what we did: Wrap Active Merchant in a lightweight web service which exposes a RESTful API that Java (or any language) can talk to.
- technomancy 16y ago
- emehrkay 16y agoI implemented play when a php app that I worked on needed access to a jar. Play made it very simple to create a rest server that called classes in the jar. I learned a lot of Java too, it was a good experience. I would recommend it to anyone, hell of a lot easier to get up and running than spring and anything dealing with tomcat.
- rkalla 16y agoJust another "me too" from a dev who moved to Play! after deciding the choice between SpringMVC/Struts2/JSF/Wicket made me want to kill myself and go back to writing ASM. Play really is as easy/fun to use as people say; rolled out a handful of simpler apps (few weeks worth of work) and Play! seems to always have some easy solution to every problem I've run into... never needed to dig deep on the API to work around or design around anything (I seemed to do this a lot with JSF and Wicket).
- Cafesolo 16y agoCan I ask you specifically what kind of problems you ran into when you tried Wicket?
- devinfoley 16y agoThis really sounds great. I can't wait to check it out. I've been hoping for a Java-based framework that can compete with the Rails and Djangos for a while. I made the mistake of investing my time in Grails, and really regret it. I've been wanting to use Scala for building web apps, but Lift reminds me of J2EE all over again. Hopefully Play! with Scala can get it right.
- dabeeeenster 16y agoWhat do you regret about Grails?
- therockhead 16y agoWhat issues did you have with Grails?
- mindcrime 16y agoWhat did you not like about Grails? FWIW, I've been using Grails extensively for the past year or so, and have absolutely loved the experience.
- mgkimsal 16y agoI'll ask as well - what do you regret about time invested in Grails?
- msluyter 16y agoNot sure if this was your issue, but we started using a little Groovy in some of our webapps, and started getting Tomcat crashes due to running out of java permgen space. I believe this is a side effect of Groovy's meta-classes. I think all we had to do was up the permgen space, but it soured certain members of our team to Groovy.
- jzoidberg 16y agoWebSocket support added - outstanding
- Toddward 16y agoWould anyone recommend Play! over Lift?
- icey 16y agoI've spent time with both of these frameworks and the answer is "it depends". I'd recommend Play! over Lift if: * You just want a data entry / CRUD style app * You prefer MVC architecture - Play! will feel pretty familiar if you've used Rails * You don't know Scala I'd recommend Lift over Play! if: * You already know Scala * You want to build more "reactive" apps - Lift has excellent AJAX / Comet support built in * You enjoy trying new ways of doing things - Lift has many unique features, there aren't many similar frameworks They're both fast, have excellent communities, decent documentation (I think Play's documentation is better today, but Lift's has been improving fairly rapidly). You can't go wrong with either one. I should add - you can do AJAX & Comet in Play!. You can do MVC in Lift! One framework is just more adept than the other by default in their respective arenas.
- justwrote 16y agocontinues... Lift: * stateful * no code in the view * there is more than one way to use Lift Play!: * stateless * code in view: similar to erb files in rails pros and cons about code in the view: http://scalate.fusesource.org/code-in-view.html http://scalate.fusesource.org/code-in-view.html My experience: Well lets say on my next project I'll give "code in view" a try :)
- robfig 16y agoI found Lift's documentation terrible. I tried to build something with it about 6 months ago. Every piece of sample code I found used a different combination of classes/frameworks, and it was in the middle of an ORM switch from Mapper to Record (or something). It was a disaster, and I gave it up after a couple days of frustration.
- therockhead 16y agoIt was terrible, now its just about ok, so its moving in the right direction. Manning Lift in Action book really helps though.
- petervandijck 16y agoShameless plug: if anyone really enjoys Play and Scala, and wants to work at a Canadian startup, get in touch. It's what we use, we love it. jobs at gushhq.com or peter @ gushhq.com. http://blog.getgush.com http://blog.getgush.com You have to be in Canada.
- reactor 16y agoI tried most of Java frameworks, Wicket, Structs, Tapestry, (few others too, pyramid, rails) before I settled down with Play!, its awesome framework which gives me lot peace of mind. It just works in a right way and I'm really enjoying working with it. Highly recommends over any other framework. You can use Japid/Cambridge/Mustache as a template if you feel Groovy is slow (but for a production site, its really fast enough, and its syntax is very intuitive)